Angular
Mouad.elfakir@gmail.com
Mouad EL Fakir
What is Angular ?
Angular is a development platform for building
mobile and desktop web applications using
Typescript/JavaScript and other languages.
AngularJS vs Angular
AngularJS Angular
$scopes No $scope
Controllers based Ui Components based UI
JavaScript TypeScript
No mobile support Mobile support (mobile oriented architecture)
Js library Framework
Version of Angular ?
1.x 2.x 4.x 5.x
Version of Angular ?
1.x
2.x 4.x 5.x
?
Version of Angular ?
Where is Angular 3 ?
Current Angular Version
Browsers Support & Polyfills
Concepts overview
API
.ts
Services
.ts
.ts
.ts
.html
.css
.ts
.html
.css
Components
.ts
.ts.ts
.ts
Models
Transpiler
ModuleLoader
Index.html
Inject
AppModule
Angular Modules
• @angular/cli
• @angular/animations
• @angular/common
• @angular/core
• @angular/compiler
• @angular/forms
• @angular/http
• @angular/platform-browser
• @angular/platform-browser-dynamic
• @angular/router
• @angular/upgrade
What is Webpack ?
•Modules Loader
•Modules Bundler
•Loaders :
•babel-loader
•css-loader
•ts-loader
What is Zone.js ?
•Zones definition
•Stack trace logging
•Change detection
TypeScript & Transpilation
•Browsers doesn’t understand
Typescript and ES6 yet.
•Easy to use for Java developers.
•Transpilation != Compilation.
ES5
ES6
TYPESCRIPT
Build : AOT & JIT
•JIT -> Just-in-Time
•IOT -> Ahead-of-Time
Build bundles
•inline.bundle.js
•main.bundle.js
•polyfills.bundle.js
•vendor.bundle.js
•styles.bundle.js
•scripts.bundle.js
@angular/cli command
• ng new [project]
• ng generate component [component]
• ng generate service [service]
• ng generate directive [directive]
• ng generate pipe [pipe]
• ng generate class [class]
• ng generate interface [interface]
• ng generate enum [enum]
• ng serve
• ng build [--prod] [--aot]
• ng test
• ng lint
TypeScript & ES6 features
• Let
• Const
• Template Strings
• Fat Arrow Functions
• For of
• Class & Interface
• Decorators
• Modules
• Types
Application Overview
Header
Footer
Side
Nav
Component
Component
Component
Component
Component
Component
Component
Component
Grid
Component Lifecycle
ReactiveX (RxJS)
Observable.from({1, 2, 3})
.filter(i -> i < 2)
.map(i -> i + 1)
.subscribe(i -> print(i))
.catch(err -> `error is ${err}`)
.finally('completed')
Redux
Action Reducer Store
UI
01010100 01101000 01100001 01101110 01101011 01110011

Angular