SlideShare a Scribd company logo
Angular
1. What is Single Page Application?
Cloud Bu / Iw Jhun
Angular ..?
우리가 하는 일
서비스 인터페이스 개발
• 플랫폼 인터페이스(API) 개발
• 콘텐츠 전송, 데이터 후처리 등..
서비스 GUI 개발
• 운영 Tool 개발
What Is Single Page App ?
아 저 Angluar 할 줄 알아요  요즘 Web App은 이렇더라구요..
Angular === Front Side Framework === SPA (Single Page App)
Unlimited scroll, Not document
Traditional Page Single Page Application
(https://msdn.microsoft.com/en-us/magazine/dn463786.aspx)
• 빠르고 효율적인 응답
• 서버는 코어 로직에 집중 (템플릿 파싱과 같은 부하가 없어짐)
• 클라이언트 리소스 이용 (클라이언트 렌더링)
• 다양한 클라이언트 디바이스 지원 용이 (IOS, Android, PC, Web ..)
…
서비스 관점에서의 이점
• 컴포넌트 기반의 단위 테스트
• 모듈 재활용
• 번들링 을 통한 리소스 관리
• 개발 영역 분리
…
개발 관점에서의 이점
그럼 어떻게 이게 가능해지는 걸까 ?
그래도 마냥 좋지 만은 않다.
• 클라이언트 서버 간의 중복 된 로직이 발생
(데이터 유효성 체크.. 등)
• SEO (short for search engine optimization)
• 높은 자바스크립트 테크닉 ( OOM 등 )
• 올바른 Restful API 설계와 견고한 보안적 설계가 필요.
• 유능한 클라이언트 개발자 구하기 어려움
SEO (Short for search Engine Optimization)..?
CSR(Client Side Rendering) 과 SSR(Server Side Rendering)
이 문제를 해결하기 위한
CSR & SSR (Isomorphic) 개발 노력
(Angular Universal : https://universal.angular.io)
더 자세한 것은 이 책을 추천!
• 클라이언트-서버 웹 앱 만들기 저. 캐시미어 새터노스
What is Angular ?
Angular (Client Side Framework)
Client Side Framework. (Google)
Component 기반, MVW(Model-View-Whatever : MVVM, MVC 등을 뜻함)
• Multi-Device : Web App, Native, Desktop
• Code Generation, Universal (Not SEO), Code Spitting
• Angular CLI (Quick source generate, Test, Transpile&Build)
AngularJs Vs Angular ?
AngularJs (AngularJs 1.x) 의 설계 상의 문제점 (스코프, 더티 체크 등)
을 해결하기 위해 이름만 비슷할 뿐 새로이 만든 것이 Angular.
AngularJs 2  Angular 네이밍 변경
 Angular.Js / Angular 의 버전 체계에 혼선이 발생.
Angular & Java
Angular Java
Dependencies NPM Maven
Build AngularCLI
(Webpack , Module
loader …)
Maven, Gradle …
Language TypeScript (Javascript) Java
Runtime Browser JVM
1. 명확한 구조 ( 개발 체계 잡기 좋음 )
2. 객체 지향 개발 흐름
3. Template과 로직의 분리 (not JSX)
4. Typescript ( IDE 지원 좋음 )
5. Google의 적극적인 지원
높은 러닝 커브에도 추천하는 이유
Angular Architecture
Component
View를 구성하는 단위, Angular에서 가장 중요한 개념.
컴포넌트는 다른 컴포넌트를 포함할 수 있음 (부모-자식 관계 성립) : 다중 컴포넌트
Service
공통 비지니스 로직이 위치하는 곳, Angular core에서 라이프사이클 관리.
Route
요청 경로 (URL)에 따른 컴포넌트(View) 흐름을 제어.
Module
특정 목적에 연관 있는 Component의 집합.
<DEMO>
보너스
자바(Server Side)로 만드는 Single Page Application
Element(Component) 기반
자바 코드로 SPA 개발(컨버팅)
클라이언트 서버 간의 Data Binding 제공
Element
Vaadin Vs Angular
Vaadin
다음 기회에..
See you later, Thank You.

More Related Content

What's hot

[토크아이티] 프런트엔드 개발 시작하기 저자 특강
[토크아이티] 프런트엔드 개발 시작하기 저자 특강 [토크아이티] 프런트엔드 개발 시작하기 저자 특강
[토크아이티] 프런트엔드 개발 시작하기 저자 특강
우영 주
 
Knockout js소개
Knockout js소개Knockout js소개
Knockout js소개Kwangho SEO
 
모바일 웹앱 프로그래밍 과정
모바일 웹앱 프로그래밍 과정모바일 웹앱 프로그래밍 과정
모바일 웹앱 프로그래밍 과정Kenu, GwangNam Heo
 
W3C HTML5 Conference 2015 - NAVER 웹 기술 및 환경 전망
W3C HTML5 Conference 2015 - NAVER 웹 기술 및 환경 전망W3C HTML5 Conference 2015 - NAVER 웹 기술 및 환경 전망
W3C HTML5 Conference 2015 - NAVER 웹 기술 및 환경 전망
NAVER Engineering
 
Bootstrap
BootstrapBootstrap
Bootstrap
SangHun Lee
 
Angularjs, ionic, cordova 기반 syrup store app 개발 사례 공유
Angularjs, ionic, cordova 기반 syrup store app 개발 사례 공유Angularjs, ionic, cordova 기반 syrup store app 개발 사례 공유
Angularjs, ionic, cordova 기반 syrup store app 개발 사례 공유
Sang Seok Lim
 
프로그레시브 웹앱(Pwa)
프로그레시브 웹앱(Pwa)프로그레시브 웹앱(Pwa)
프로그레시브 웹앱(Pwa)
Woncheol Lee
 
JavaScript 2014 프론트엔드 기술 리뷰
JavaScript 2014 프론트엔드 기술 리뷰JavaScript 2014 프론트엔드 기술 리뷰
JavaScript 2014 프론트엔드 기술 리뷰Kenu, GwangNam Heo
 
웹-워크플로우 베스트프랙티스
웹-워크플로우 베스트프랙티스웹-워크플로우 베스트프랙티스
웹-워크플로우 베스트프랙티스
Tai Hoon KIM
 
CSS Round Display KIG 발표자료
CSS Round Display KIG 발표자료CSS Round Display KIG 발표자료
CSS Round Display KIG 발표자료
Hyojin Song
 
Knock out - 삽질은 그만 #1
Knock out - 삽질은 그만 #1Knock out - 삽질은 그만 #1
Knock out - 삽질은 그만 #1
Hyo Da Seo
 
HTML5 관점에서 본 2014 모바일 웹 앱 개발 동향과 사례 및 발전 방향 전망
HTML5 관점에서 본 2014 모바일 웹 앱 개발 동향과 사례 및 발전 방향 전망HTML5 관점에서 본 2014 모바일 웹 앱 개발 동향과 사례 및 발전 방향 전망
HTML5 관점에서 본 2014 모바일 웹 앱 개발 동향과 사례 및 발전 방향 전망Sang Seok Lim
 
Web app 개발 방법론
Web app 개발 방법론Web app 개발 방법론
Web app 개발 방법론Sang Seok Lim
 
iinn studio for jQWidgets by iinnsoft
iinn studio for jQWidgets by iinnsoftiinn studio for jQWidgets by iinnsoft
iinn studio for jQWidgets by iinnsoft
JeongWook Eom
 
hexa core
hexa corehexa core
hexa core
Seungbae Ji
 
HTML5 관점에서 2015년 웹 앱 개발 동향과 사례 및 2016년 발전 방향 저...
HTML5 관점에서 2015년 웹 앱 개발 동향과 사례 및 2016년 발전 방향 저...HTML5 관점에서 2015년 웹 앱 개발 동향과 사례 및 2016년 발전 방향 저...
HTML5 관점에서 2015년 웹 앱 개발 동향과 사례 및 2016년 발전 방향 저...
Sang Seok Lim
 
Fuse소개
Fuse소개Fuse소개
Single Page Web
Single Page WebSingle Page Web
Single Page Web
종복 박
 
지도 서비스용 웹앱 개발환경 사용기
지도 서비스용 웹앱 개발환경 사용기지도 서비스용 웹앱 개발환경 사용기
지도 서비스용 웹앱 개발환경 사용기
Q-Young Lee
 
PHP Slim Framework with Angular
PHP Slim Framework with AngularPHP Slim Framework with Angular
PHP Slim Framework with Angular
JT Jintae Jung
 

What's hot (20)

[토크아이티] 프런트엔드 개발 시작하기 저자 특강
[토크아이티] 프런트엔드 개발 시작하기 저자 특강 [토크아이티] 프런트엔드 개발 시작하기 저자 특강
[토크아이티] 프런트엔드 개발 시작하기 저자 특강
 
Knockout js소개
Knockout js소개Knockout js소개
Knockout js소개
 
모바일 웹앱 프로그래밍 과정
모바일 웹앱 프로그래밍 과정모바일 웹앱 프로그래밍 과정
모바일 웹앱 프로그래밍 과정
 
W3C HTML5 Conference 2015 - NAVER 웹 기술 및 환경 전망
W3C HTML5 Conference 2015 - NAVER 웹 기술 및 환경 전망W3C HTML5 Conference 2015 - NAVER 웹 기술 및 환경 전망
W3C HTML5 Conference 2015 - NAVER 웹 기술 및 환경 전망
 
Bootstrap
BootstrapBootstrap
Bootstrap
 
Angularjs, ionic, cordova 기반 syrup store app 개발 사례 공유
Angularjs, ionic, cordova 기반 syrup store app 개발 사례 공유Angularjs, ionic, cordova 기반 syrup store app 개발 사례 공유
Angularjs, ionic, cordova 기반 syrup store app 개발 사례 공유
 
프로그레시브 웹앱(Pwa)
프로그레시브 웹앱(Pwa)프로그레시브 웹앱(Pwa)
프로그레시브 웹앱(Pwa)
 
JavaScript 2014 프론트엔드 기술 리뷰
JavaScript 2014 프론트엔드 기술 리뷰JavaScript 2014 프론트엔드 기술 리뷰
JavaScript 2014 프론트엔드 기술 리뷰
 
웹-워크플로우 베스트프랙티스
웹-워크플로우 베스트프랙티스웹-워크플로우 베스트프랙티스
웹-워크플로우 베스트프랙티스
 
CSS Round Display KIG 발표자료
CSS Round Display KIG 발표자료CSS Round Display KIG 발표자료
CSS Round Display KIG 발표자료
 
Knock out - 삽질은 그만 #1
Knock out - 삽질은 그만 #1Knock out - 삽질은 그만 #1
Knock out - 삽질은 그만 #1
 
HTML5 관점에서 본 2014 모바일 웹 앱 개발 동향과 사례 및 발전 방향 전망
HTML5 관점에서 본 2014 모바일 웹 앱 개발 동향과 사례 및 발전 방향 전망HTML5 관점에서 본 2014 모바일 웹 앱 개발 동향과 사례 및 발전 방향 전망
HTML5 관점에서 본 2014 모바일 웹 앱 개발 동향과 사례 및 발전 방향 전망
 
Web app 개발 방법론
Web app 개발 방법론Web app 개발 방법론
Web app 개발 방법론
 
iinn studio for jQWidgets by iinnsoft
iinn studio for jQWidgets by iinnsoftiinn studio for jQWidgets by iinnsoft
iinn studio for jQWidgets by iinnsoft
 
hexa core
hexa corehexa core
hexa core
 
HTML5 관점에서 2015년 웹 앱 개발 동향과 사례 및 2016년 발전 방향 저...
HTML5 관점에서 2015년 웹 앱 개발 동향과 사례 및 2016년 발전 방향 저...HTML5 관점에서 2015년 웹 앱 개발 동향과 사례 및 2016년 발전 방향 저...
HTML5 관점에서 2015년 웹 앱 개발 동향과 사례 및 2016년 발전 방향 저...
 
Fuse소개
Fuse소개Fuse소개
Fuse소개
 
Single Page Web
Single Page WebSingle Page Web
Single Page Web
 
지도 서비스용 웹앱 개발환경 사용기
지도 서비스용 웹앱 개발환경 사용기지도 서비스용 웹앱 개발환경 사용기
지도 서비스용 웹앱 개발환경 사용기
 
PHP Slim Framework with Angular
PHP Slim Framework with AngularPHP Slim Framework with Angular
PHP Slim Framework with Angular
 

Similar to Angular, What is SinglePageApplication

Angularcdk
AngularcdkAngularcdk
Angularcdk
Seokju Na
 
Front end dev 2016 & beyond
Front end dev 2016 & beyondFront end dev 2016 & beyond
Front end dev 2016 & beyond
Jae Sung Park
 
웹:앱 기술 동향
웹:앱 기술 동향웹:앱 기술 동향
웹:앱 기술 동향
ssuser0e53c8
 
Angular는 사실 어렵지 않습니다.
Angular는 사실 어렵지 않습니다.Angular는 사실 어렵지 않습니다.
Angular는 사실 어렵지 않습니다.
장현 한
 
NAVER TECH CONCERT_FE2019_빠르게 훑어보는 웹 개발 트렌드
NAVER TECH CONCERT_FE2019_빠르게 훑어보는 웹 개발 트렌드NAVER TECH CONCERT_FE2019_빠르게 훑어보는 웹 개발 트렌드
NAVER TECH CONCERT_FE2019_빠르게 훑어보는 웹 개발 트렌드
NAVER Engineering
 
Single-page Application
Single-page ApplicationSingle-page Application
Single-page Application
Sangmin Yoon
 
Spring vs. spring boot
Spring vs. spring bootSpring vs. spring boot
Spring vs. spring boot
ChloeChoi23
 
모바일앱개발 교육자료
모바일앱개발 교육자료모바일앱개발 교육자료
모바일앱개발 교육자료
JinHyuck Churn
 
소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해
소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해
소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해
Terry Cho
 
[DEVIEW 2016] 네이버의 모던 웹 라이브러리 - egjs
[DEVIEW 2016] 네이버의 모던 웹 라이브러리 - egjs[DEVIEW 2016] 네이버의 모던 웹 라이브러리 - egjs
[DEVIEW 2016] 네이버의 모던 웹 라이브러리 - egjs
Jae Sung Park
 
Angular Features and New Things
Angular Features and New ThingsAngular Features and New Things
Angular Features and New Things
SangHun Lee
 
[121]네이버 효과툰 구현 이야기
[121]네이버 효과툰 구현 이야기[121]네이버 효과툰 구현 이야기
[121]네이버 효과툰 구현 이야기
NAVER D2
 
Saturday Azure Live 1701 Azure WebApp 개념원리
Saturday Azure Live 1701 Azure WebApp 개념원리Saturday Azure Live 1701 Azure WebApp 개념원리
Saturday Azure Live 1701 Azure WebApp 개념원리
Youngjae Kim
 
AngularJS 2, version 1 and ReactJS
AngularJS 2, version 1 and ReactJSAngularJS 2, version 1 and ReactJS
AngularJS 2, version 1 and ReactJS
Kenneth Ceyer
 
React native development
React native developmentReact native development
React native development
SangSun Park
 
Angular Popular Tools
Angular Popular ToolsAngular Popular Tools
Angular Popular Tools
SangHun Lee
 
[HCI2010]UI패턴기반 UI설계/개발자동화사례발표
[HCI2010]UI패턴기반 UI설계/개발자동화사례발표[HCI2010]UI패턴기반 UI설계/개발자동화사례발표
[HCI2010]UI패턴기반 UI설계/개발자동화사례발표
ChangGyum Kim
 
MSA 전략 1: 마이크로서비스, 어떻게 디자인 할 것인가?
MSA 전략 1: 마이크로서비스, 어떻게 디자인 할 것인가?MSA 전략 1: 마이크로서비스, 어떻게 디자인 할 것인가?
MSA 전략 1: 마이크로서비스, 어떻게 디자인 할 것인가?
VMware Tanzu Korea
 
Angular2 톺아보기
Angular2 톺아보기 Angular2 톺아보기
Angular2 톺아보기
철민 배
 
[Korea Linux Forum] Implementing web based online multiplayer tetris with Ope...
[Korea Linux Forum] Implementing web based online multiplayer tetris with Ope...[Korea Linux Forum] Implementing web based online multiplayer tetris with Ope...
[Korea Linux Forum] Implementing web based online multiplayer tetris with Ope...
JinKwon Lee
 

Similar to Angular, What is SinglePageApplication (20)

Angularcdk
AngularcdkAngularcdk
Angularcdk
 
Front end dev 2016 & beyond
Front end dev 2016 & beyondFront end dev 2016 & beyond
Front end dev 2016 & beyond
 
웹:앱 기술 동향
웹:앱 기술 동향웹:앱 기술 동향
웹:앱 기술 동향
 
Angular는 사실 어렵지 않습니다.
Angular는 사실 어렵지 않습니다.Angular는 사실 어렵지 않습니다.
Angular는 사실 어렵지 않습니다.
 
NAVER TECH CONCERT_FE2019_빠르게 훑어보는 웹 개발 트렌드
NAVER TECH CONCERT_FE2019_빠르게 훑어보는 웹 개발 트렌드NAVER TECH CONCERT_FE2019_빠르게 훑어보는 웹 개발 트렌드
NAVER TECH CONCERT_FE2019_빠르게 훑어보는 웹 개발 트렌드
 
Single-page Application
Single-page ApplicationSingle-page Application
Single-page Application
 
Spring vs. spring boot
Spring vs. spring bootSpring vs. spring boot
Spring vs. spring boot
 
모바일앱개발 교육자료
모바일앱개발 교육자료모바일앱개발 교육자료
모바일앱개발 교육자료
 
소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해
소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해
소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해
 
[DEVIEW 2016] 네이버의 모던 웹 라이브러리 - egjs
[DEVIEW 2016] 네이버의 모던 웹 라이브러리 - egjs[DEVIEW 2016] 네이버의 모던 웹 라이브러리 - egjs
[DEVIEW 2016] 네이버의 모던 웹 라이브러리 - egjs
 
Angular Features and New Things
Angular Features and New ThingsAngular Features and New Things
Angular Features and New Things
 
[121]네이버 효과툰 구현 이야기
[121]네이버 효과툰 구현 이야기[121]네이버 효과툰 구현 이야기
[121]네이버 효과툰 구현 이야기
 
Saturday Azure Live 1701 Azure WebApp 개념원리
Saturday Azure Live 1701 Azure WebApp 개념원리Saturday Azure Live 1701 Azure WebApp 개념원리
Saturday Azure Live 1701 Azure WebApp 개념원리
 
AngularJS 2, version 1 and ReactJS
AngularJS 2, version 1 and ReactJSAngularJS 2, version 1 and ReactJS
AngularJS 2, version 1 and ReactJS
 
React native development
React native developmentReact native development
React native development
 
Angular Popular Tools
Angular Popular ToolsAngular Popular Tools
Angular Popular Tools
 
[HCI2010]UI패턴기반 UI설계/개발자동화사례발표
[HCI2010]UI패턴기반 UI설계/개발자동화사례발표[HCI2010]UI패턴기반 UI설계/개발자동화사례발표
[HCI2010]UI패턴기반 UI설계/개발자동화사례발표
 
MSA 전략 1: 마이크로서비스, 어떻게 디자인 할 것인가?
MSA 전략 1: 마이크로서비스, 어떻게 디자인 할 것인가?MSA 전략 1: 마이크로서비스, 어떻게 디자인 할 것인가?
MSA 전략 1: 마이크로서비스, 어떻게 디자인 할 것인가?
 
Angular2 톺아보기
Angular2 톺아보기 Angular2 톺아보기
Angular2 톺아보기
 
[Korea Linux Forum] Implementing web based online multiplayer tetris with Ope...
[Korea Linux Forum] Implementing web based online multiplayer tetris with Ope...[Korea Linux Forum] Implementing web based online multiplayer tetris with Ope...
[Korea Linux Forum] Implementing web based online multiplayer tetris with Ope...
 

Angular, What is SinglePageApplication

  • 1. Angular 1. What is Single Page Application? Cloud Bu / Iw Jhun
  • 3. 우리가 하는 일 서비스 인터페이스 개발 • 플랫폼 인터페이스(API) 개발 • 콘텐츠 전송, 데이터 후처리 등.. 서비스 GUI 개발 • 운영 Tool 개발
  • 4. What Is Single Page App ? 아 저 Angluar 할 줄 알아요  요즘 Web App은 이렇더라구요..
  • 5. Angular === Front Side Framework === SPA (Single Page App) Unlimited scroll, Not document
  • 6. Traditional Page Single Page Application (https://msdn.microsoft.com/en-us/magazine/dn463786.aspx)
  • 7. • 빠르고 효율적인 응답 • 서버는 코어 로직에 집중 (템플릿 파싱과 같은 부하가 없어짐) • 클라이언트 리소스 이용 (클라이언트 렌더링) • 다양한 클라이언트 디바이스 지원 용이 (IOS, Android, PC, Web ..) … 서비스 관점에서의 이점 • 컴포넌트 기반의 단위 테스트 • 모듈 재활용 • 번들링 을 통한 리소스 관리 • 개발 영역 분리 … 개발 관점에서의 이점
  • 8. 그럼 어떻게 이게 가능해지는 걸까 ?
  • 9.
  • 10. 그래도 마냥 좋지 만은 않다. • 클라이언트 서버 간의 중복 된 로직이 발생 (데이터 유효성 체크.. 등) • SEO (short for search engine optimization) • 높은 자바스크립트 테크닉 ( OOM 등 ) • 올바른 Restful API 설계와 견고한 보안적 설계가 필요. • 유능한 클라이언트 개발자 구하기 어려움
  • 11. SEO (Short for search Engine Optimization)..? CSR(Client Side Rendering) 과 SSR(Server Side Rendering)
  • 12.
  • 13.
  • 14. 이 문제를 해결하기 위한 CSR & SSR (Isomorphic) 개발 노력 (Angular Universal : https://universal.angular.io)
  • 15. 더 자세한 것은 이 책을 추천! • 클라이언트-서버 웹 앱 만들기 저. 캐시미어 새터노스
  • 17.
  • 18. Angular (Client Side Framework) Client Side Framework. (Google) Component 기반, MVW(Model-View-Whatever : MVVM, MVC 등을 뜻함) • Multi-Device : Web App, Native, Desktop • Code Generation, Universal (Not SEO), Code Spitting • Angular CLI (Quick source generate, Test, Transpile&Build)
  • 19. AngularJs Vs Angular ? AngularJs (AngularJs 1.x) 의 설계 상의 문제점 (스코프, 더티 체크 등) 을 해결하기 위해 이름만 비슷할 뿐 새로이 만든 것이 Angular. AngularJs 2  Angular 네이밍 변경  Angular.Js / Angular 의 버전 체계에 혼선이 발생.
  • 20.
  • 21. Angular & Java Angular Java Dependencies NPM Maven Build AngularCLI (Webpack , Module loader …) Maven, Gradle … Language TypeScript (Javascript) Java Runtime Browser JVM
  • 22.
  • 23. 1. 명확한 구조 ( 개발 체계 잡기 좋음 ) 2. 객체 지향 개발 흐름 3. Template과 로직의 분리 (not JSX) 4. Typescript ( IDE 지원 좋음 ) 5. Google의 적극적인 지원 높은 러닝 커브에도 추천하는 이유
  • 25. Component View를 구성하는 단위, Angular에서 가장 중요한 개념. 컴포넌트는 다른 컴포넌트를 포함할 수 있음 (부모-자식 관계 성립) : 다중 컴포넌트
  • 26. Service 공통 비지니스 로직이 위치하는 곳, Angular core에서 라이프사이클 관리.
  • 27. Route 요청 경로 (URL)에 따른 컴포넌트(View) 흐름을 제어. Module 특정 목적에 연관 있는 Component의 집합.
  • 30. 자바(Server Side)로 만드는 Single Page Application Element(Component) 기반 자바 코드로 SPA 개발(컨버팅) 클라이언트 서버 간의 Data Binding 제공
  • 35. See you later, Thank You.