SlideShare ist ein Scribd-Unternehmen logo
1 von 94
Downloaden Sie, um offline zu lesen
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

Weitere ähnliche Inhalte

Was ist angesagt?

20180518 QNAP Seminar - Introduction to React Native
20180518 QNAP Seminar - Introduction to React Native20180518 QNAP Seminar - Introduction to React Native
20180518 QNAP Seminar - Introduction to React NativeEric Deng
 
ListView RecyclerView.pptx
ListView RecyclerView.pptxListView RecyclerView.pptx
ListView RecyclerView.pptxOmakoiMalang
 
Introduction to Node JS.pdf
Introduction to Node JS.pdfIntroduction to Node JS.pdf
Introduction to Node JS.pdfBareen Shaikh
 
Introduction to RxJS
Introduction to RxJSIntroduction to RxJS
Introduction to RxJSBrainhub
 
Introduction to Xdebug
Introduction to XdebugIntroduction to Xdebug
Introduction to XdebugAbid Malik
 
Connecting Connect with Spring Boot
Connecting Connect with Spring BootConnecting Connect with Spring Boot
Connecting Connect with Spring BootVincent Kok
 
Microfrontends Monoreops & Trunkbased based
Microfrontends Monoreops & Trunkbased basedMicrofrontends Monoreops & Trunkbased based
Microfrontends Monoreops & Trunkbased basedVinci Rufus
 
김종욱 포트폴리오
김종욱 포트폴리오김종욱 포트폴리오
김종욱 포트폴리오Jonguk Kim
 
What is Node.js | Node.js Tutorial for Beginners | Node.js Modules | Node.js ...
What is Node.js | Node.js Tutorial for Beginners | Node.js Modules | Node.js ...What is Node.js | Node.js Tutorial for Beginners | Node.js Modules | Node.js ...
What is Node.js | Node.js Tutorial for Beginners | Node.js Modules | Node.js ...Edureka!
 
Introduction to Node.js
Introduction to Node.jsIntroduction to Node.js
Introduction to Node.jsRob O'Doherty
 
삶이편해지는_백엔드_개발자_지식.pdf
삶이편해지는_백엔드_개발자_지식.pdf삶이편해지는_백엔드_개발자_지식.pdf
삶이편해지는_백엔드_개발자_지식.pdfSeung kyoo Park
 
Progressive Web APP ( PWA )
Progressive Web APP ( PWA ) Progressive Web APP ( PWA )
Progressive Web APP ( PWA ) Bijaya Oli
 
What we've learned designing new Sylius API
What we've learned designing new Sylius APIWhat we've learned designing new Sylius API
What we've learned designing new Sylius APIŁukasz Chruściel
 
파이썬 생존 안내서 (자막)
파이썬 생존 안내서 (자막)파이썬 생존 안내서 (자막)
파이썬 생존 안내서 (자막)Heungsub Lee
 

Was ist angesagt? (20)

API Design- Best Practices
API Design-   Best PracticesAPI Design-   Best Practices
API Design- Best Practices
 
20180518 QNAP Seminar - Introduction to React Native
20180518 QNAP Seminar - Introduction to React Native20180518 QNAP Seminar - Introduction to React Native
20180518 QNAP Seminar - Introduction to React Native
 
TypeScript
TypeScriptTypeScript
TypeScript
 
ListView RecyclerView.pptx
ListView RecyclerView.pptxListView RecyclerView.pptx
ListView RecyclerView.pptx
 
Single Page Applications
Single Page ApplicationsSingle Page Applications
Single Page Applications
 
Introduction to Node JS.pdf
Introduction to Node JS.pdfIntroduction to Node JS.pdf
Introduction to Node JS.pdf
 
Introduction to RxJS
Introduction to RxJSIntroduction to RxJS
Introduction to RxJS
 
Introduction to Xdebug
Introduction to XdebugIntroduction to Xdebug
Introduction to Xdebug
 
Connecting Connect with Spring Boot
Connecting Connect with Spring BootConnecting Connect with Spring Boot
Connecting Connect with Spring Boot
 
Microfrontends Monoreops & Trunkbased based
Microfrontends Monoreops & Trunkbased basedMicrofrontends Monoreops & Trunkbased based
Microfrontends Monoreops & Trunkbased based
 
Node js
Node jsNode js
Node js
 
김종욱 포트폴리오
김종욱 포트폴리오김종욱 포트폴리오
김종욱 포트폴리오
 
What is Node.js | Node.js Tutorial for Beginners | Node.js Modules | Node.js ...
What is Node.js | Node.js Tutorial for Beginners | Node.js Modules | Node.js ...What is Node.js | Node.js Tutorial for Beginners | Node.js Modules | Node.js ...
What is Node.js | Node.js Tutorial for Beginners | Node.js Modules | Node.js ...
 
Introduction to Node.js
Introduction to Node.jsIntroduction to Node.js
Introduction to Node.js
 
Learn react-js
Learn react-jsLearn react-js
Learn react-js
 
Git training v10
Git training v10Git training v10
Git training v10
 
삶이편해지는_백엔드_개발자_지식.pdf
삶이편해지는_백엔드_개발자_지식.pdf삶이편해지는_백엔드_개발자_지식.pdf
삶이편해지는_백엔드_개발자_지식.pdf
 
Progressive Web APP ( PWA )
Progressive Web APP ( PWA ) Progressive Web APP ( PWA )
Progressive Web APP ( PWA )
 
What we've learned designing new Sylius API
What we've learned designing new Sylius APIWhat we've learned designing new Sylius API
What we've learned designing new Sylius API
 
파이썬 생존 안내서 (자막)
파이썬 생존 안내서 (자막)파이썬 생존 안내서 (자막)
파이썬 생존 안내서 (자막)
 

Ähnlich wie 목적에 맞게 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
 

Ähnlich wie 목적에 맞게 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