SlideShare una empresa de Scribd logo
1 de 94
Descargar para leer sin conexión
Angular
React
Vue
목적에 맞게
이건희
다우기술
Angular2, React, Spring
목적에 맞게
Web
다우기술
httpswww.facebook.com/gunhee.lee.3572
목적에 맞게
이건희
https://github.com/csk746
csk746@naver.com
프론트 배경과 선택
각 기술 특징
개발 경험
목적에 맞게
1. 프론트 배경과 선택
요즘 프론트
프론트 선택 요소
어떠한 제품을 만들 때 기술을 선택하는 기준?
진입장벽
언어 트렌드
그 시대의 트렌드
jQuery Backbone Angular1 React Angular2 Vue
요즘 프론트
브라우저 성능 프론트엔드 로직
통합개발 분리개발
모놀리틱 마이크로 서비스
프론트선택 요소
클라이언트 / 서버 사이드 렌더링
프레임워크 / 라이브러리
언어
유지보수
클라이언트 / 서버 사이드 렌더링
클라이언트 사이드 서버 사이드
HTML 다운로드
JS 다운로드
JS 구동
Data Fetch
Content View
HTML 다운로드
JS 다운로드
JS 구동
Data Fetch
Content View
Google
Google 검색 또는 URL 입력
Google
GDG
클라이언트 사이드 렌더링
네트워크 비용
빠른 인터렉션
느린 초기 로딩
SEO 어려움
서버 사이드 렌더링
빠른 초기 로딩
SEO적용 수월
프론트, 백엔드 코드 통일
느린 인터렉션
언어
TypeScriptJSX ES6
2.각 기술 특징
코드 구성
Angular
React
React
React
React
React
Vue
정형화되지 않은 것을 정형화 하는 것
커뮤니케이션 비용 증가
“컴포넌트 내부에서 템플릿, 로직 및 스타일이 본질적으로
결합되어 배치되며 컴포넌트의 응집력과 유지보수성이 향상됩니다.”
타입체크
“.each is not a function”
React
리엑트 컴포넌트
props 전달
props 전달
리엑트 컴포넌트
리덕스
props 전달
props 전달
액션
구독
React-Native
Electron
ReactVR
React Web React Native Electron
코드리뷰 or 업무전환 용이
React Web React Native Electron
Vue
Vue
Angular2
React
Virtual DOM
양방향 바인딩
코어와 컴페니언 분리
코드 구조
디렉티브
3.개발 경험
백오피스
SNS
이 발표의 원인이 된 프로젝트들
백오피스
빌링 ( 결제, 정산, 환불, 매출), 통계, 정보관리
백오피스
많은 데이터를 도표화
백오피스
많은 데이터를 도표화
-> 렌더링 뿐만 아니라 모델에 대한 관리도 용이해야 함
백오피스
많은 데이터를 도표화
-> 렌더링 뿐만 아니라 모델에 대한 관리도 용이해야 함
-> 렌더링을 주로 다루는 React, Vue 보다 Angular2
백오피스
다양한 모델을 서버와 주고받음
백오피스
다양한 모델을 서버와 주고받음
-> 타입체크를 상시로 해야함
백오피스
다양한 모델을 서버와 주고받음
-> 타입체크를 상시로 해야함
-> 타입스크립트
백오피스
주문페이지
고객사 정보
고객사 담당자 정보
개설 인스턴스 정보
주문 상품 정보
판킹(정치플랫폼)
각 정치인에 대해 코멘트를 남길 수 있고 팔로우와 좋아요
기능이 있으며 통계정보에 따라 다른 순위정보를 시각화
SNS
버튼(좋아요, 팔로우, 공유)이 많다.
SNS
버튼(좋아요, 팔로우, 공유)이 많다.
-> 이벤트가 많이 일어난다.
SNS
버튼(좋아요, 팔로우, 공유)이 많다.
-> 이벤트가 많이 일어난다.
-> jQuery를 이용한다면 콜백헬…
SNS
안드로이드, IOS동시개발
SNS
안드로이드, IOS동시개발
-> 모바일 개발자가 한명도 없다…
SNS
안드로이드, IOS동시개발
-> 모바일 개발자가 한명도 없다…
-> 하나의 언어로 두개 플랫폼 개발
공유하기 / 팔로우
좋아요 / 분발요망
정치성향
코멘트, 좋아요,
답장, 필터
좋아요, 분발요망,
코멘트, 공유하기
목적에 맞는 기술을 정하기
내가 만드려는 제품의 성격
엔터프라이즈
SNS 쇼핑몰
큰 기능별로 특징 명세
차트
좋아요, 공유 단순 모델
차트
좋아요, 공유
단순 모델
Angular2 React Vue
구조 프레임워크 라이브러리 라이브러리
언어 TypeScript JSX ES6
Virual DOM X O O
서버사이드렌더링 O O O
장점
구조화가 잘 돼있어 유지보수에 용이
구글의 지원
다양한 이벤트 핸들링에 용이
페이스북의 지원
다양한 플랫폼 개발 가능
낮은 진입장벽
Angular2, React의 장점 적용
단점 높은 러닝커브
Redux, Thunk등 많은 필수 라이브러리
렌더링, 로직이 한곳이엤는 JSX
신규 프레임웍이기 때문에
상대적으로 레퍼런스가 적음
적합한환경 엔터프라이즈 어플리케이션 많은 이벤트가 있는 웹앱(SNS)
빠른 개발속도가 필요하고
많은 교육이 어려울 때
목적에 맞는 개발이 프론트만의 문제?
Spring Express Django
Angular
React
Vue
목적에 맞게
목적에 적합한 기술을 이용하여
소프트웨어를 만들어야 하는 이유
QA와의 전투 회피?빠른 퇴근?
단골 버그 생산자 탈출?
가치
좋은 소프트웨어 더 나은 가치
좋은 소프트웨어를 이용하는
사람들이 만들어내는 가치
END

Más contenido relacionado

La actualidad más candente

Jenkins tutorial for beginners
Jenkins tutorial for beginnersJenkins tutorial for beginners
Jenkins tutorial for beginnersBugRaptors
 
Automation Testing using Selenium
Automation Testing using SeleniumAutomation Testing using Selenium
Automation Testing using SeleniumNaresh Chintalcheru
 
Rest API with Swagger and NodeJS
Rest API with Swagger and NodeJSRest API with Swagger and NodeJS
Rest API with Swagger and NodeJSLuigi Saetta
 
Automation Testing With Appium
Automation Testing With AppiumAutomation Testing With Appium
Automation Testing With AppiumKnoldus Inc.
 
Selenium 4 with Simon Stewart [Webinar]
Selenium 4 with Simon Stewart [Webinar]Selenium 4 with Simon Stewart [Webinar]
Selenium 4 with Simon Stewart [Webinar]BrowserStack
 
Continuous Delivery with Jenkins
Continuous Delivery with JenkinsContinuous Delivery with Jenkins
Continuous Delivery with JenkinsJadson Santos
 
빌드 속도를 올려보자
빌드 속도를 올려보자빌드 속도를 올려보자
빌드 속도를 올려보자KyeongWon Koo
 
Introduction to Node.js
Introduction to Node.jsIntroduction to Node.js
Introduction to Node.jsRob O'Doherty
 
Android Automation Testing with Selendroid
Android Automation Testing with SelendroidAndroid Automation Testing with Selendroid
Android Automation Testing with SelendroidVikas Thange
 
Using Postman to Automate API On-Boarding
Using Postman to Automate API On-BoardingUsing Postman to Automate API On-Boarding
Using Postman to Automate API On-BoardingPostman
 
Selenium introduction
Selenium introductionSelenium introduction
Selenium introductionPankaj Dubey
 
BDD with CucumberJS and WebdriverIO
BDD with CucumberJS and WebdriverIOBDD with CucumberJS and WebdriverIO
BDD with CucumberJS and WebdriverIOM Rizwanur Rashid
 
Testing of React JS app
Testing of React JS appTesting of React JS app
Testing of React JS appAleks Zinevych
 
Selenium WebDriver Tutorial For Beginners | What Is Selenium WebDriver | Sele...
Selenium WebDriver Tutorial For Beginners | What Is Selenium WebDriver | Sele...Selenium WebDriver Tutorial For Beginners | What Is Selenium WebDriver | Sele...
Selenium WebDriver Tutorial For Beginners | What Is Selenium WebDriver | Sele...Edureka!
 

La actualidad más candente (20)

Jenkins tutorial for beginners
Jenkins tutorial for beginnersJenkins tutorial for beginners
Jenkins tutorial for beginners
 
Node js introduction
Node js introductionNode js introduction
Node js introduction
 
Express JS
Express JSExpress JS
Express JS
 
Automation Testing using Selenium
Automation Testing using SeleniumAutomation Testing using Selenium
Automation Testing using Selenium
 
Jenkins
JenkinsJenkins
Jenkins
 
Rest API with Swagger and NodeJS
Rest API with Swagger and NodeJSRest API with Swagger and NodeJS
Rest API with Swagger and NodeJS
 
Automation Testing With Appium
Automation Testing With AppiumAutomation Testing With Appium
Automation Testing With Appium
 
Selenium 4 with Simon Stewart [Webinar]
Selenium 4 with Simon Stewart [Webinar]Selenium 4 with Simon Stewart [Webinar]
Selenium 4 with Simon Stewart [Webinar]
 
Continuous Delivery with Jenkins
Continuous Delivery with JenkinsContinuous Delivery with Jenkins
Continuous Delivery with Jenkins
 
빌드 속도를 올려보자
빌드 속도를 올려보자빌드 속도를 올려보자
빌드 속도를 올려보자
 
Introduction to Node.js
Introduction to Node.jsIntroduction to Node.js
Introduction to Node.js
 
Android Automation Testing with Selendroid
Android Automation Testing with SelendroidAndroid Automation Testing with Selendroid
Android Automation Testing with Selendroid
 
Using Postman to Automate API On-Boarding
Using Postman to Automate API On-BoardingUsing Postman to Automate API On-Boarding
Using Postman to Automate API On-Boarding
 
Express js
Express jsExpress js
Express js
 
Selenium introduction
Selenium introductionSelenium introduction
Selenium introduction
 
BDD with CucumberJS and WebdriverIO
BDD with CucumberJS and WebdriverIOBDD with CucumberJS and WebdriverIO
BDD with CucumberJS and WebdriverIO
 
Testing of React JS app
Testing of React JS appTesting of React JS app
Testing of React JS app
 
jdbc document
jdbc documentjdbc document
jdbc document
 
Selenium WebDriver Tutorial For Beginners | What Is Selenium WebDriver | Sele...
Selenium WebDriver Tutorial For Beginners | What Is Selenium WebDriver | Sele...Selenium WebDriver Tutorial For Beginners | What Is Selenium WebDriver | Sele...
Selenium WebDriver Tutorial For Beginners | What Is Selenium WebDriver | Sele...
 
Electron
ElectronElectron
Electron
 

Similar a 목적에 맞게 Angular, React, Vue

The comprehensive guide for optimizing the performance of mobile HTML5 Web ap...
The comprehensive guide for optimizing the performance of mobile HTML5 Web ap...The comprehensive guide for optimizing the performance of mobile HTML5 Web ap...
The comprehensive guide for optimizing the performance of mobile HTML5 Web ap...Sang Seok Lim
 
[124] 하이브리드 앱 개발기 김한솔
[124] 하이브리드 앱 개발기 김한솔[124] 하이브리드 앱 개발기 김한솔
[124] 하이브리드 앱 개발기 김한솔NAVER D2
 
하이브리드 앱(Hybrid App)
하이브리드 앱(Hybrid App)하이브리드 앱(Hybrid App)
하이브리드 앱(Hybrid App)Changhwan Yi
 
Web app 개발 방법론
Web app 개발 방법론Web app 개발 방법론
Web app 개발 방법론Sang Seok Lim
 
my activities before getting a job
my activities before getting a jobmy activities before getting a job
my activities before getting a jobDeo Kim
 
차세대 웹비즈니스를 위한 "HTML5"
차세대 웹비즈니스를 위한 "HTML5"차세대 웹비즈니스를 위한 "HTML5"
차세대 웹비즈니스를 위한 "HTML5"Changhwan Yi
 
네이티브 웹앱 기술 동향 및 전망
네이티브 웹앱 기술 동향 및 전망네이티브 웹앱 기술 동향 및 전망
네이티브 웹앱 기술 동향 및 전망Wonsuk Lee
 
네이티브 웹앱 기술 동향 및 전망
네이티브 웹앱 기술 동향 및 전망네이티브 웹앱 기술 동향 및 전망
네이티브 웹앱 기술 동향 및 전망Wonsuk Lee
 
한양대학교 셔틀시스템 셔틀콕 개발기
한양대학교 셔틀시스템 셔틀콕 개발기한양대학교 셔틀시스템 셔틀콕 개발기
한양대학교 셔틀시스템 셔틀콕 개발기Yunhwan Na
 
01.모바일 프레임워크 이론
01.모바일 프레임워크 이론01.모바일 프레임워크 이론
01.모바일 프레임워크 이론Hankyo
 
NAVER의 웹/HTML5환경 대응 현황
NAVER의 웹/HTML5환경 대응 현황NAVER의 웹/HTML5환경 대응 현황
NAVER의 웹/HTML5환경 대응 현황NAVER Engineering
 
[141]지난 1년간의 웨일 브라우저와 그 미래 (부제: 제품 매니저가 들려주는 생생한 기술/제품 이야기)
[141]지난 1년간의 웨일 브라우저와 그 미래 (부제: 제품 매니저가 들려주는 생생한 기술/제품 이야기)[141]지난 1년간의 웨일 브라우저와 그 미래 (부제: 제품 매니저가 들려주는 생생한 기술/제품 이야기)
[141]지난 1년간의 웨일 브라우저와 그 미래 (부제: 제품 매니저가 들려주는 생생한 기술/제품 이야기)NAVER D2
 
Open source engineering - 0.1
Open source engineering - 0.1Open source engineering - 0.1
Open source engineering - 0.1YoungSu Son
 
Curie: Deep-linking & App-indexing based mobile search engine
Curie: Deep-linking & App-indexing based mobile search engineCurie: Deep-linking & App-indexing based mobile search engine
Curie: Deep-linking & App-indexing based mobile search engineWonkyung Lyu
 
제4회 아키텍트대회 발표자료 유엔진솔루션즈 장진영 V1.2[1] 110624
제4회 아키텍트대회 발표자료 유엔진솔루션즈 장진영 V1.2[1] 110624제4회 아키텍트대회 발표자료 유엔진솔루션즈 장진영 V1.2[1] 110624
제4회 아키텍트대회 발표자료 유엔진솔루션즈 장진영 V1.2[1] 110624uEngine Solutions
 
정해균 포트폴리오
정해균 포트폴리오정해균 포트폴리오
정해균 포트폴리오Haegyun Jung
 
Mozilla 오픈 웹 모바일 플랫폼 (2012)
Mozilla 오픈 웹 모바일 플랫폼 (2012)Mozilla 오픈 웹 모바일 플랫폼 (2012)
Mozilla 오픈 웹 모바일 플랫폼 (2012)Channy Yun
 
모바일앱개발 교육자료
모바일앱개발 교육자료모바일앱개발 교육자료
모바일앱개발 교육자료JinHyuck Churn
 

Similar a 목적에 맞게 Angular, React, Vue (20)

The comprehensive guide for optimizing the performance of mobile HTML5 Web ap...
The comprehensive guide for optimizing the performance of mobile HTML5 Web ap...The comprehensive guide for optimizing the performance of mobile HTML5 Web ap...
The comprehensive guide for optimizing the performance of mobile HTML5 Web ap...
 
[124] 하이브리드 앱 개발기 김한솔
[124] 하이브리드 앱 개발기 김한솔[124] 하이브리드 앱 개발기 김한솔
[124] 하이브리드 앱 개발기 김한솔
 
Portfolio
PortfolioPortfolio
Portfolio
 
하이브리드 앱(Hybrid App)
하이브리드 앱(Hybrid App)하이브리드 앱(Hybrid App)
하이브리드 앱(Hybrid App)
 
Web app 개발 방법론
Web app 개발 방법론Web app 개발 방법론
Web app 개발 방법론
 
my activities before getting a job
my activities before getting a jobmy activities before getting a job
my activities before getting a job
 
차세대 웹비즈니스를 위한 "HTML5"
차세대 웹비즈니스를 위한 "HTML5"차세대 웹비즈니스를 위한 "HTML5"
차세대 웹비즈니스를 위한 "HTML5"
 
네이티브 웹앱 기술 동향 및 전망
네이티브 웹앱 기술 동향 및 전망네이티브 웹앱 기술 동향 및 전망
네이티브 웹앱 기술 동향 및 전망
 
네이티브 웹앱 기술 동향 및 전망
네이티브 웹앱 기술 동향 및 전망네이티브 웹앱 기술 동향 및 전망
네이티브 웹앱 기술 동향 및 전망
 
한양대학교 셔틀시스템 셔틀콕 개발기
한양대학교 셔틀시스템 셔틀콕 개발기한양대학교 셔틀시스템 셔틀콕 개발기
한양대학교 셔틀시스템 셔틀콕 개발기
 
01.모바일 프레임워크 이론
01.모바일 프레임워크 이론01.모바일 프레임워크 이론
01.모바일 프레임워크 이론
 
NAVER의 웹/HTML5환경 대응 현황
NAVER의 웹/HTML5환경 대응 현황NAVER의 웹/HTML5환경 대응 현황
NAVER의 웹/HTML5환경 대응 현황
 
[141]지난 1년간의 웨일 브라우저와 그 미래 (부제: 제품 매니저가 들려주는 생생한 기술/제품 이야기)
[141]지난 1년간의 웨일 브라우저와 그 미래 (부제: 제품 매니저가 들려주는 생생한 기술/제품 이야기)[141]지난 1년간의 웨일 브라우저와 그 미래 (부제: 제품 매니저가 들려주는 생생한 기술/제품 이야기)
[141]지난 1년간의 웨일 브라우저와 그 미래 (부제: 제품 매니저가 들려주는 생생한 기술/제품 이야기)
 
Open source engineering - 0.1
Open source engineering - 0.1Open source engineering - 0.1
Open source engineering - 0.1
 
Open platform/API overview
Open platform/API overviewOpen platform/API overview
Open platform/API overview
 
Curie: Deep-linking & App-indexing based mobile search engine
Curie: Deep-linking & App-indexing based mobile search engineCurie: Deep-linking & App-indexing based mobile search engine
Curie: Deep-linking & App-indexing based mobile search engine
 
제4회 아키텍트대회 발표자료 유엔진솔루션즈 장진영 V1.2[1] 110624
제4회 아키텍트대회 발표자료 유엔진솔루션즈 장진영 V1.2[1] 110624제4회 아키텍트대회 발표자료 유엔진솔루션즈 장진영 V1.2[1] 110624
제4회 아키텍트대회 발표자료 유엔진솔루션즈 장진영 V1.2[1] 110624
 
정해균 포트폴리오
정해균 포트폴리오정해균 포트폴리오
정해균 포트폴리오
 
Mozilla 오픈 웹 모바일 플랫폼 (2012)
Mozilla 오픈 웹 모바일 플랫폼 (2012)Mozilla 오픈 웹 모바일 플랫폼 (2012)
Mozilla 오픈 웹 모바일 플랫폼 (2012)
 
모바일앱개발 교육자료
모바일앱개발 교육자료모바일앱개발 교육자료
모바일앱개발 교육자료
 

목적에 맞게 Angular, React, Vue