2. 발표자
• Angular Development with TypeScript 출간 (2016)
• Angular 컨트리뷰터
• angular.kr 한국어 공식 가이드문서 운영
• 오픈소스 프로젝트 운영
• ejv@1.1.5
• badak@0.0.9
2
github.com/han41858
han41858@gmail.com
3. 오늘의 목표
• 새 프로젝트에 쓸 프론트엔드 프레임워크를 골라보자.
4
Angular는 어려우니까…
어렵지 않습니다!!
22. 버전이 너무 빨리 올라간다.
버전 발표일자 간격 주요 변경사항
2.0.0 2016. 9. 14 새로운 프레임워크로 재작성
3.0.0
4.0.0 2017. 3. 23 6개월 + 9일
*ngIf 문법에 else 추가, @angular/core가 WeakMap을 사용, Angular
Universal 도입
5.0.0 2017. 11. 1 7개월 + 12일 i18n API 리팩토링, OpaqueToken → InjectionToken
6.0.0 2018. 5. 3 6개월 + 2일
TypeScript, RxJS 라이브러리 버전업, <template> → <ng-template>,
@angular/animation 패키지 분리
7.0.0 2018. 10. 18 5개월 + 15일 TypeScript, RxJS 라이브러리 버전업
8.0.0 2019. 5. 28 5개월 + 10일 Ivy, Bazel 실험 도입, @ViewChild, @ContentChild에 static 플래그 추가
9.0.0 2019. 10~11 Ivy, Bazel 정식 도입
24
정기 버전업일 뿐입니다.
- Major : 6개월마다
- Minor : Major 사이에 1~3번
- Patch : 매주
하위 호환성은 유지
제거 되더라도 1년 유지
23. TypeScript 때문에 어렵다?
• 기본 문법은 JavaScript
• + future JavaScript
• async/await
• 제네레이터 함수
• + α
• 정적 타입 지정
• 제네릭
• 인터페이스
• @어노테이션
• React, Vue도 TypeScript를 도입하는 추세
• .tsx
• Vue 3.0
25
Future
JavaScript
TypeScript
JavaScript
27. 웹 표준 준수 29
템플릿
HTML
스타일
CSS
동작 로직
TypeScript
컴포넌트
Web Component
28. 강력한 CLI – 모든 개발 단계에 활용
• Command Line Interface
30
npm
Yeoman
mean.js
IDE
gulp
grunt
Webpack
tsc
node.js
lite-server
webpack-dev-servermocha
karma
protractor
git
AWS-cli
Angular CLI
Boilerplate
Making
Components
Build Running Server
Unit /
End-to-end Test
Deploy
29. 강력한 CLI – 명령 하나로 프로젝트 생성 끝
• ng new : 애플리케이션 기본 틀 생성 + α
• 개발환경 구성
• git
• TypeScript 환경설정 + TSLint
• .editconfig
• 테스트 환경 구성 : ng test
• Karma
• Protractor
• 배포 환경 구성 : ng build
• browserslist
• environment.prod.ts
• 전세계 개발자가 동일한 환경을 구성
• 문제가 있으면 Angular가 대응해야 하는 레벨
• 혼자 외롭지 않아요.
31
30. 강력한 CLI – 라이브러리 설치 + α
• ng add : yarn add + 프로젝트 자동 설정
• @angular/pwa
• angular-fire-schematics
• 커스텀 라이브러리 구현 가능
32
31. • ng generate : 구성요소 기본틀 생성 + 모듈에 추가
• appShell
• application
• class
• component
• directive
• enum
• guard
• interface
• library
• module
• pipe
• service
• serviceWorker
• universal
• webWorker
강력한 CLI – 구성요소 생성 33
+ IDE 지원