angular 2+ - jfokusangular 2+ agnès crépe t @agnes_crepe t. cédric exbr ayat @cedric_exbrayat...
TRANSCRIPT
![Page 1: Angular 2+ - JfokusAngular 2+ Agnès Crépe t @agnes_crepe t. Cédric Exbr ayat @cedric_exbrayat @Ninja Squad. Lyon, Fr ance - April 20-21. Learn some french! Bonjour ! Announced in](https://reader035.vdocuments.net/reader035/viewer/2022062602/5ee11812ad6a402d666c1989/html5/thumbnails/1.jpg)
The magic behind
Angular 2+
![Page 2: Angular 2+ - JfokusAngular 2+ Agnès Crépe t @agnes_crepe t. Cédric Exbr ayat @cedric_exbrayat @Ninja Squad. Lyon, Fr ance - April 20-21. Learn some french! Bonjour ! Announced in](https://reader035.vdocuments.net/reader035/viewer/2022062602/5ee11812ad6a402d666c1989/html5/thumbnails/2.jpg)
Agnès Crépet
@agnes_crepet
![Page 3: Angular 2+ - JfokusAngular 2+ Agnès Crépe t @agnes_crepe t. Cédric Exbr ayat @cedric_exbrayat @Ninja Squad. Lyon, Fr ance - April 20-21. Learn some french! Bonjour ! Announced in](https://reader035.vdocuments.net/reader035/viewer/2022062602/5ee11812ad6a402d666c1989/html5/thumbnails/3.jpg)
Cédric Exbrayat
@cedric_exbrayat
![Page 4: Angular 2+ - JfokusAngular 2+ Agnès Crépe t @agnes_crepe t. Cédric Exbr ayat @cedric_exbrayat @Ninja Squad. Lyon, Fr ance - April 20-21. Learn some french! Bonjour ! Announced in](https://reader035.vdocuments.net/reader035/viewer/2022062602/5ee11812ad6a402d666c1989/html5/thumbnails/4.jpg)
@NinjaSquad
![Page 5: Angular 2+ - JfokusAngular 2+ Agnès Crépe t @agnes_crepe t. Cédric Exbr ayat @cedric_exbrayat @Ninja Squad. Lyon, Fr ance - April 20-21. Learn some french! Bonjour ! Announced in](https://reader035.vdocuments.net/reader035/viewer/2022062602/5ee11812ad6a402d666c1989/html5/thumbnails/5.jpg)
Lyon, France - April 20-21
![Page 6: Angular 2+ - JfokusAngular 2+ Agnès Crépe t @agnes_crepe t. Cédric Exbr ayat @cedric_exbrayat @Ninja Squad. Lyon, Fr ance - April 20-21. Learn some french! Bonjour ! Announced in](https://reader035.vdocuments.net/reader035/viewer/2022062602/5ee11812ad6a402d666c1989/html5/thumbnails/6.jpg)
![Page 7: Angular 2+ - JfokusAngular 2+ Agnès Crépe t @agnes_crepe t. Cédric Exbr ayat @cedric_exbrayat @Ninja Squad. Lyon, Fr ance - April 20-21. Learn some french! Bonjour ! Announced in](https://reader035.vdocuments.net/reader035/viewer/2022062602/5ee11812ad6a402d666c1989/html5/thumbnails/7.jpg)
Learn some french!
![Page 8: Angular 2+ - JfokusAngular 2+ Agnès Crépe t @agnes_crepe t. Cédric Exbr ayat @cedric_exbrayat @Ninja Squad. Lyon, Fr ance - April 20-21. Learn some french! Bonjour ! Announced in](https://reader035.vdocuments.net/reader035/viewer/2022062602/5ee11812ad6a402d666c1989/html5/thumbnails/8.jpg)
Bonjour !
![Page 9: Angular 2+ - JfokusAngular 2+ Agnès Crépe t @agnes_crepe t. Cédric Exbr ayat @cedric_exbrayat @Ninja Squad. Lyon, Fr ance - April 20-21. Learn some french! Bonjour ! Announced in](https://reader035.vdocuments.net/reader035/viewer/2022062602/5ee11812ad6a402d666c1989/html5/thumbnails/9.jpg)
Announcedin March 2014
![Page 10: Angular 2+ - JfokusAngular 2+ Agnès Crépe t @agnes_crepe t. Cédric Exbr ayat @cedric_exbrayat @Ninja Squad. Lyon, Fr ance - April 20-21. Learn some french! Bonjour ! Announced in](https://reader035.vdocuments.net/reader035/viewer/2022062602/5ee11812ad6a402d666c1989/html5/thumbnails/10.jpg)
Releasedin September 2016
![Page 11: Angular 2+ - JfokusAngular 2+ Agnès Crépe t @agnes_crepe t. Cédric Exbr ayat @cedric_exbrayat @Ninja Squad. Lyon, Fr ance - April 20-21. Learn some french! Bonjour ! Announced in](https://reader035.vdocuments.net/reader035/viewer/2022062602/5ee11812ad6a402d666c1989/html5/thumbnails/11.jpg)
![Page 13: Angular 2+ - JfokusAngular 2+ Agnès Crépe t @agnes_crepe t. Cédric Exbr ayat @cedric_exbrayat @Ninja Squad. Lyon, Fr ance - April 20-21. Learn some french! Bonjour ! Announced in](https://reader035.vdocuments.net/reader035/viewer/2022062602/5ee11812ad6a402d666c1989/html5/thumbnails/13.jpg)
https://books.ninja-squad.com
and an online training
the Pro Packwith exercices, and ponies!
![Page 14: Angular 2+ - JfokusAngular 2+ Agnès Crépe t @agnes_crepe t. Cédric Exbr ayat @cedric_exbrayat @Ninja Squad. Lyon, Fr ance - April 20-21. Learn some french! Bonjour ! Announced in](https://reader035.vdocuments.net/reader035/viewer/2022062602/5ee11812ad6a402d666c1989/html5/thumbnails/14.jpg)
![Page 15: Angular 2+ - JfokusAngular 2+ Agnès Crépe t @agnes_crepe t. Cédric Exbr ayat @cedric_exbrayat @Ninja Squad. Lyon, Fr ance - April 20-21. Learn some french! Bonjour ! Announced in](https://reader035.vdocuments.net/reader035/viewer/2022062602/5ee11812ad6a402d666c1989/html5/thumbnails/15.jpg)
Under the hoodWhy Angular is a kind of magic
![Page 16: Angular 2+ - JfokusAngular 2+ Agnès Crépe t @agnes_crepe t. Cédric Exbr ayat @cedric_exbrayat @Ninja Squad. Lyon, Fr ance - April 20-21. Learn some french! Bonjour ! Announced in](https://reader035.vdocuments.net/reader035/viewer/2022062602/5ee11812ad6a402d666c1989/html5/thumbnails/16.jpg)
10min Hello Worldjust to be sure everybody knows
what we are talking about
![Page 17: Angular 2+ - JfokusAngular 2+ Agnès Crépe t @agnes_crepe t. Cédric Exbr ayat @cedric_exbrayat @Ninja Squad. Lyon, Fr ance - April 20-21. Learn some french! Bonjour ! Announced in](https://reader035.vdocuments.net/reader035/viewer/2022062602/5ee11812ad6a402d666c1989/html5/thumbnails/17.jpg)
Angular is aframework
![Page 18: Angular 2+ - JfokusAngular 2+ Agnès Crépe t @agnes_crepe t. Cédric Exbr ayat @cedric_exbrayat @Ninja Squad. Lyon, Fr ance - April 20-21. Learn some french! Bonjour ! Announced in](https://reader035.vdocuments.net/reader035/viewer/2022062602/5ee11812ad6a402d666c1989/html5/thumbnails/18.jpg)
Write your appwith...
![Page 19: Angular 2+ - JfokusAngular 2+ Agnès Crépe t @agnes_crepe t. Cédric Exbr ayat @cedric_exbrayat @Ninja Squad. Lyon, Fr ance - April 20-21. Learn some french! Bonjour ! Announced in](https://reader035.vdocuments.net/reader035/viewer/2022062602/5ee11812ad6a402d666c1989/html5/thumbnails/19.jpg)
ES5(don't do that)
![Page 20: Angular 2+ - JfokusAngular 2+ Agnès Crépe t @agnes_crepe t. Cédric Exbr ayat @cedric_exbrayat @Ninja Squad. Lyon, Fr ance - April 20-21. Learn some french! Bonjour ! Announced in](https://reader035.vdocuments.net/reader035/viewer/2022062602/5ee11812ad6a402d666c1989/html5/thumbnails/20.jpg)
ES6ModulesClasses
PromisesArrow functions
Block scope variablesCollections
![Page 21: Angular 2+ - JfokusAngular 2+ Agnès Crépe t @agnes_crepe t. Cédric Exbr ayat @cedric_exbrayat @Ninja Squad. Lyon, Fr ance - April 20-21. Learn some french! Bonjour ! Announced in](https://reader035.vdocuments.net/reader035/viewer/2022062602/5ee11812ad6a402d666c1989/html5/thumbnails/21.jpg)
TypeScript(yes it's Microsoft)
Types (but nice ones)Decorators
...
![Page 22: Angular 2+ - JfokusAngular 2+ Agnès Crépe t @agnes_crepe t. Cédric Exbr ayat @cedric_exbrayat @Ninja Squad. Lyon, Fr ance - April 20-21. Learn some french! Bonjour ! Announced in](https://reader035.vdocuments.net/reader035/viewer/2022062602/5ee11812ad6a402d666c1989/html5/thumbnails/22.jpg)
DartGreat right? I'm kidding. Nobody cares.
![Page 23: Angular 2+ - JfokusAngular 2+ Agnès Crépe t @agnes_crepe t. Cédric Exbr ayat @cedric_exbrayat @Ninja Squad. Lyon, Fr ance - April 20-21. Learn some french! Bonjour ! Announced in](https://reader035.vdocuments.net/reader035/viewer/2022062602/5ee11812ad6a402d666c1989/html5/thumbnails/23.jpg)
Everythingis a
Component(even the app)
![Page 24: Angular 2+ - JfokusAngular 2+ Agnès Crépe t @agnes_crepe t. Cédric Exbr ayat @cedric_exbrayat @Ninja Squad. Lyon, Fr ance - April 20-21. Learn some french! Bonjour ! Announced in](https://reader035.vdocuments.net/reader035/viewer/2022062602/5ee11812ad6a402d666c1989/html5/thumbnails/24.jpg)
![Page 25: Angular 2+ - JfokusAngular 2+ Agnès Crépe t @agnes_crepe t. Cédric Exbr ayat @cedric_exbrayat @Ninja Squad. Lyon, Fr ance - April 20-21. Learn some french! Bonjour ! Announced in](https://reader035.vdocuments.net/reader035/viewer/2022062602/5ee11812ad6a402d666c1989/html5/thumbnails/25.jpg)
![Page 26: Angular 2+ - JfokusAngular 2+ Agnès Crépe t @agnes_crepe t. Cédric Exbr ayat @cedric_exbrayat @Ninja Squad. Lyon, Fr ance - April 20-21. Learn some french! Bonjour ! Announced in](https://reader035.vdocuments.net/reader035/viewer/2022062602/5ee11812ad6a402d666c1989/html5/thumbnails/26.jpg)
Web Components
![Page 27: Angular 2+ - JfokusAngular 2+ Agnès Crépe t @agnes_crepe t. Cédric Exbr ayat @cedric_exbrayat @Ninja Squad. Lyon, Fr ance - April 20-21. Learn some french! Bonjour ! Announced in](https://reader035.vdocuments.net/reader035/viewer/2022062602/5ee11812ad6a402d666c1989/html5/thumbnails/27.jpg)
![Page 28: Angular 2+ - JfokusAngular 2+ Agnès Crépe t @agnes_crepe t. Cédric Exbr ayat @cedric_exbrayat @Ninja Squad. Lyon, Fr ance - April 20-21. Learn some french! Bonjour ! Announced in](https://reader035.vdocuments.net/reader035/viewer/2022062602/5ee11812ad6a402d666c1989/html5/thumbnails/28.jpg)
Template+
Logic
![Page 29: Angular 2+ - JfokusAngular 2+ Agnès Crépe t @agnes_crepe t. Cédric Exbr ayat @cedric_exbrayat @Ninja Squad. Lyon, Fr ance - April 20-21. Learn some french! Bonjour ! Announced in](https://reader035.vdocuments.net/reader035/viewer/2022062602/5ee11812ad6a402d666c1989/html5/thumbnails/29.jpg)
The treeof life
of components
![Page 30: Angular 2+ - JfokusAngular 2+ Agnès Crépe t @agnes_crepe t. Cédric Exbr ayat @cedric_exbrayat @Ninja Squad. Lyon, Fr ance - April 20-21. Learn some french! Bonjour ! Announced in](https://reader035.vdocuments.net/reader035/viewer/2022062602/5ee11812ad6a402d666c1989/html5/thumbnails/30.jpg)
Ponyracer
RaceCmpMenuCmp FooterCmp
PonyCmp PonyCmp PonyCmp
![Page 31: Angular 2+ - JfokusAngular 2+ Agnès Crépe t @agnes_crepe t. Cédric Exbr ayat @cedric_exbrayat @Ninja Squad. Lyon, Fr ance - April 20-21. Learn some french! Bonjour ! Announced in](https://reader035.vdocuments.net/reader035/viewer/2022062602/5ee11812ad6a402d666c1989/html5/thumbnails/31.jpg)
AppModule
![Page 32: Angular 2+ - JfokusAngular 2+ Agnès Crépe t @agnes_crepe t. Cédric Exbr ayat @cedric_exbrayat @Ninja Squad. Lyon, Fr ance - April 20-21. Learn some french! Bonjour ! Announced in](https://reader035.vdocuments.net/reader035/viewer/2022062602/5ee11812ad6a402d666c1989/html5/thumbnails/32.jpg)
AppModule
AdminModule
![Page 33: Angular 2+ - JfokusAngular 2+ Agnès Crépe t @agnes_crepe t. Cédric Exbr ayat @cedric_exbrayat @Ninja Squad. Lyon, Fr ance - April 20-21. Learn some french! Bonjour ! Announced in](https://reader035.vdocuments.net/reader035/viewer/2022062602/5ee11812ad6a402d666c1989/html5/thumbnails/33.jpg)
Ponyracer
RaceCmpMenuCmp FooterCmp
PonyCmp PonyCmp PonyCmp
![Page 34: Angular 2+ - JfokusAngular 2+ Agnès Crépe t @agnes_crepe t. Cédric Exbr ayat @cedric_exbrayat @Ninja Squad. Lyon, Fr ance - April 20-21. Learn some french! Bonjour ! Announced in](https://reader035.vdocuments.net/reader035/viewer/2022062602/5ee11812ad6a402d666c1989/html5/thumbnails/34.jpg)
Ponyracer
RaceCmpMenuCmp FooterCmp
PonyCmp PonyCmp PonyCmp
![Page 35: Angular 2+ - JfokusAngular 2+ Agnès Crépe t @agnes_crepe t. Cédric Exbr ayat @cedric_exbrayat @Ninja Squad. Lyon, Fr ance - April 20-21. Learn some french! Bonjour ! Announced in](https://reader035.vdocuments.net/reader035/viewer/2022062602/5ee11812ad6a402d666c1989/html5/thumbnails/35.jpg)
import { Component } from '@angular/core';
@Component({
}) class PonyComponent {
}
![Page 36: Angular 2+ - JfokusAngular 2+ Agnès Crépe t @agnes_crepe t. Cédric Exbr ayat @cedric_exbrayat @Ninja Squad. Lyon, Fr ance - April 20-21. Learn some french! Bonjour ! Announced in](https://reader035.vdocuments.net/reader035/viewer/2022062602/5ee11812ad6a402d666c1989/html5/thumbnails/36.jpg)
@Component({ selector: 'ns-pony', templateUrl: './pony.component.html' }) class PonyComponent {
}
![Page 37: Angular 2+ - JfokusAngular 2+ Agnès Crépe t @agnes_crepe t. Cédric Exbr ayat @cedric_exbrayat @Ninja Squad. Lyon, Fr ance - April 20-21. Learn some french! Bonjour ! Announced in](https://reader035.vdocuments.net/reader035/viewer/2022062602/5ee11812ad6a402d666c1989/html5/thumbnails/37.jpg)
<div>
<ns-pony></ns-pony>
</div>
![Page 38: Angular 2+ - JfokusAngular 2+ Agnès Crépe t @agnes_crepe t. Cédric Exbr ayat @cedric_exbrayat @Ninja Squad. Lyon, Fr ance - April 20-21. Learn some french! Bonjour ! Announced in](https://reader035.vdocuments.net/reader035/viewer/2022062602/5ee11812ad6a402d666c1989/html5/thumbnails/38.jpg)
@Component({ selector: 'ns-pony', templateUrl: './pony.component.html' }) class PonyComponent {
pony = { name: 'Secretariat', color: 'blue' };
}
![Page 39: Angular 2+ - JfokusAngular 2+ Agnès Crépe t @agnes_crepe t. Cédric Exbr ayat @cedric_exbrayat @Ninja Squad. Lyon, Fr ance - April 20-21. Learn some french! Bonjour ! Announced in](https://reader035.vdocuments.net/reader035/viewer/2022062602/5ee11812ad6a402d666c1989/html5/thumbnails/39.jpg)
@Component({ selector: 'ns-pony', templateUrl: './pony.component.html' }) class PonyComponent {
pony = { name: 'Secretariat', color: 'blue' };
getPonyImage() { return `pony-${this.pony.color}.gif`; } }
![Page 40: Angular 2+ - JfokusAngular 2+ Agnès Crépe t @agnes_crepe t. Cédric Exbr ayat @cedric_exbrayat @Ninja Squad. Lyon, Fr ance - April 20-21. Learn some french! Bonjour ! Announced in](https://reader035.vdocuments.net/reader035/viewer/2022062602/5ee11812ad6a402d666c1989/html5/thumbnails/40.jpg)
PowerfulTemplating Syntax
![Page 41: Angular 2+ - JfokusAngular 2+ Agnès Crépe t @agnes_crepe t. Cédric Exbr ayat @cedric_exbrayat @Ninja Squad. Lyon, Fr ance - April 20-21. Learn some french! Bonjour ! Announced in](https://reader035.vdocuments.net/reader035/viewer/2022062602/5ee11812ad6a402d666c1989/html5/thumbnails/41.jpg)
<p>{{pony.name}}</p>
![Page 42: Angular 2+ - JfokusAngular 2+ Agnès Crépe t @agnes_crepe t. Cédric Exbr ayat @cedric_exbrayat @Ninja Squad. Lyon, Fr ance - April 20-21. Learn some french! Bonjour ! Announced in](https://reader035.vdocuments.net/reader035/viewer/2022062602/5ee11812ad6a402d666c1989/html5/thumbnails/42.jpg)
Moustaches
Mustaches
![Page 43: Angular 2+ - JfokusAngular 2+ Agnès Crépe t @agnes_crepe t. Cédric Exbr ayat @cedric_exbrayat @Ninja Squad. Lyon, Fr ance - April 20-21. Learn some french! Bonjour ! Announced in](https://reader035.vdocuments.net/reader035/viewer/2022062602/5ee11812ad6a402d666c1989/html5/thumbnails/43.jpg)
<p>{{pony.name}}</p>
<img [src]="getPonyImage()"/>
![Page 44: Angular 2+ - JfokusAngular 2+ Agnès Crépe t @agnes_crepe t. Cédric Exbr ayat @cedric_exbrayat @Ninja Squad. Lyon, Fr ance - April 20-21. Learn some french! Bonjour ! Announced in](https://reader035.vdocuments.net/reader035/viewer/2022062602/5ee11812ad6a402d666c1989/html5/thumbnails/44.jpg)
![Page 45: Angular 2+ - JfokusAngular 2+ Agnès Crépe t @agnes_crepe t. Cédric Exbr ayat @cedric_exbrayat @Ninja Squad. Lyon, Fr ance - April 20-21. Learn some french! Bonjour ! Announced in](https://reader035.vdocuments.net/reader035/viewer/2022062602/5ee11812ad6a402d666c1989/html5/thumbnails/45.jpg)
class PonyComponent {
// ...
constructor() { setTimeout( () => this.pony.color = 'orange', 3000 ); }
// ...
![Page 46: Angular 2+ - JfokusAngular 2+ Agnès Crépe t @agnes_crepe t. Cédric Exbr ayat @cedric_exbrayat @Ninja Squad. Lyon, Fr ance - April 20-21. Learn some french! Bonjour ! Announced in](https://reader035.vdocuments.net/reader035/viewer/2022062602/5ee11812ad6a402d666c1989/html5/thumbnails/46.jpg)
![Page 47: Angular 2+ - JfokusAngular 2+ Agnès Crépe t @agnes_crepe t. Cédric Exbr ayat @cedric_exbrayat @Ninja Squad. Lyon, Fr ance - April 20-21. Learn some french! Bonjour ! Announced in](https://reader035.vdocuments.net/reader035/viewer/2022062602/5ee11812ad6a402d666c1989/html5/thumbnails/47.jpg)
A n g u l a r i s
![Page 48: Angular 2+ - JfokusAngular 2+ Agnès Crépe t @agnes_crepe t. Cédric Exbr ayat @cedric_exbrayat @Ninja Squad. Lyon, Fr ance - April 20-21. Learn some french! Bonjour ! Announced in](https://reader035.vdocuments.net/reader035/viewer/2022062602/5ee11812ad6a402d666c1989/html5/thumbnails/48.jpg)
Change Detection
![Page 49: Angular 2+ - JfokusAngular 2+ Agnès Crépe t @agnes_crepe t. Cédric Exbr ayat @cedric_exbrayat @Ninja Squad. Lyon, Fr ance - April 20-21. Learn some french! Bonjour ! Announced in](https://reader035.vdocuments.net/reader035/viewer/2022062602/5ee11812ad6a402d666c1989/html5/thumbnails/49.jpg)
A change occurs !
![Page 50: Angular 2+ - JfokusAngular 2+ Agnès Crépe t @agnes_crepe t. Cédric Exbr ayat @cedric_exbrayat @Ninja Squad. Lyon, Fr ance - April 20-21. Learn some french! Bonjour ! Announced in](https://reader035.vdocuments.net/reader035/viewer/2022062602/5ee11812ad6a402d666c1989/html5/thumbnails/50.jpg)
A change occurs
setTimeout( () => /* does something */, 3000 );
![Page 51: Angular 2+ - JfokusAngular 2+ Agnès Crépe t @agnes_crepe t. Cédric Exbr ayat @cedric_exbrayat @Ninja Squad. Lyon, Fr ance - April 20-21. Learn some french! Bonjour ! Announced in](https://reader035.vdocuments.net/reader035/viewer/2022062602/5ee11812ad6a402d666c1989/html5/thumbnails/51.jpg)
App's state updates
setTimeout( () => this.pony.color = 'orange', 3000 );
![Page 52: Angular 2+ - JfokusAngular 2+ Agnès Crépe t @agnes_crepe t. Cédric Exbr ayat @cedric_exbrayat @Ninja Squad. Lyon, Fr ance - April 20-21. Learn some french! Bonjour ! Announced in](https://reader035.vdocuments.net/reader035/viewer/2022062602/5ee11812ad6a402d666c1989/html5/thumbnails/52.jpg)
Angular detectsthe change
![Page 53: Angular 2+ - JfokusAngular 2+ Agnès Crépe t @agnes_crepe t. Cédric Exbr ayat @cedric_exbrayat @Ninja Squad. Lyon, Fr ance - April 20-21. Learn some french! Bonjour ! Announced in](https://reader035.vdocuments.net/reader035/viewer/2022062602/5ee11812ad6a402d666c1989/html5/thumbnails/53.jpg)
Angular updatesthe DOM
<img [src]="getPonyImage()"/>
![Page 54: Angular 2+ - JfokusAngular 2+ Agnès Crépe t @agnes_crepe t. Cédric Exbr ayat @cedric_exbrayat @Ninja Squad. Lyon, Fr ance - April 20-21. Learn some french! Bonjour ! Announced in](https://reader035.vdocuments.net/reader035/viewer/2022062602/5ee11812ad6a402d666c1989/html5/thumbnails/54.jpg)
UI is up to date!
![Page 55: Angular 2+ - JfokusAngular 2+ Agnès Crépe t @agnes_crepe t. Cédric Exbr ayat @cedric_exbrayat @Ninja Squad. Lyon, Fr ance - April 20-21. Learn some french! Bonjour ! Announced in](https://reader035.vdocuments.net/reader035/viewer/2022062602/5ee11812ad6a402d666c1989/html5/thumbnails/55.jpg)
WhenHow
![Page 56: Angular 2+ - JfokusAngular 2+ Agnès Crépe t @agnes_crepe t. Cédric Exbr ayat @cedric_exbrayat @Ninja Squad. Lyon, Fr ance - April 20-21. Learn some french! Bonjour ! Announced in](https://reader035.vdocuments.net/reader035/viewer/2022062602/5ee11812ad6a402d666c1989/html5/thumbnails/56.jpg)
AngularJS 1.x
![Page 57: Angular 2+ - JfokusAngular 2+ Agnès Crépe t @agnes_crepe t. Cédric Exbr ayat @cedric_exbrayat @Ninja Squad. Lyon, Fr ance - April 20-21. Learn some french! Bonjour ! Announced in](https://reader035.vdocuments.net/reader035/viewer/2022062602/5ee11812ad6a402d666c1989/html5/thumbnails/57.jpg)
When
![Page 58: Angular 2+ - JfokusAngular 2+ Agnès Crépe t @agnes_crepe t. Cédric Exbr ayat @cedric_exbrayat @Ninja Squad. Lyon, Fr ance - April 20-21. Learn some french! Bonjour ! Announced in](https://reader035.vdocuments.net/reader035/viewer/2022062602/5ee11812ad6a402d666c1989/html5/thumbnails/58.jpg)
Always use theframework
$http, $timeout()or $scope.$apply() manually
1.x
![Page 59: Angular 2+ - JfokusAngular 2+ Agnès Crépe t @agnes_crepe t. Cédric Exbr ayat @cedric_exbrayat @Ninja Squad. Lyon, Fr ance - April 20-21. Learn some french! Bonjour ! Announced in](https://reader035.vdocuments.net/reader035/viewer/2022062602/5ee11812ad6a402d666c1989/html5/thumbnails/59.jpg)
How
![Page 60: Angular 2+ - JfokusAngular 2+ Agnès Crépe t @agnes_crepe t. Cédric Exbr ayat @cedric_exbrayat @Ninja Squad. Lyon, Fr ance - April 20-21. Learn some french! Bonjour ! Announced in](https://reader035.vdocuments.net/reader035/viewer/2022062602/5ee11812ad6a402d666c1989/html5/thumbnails/60.jpg)
digest
1.x
![Page 61: Angular 2+ - JfokusAngular 2+ Agnès Crépe t @agnes_crepe t. Cédric Exbr ayat @cedric_exbrayat @Ninja Squad. Lyon, Fr ance - April 20-21. Learn some french! Bonjour ! Announced in](https://reader035.vdocuments.net/reader035/viewer/2022062602/5ee11812ad6a402d666c1989/html5/thumbnails/61.jpg)
<input ng-model="user.username"> <strong>{{user.username}}</strong>
<input type="password" ng-model="user.password"> <strong>{{strength}}</strong>
1.x
![Page 62: Angular 2+ - JfokusAngular 2+ Agnès Crépe t @agnes_crepe t. Cédric Exbr ayat @cedric_exbrayat @Ninja Squad. Lyon, Fr ance - April 20-21. Learn some french! Bonjour ! Announced in](https://reader035.vdocuments.net/reader035/viewer/2022062602/5ee11812ad6a402d666c1989/html5/thumbnails/62.jpg)
Watchers
"user.username""user.password""strength"
1.x
![Page 63: Angular 2+ - JfokusAngular 2+ Agnès Crépe t @agnes_crepe t. Cédric Exbr ayat @cedric_exbrayat @Ninja Squad. Lyon, Fr ance - April 20-21. Learn some french! Bonjour ! Announced in](https://reader035.vdocuments.net/reader035/viewer/2022062602/5ee11812ad6a402d666c1989/html5/thumbnails/63.jpg)
1.x
![Page 64: Angular 2+ - JfokusAngular 2+ Agnès Crépe t @agnes_crepe t. Cédric Exbr ayat @cedric_exbrayat @Ninja Squad. Lyon, Fr ance - April 20-21. Learn some french! Bonjour ! Announced in](https://reader035.vdocuments.net/reader035/viewer/2022062602/5ee11812ad6a402d666c1989/html5/thumbnails/64.jpg)
$scope.$watch( 'user.password', (val, oldVal) => { $scope.strength = computeStrength(val); } );
$scope.$watch( 'strength', (val, oldVal) => { $scope.secure = isSecure(val); } );
1.x
![Page 65: Angular 2+ - JfokusAngular 2+ Agnès Crépe t @agnes_crepe t. Cédric Exbr ayat @cedric_exbrayat @Ninja Squad. Lyon, Fr ance - April 20-21. Learn some french! Bonjour ! Announced in](https://reader035.vdocuments.net/reader035/viewer/2022062602/5ee11812ad6a402d666c1989/html5/thumbnails/65.jpg)
$$watchers
'user.password' = 'abc''strength' = 2'secure' = false...
$$watchers
'user.password' = 'abc''strength' = 3'secure' = false...
$$watchers
'user.password' = 'abc''strength' = 3'secure' = true...
$$watchers
'user.password' = 'abc''strength' = 3'secure' = true...
1.x
![Page 66: Angular 2+ - JfokusAngular 2+ Agnès Crépe t @agnes_crepe t. Cédric Exbr ayat @cedric_exbrayat @Ninja Squad. Lyon, Fr ance - April 20-21. Learn some french! Bonjour ! Announced in](https://reader035.vdocuments.net/reader035/viewer/2022062602/5ee11812ad6a402d666c1989/html5/thumbnails/66.jpg)
~500 watchers
~4x cycle
= 2000 evaluations... on every key press
1.x
![Page 67: Angular 2+ - JfokusAngular 2+ Agnès Crépe t @agnes_crepe t. Cédric Exbr ayat @cedric_exbrayat @Ninja Squad. Lyon, Fr ance - April 20-21. Learn some french! Bonjour ! Announced in](https://reader035.vdocuments.net/reader035/viewer/2022062602/5ee11812ad6a402d666c1989/html5/thumbnails/67.jpg)
Angular (2+)
2+
![Page 68: Angular 2+ - JfokusAngular 2+ Agnès Crépe t @agnes_crepe t. Cédric Exbr ayat @cedric_exbrayat @Ninja Squad. Lyon, Fr ance - April 20-21. Learn some french! Bonjour ! Announced in](https://reader035.vdocuments.net/reader035/viewer/2022062602/5ee11812ad6a402d666c1989/html5/thumbnails/68.jpg)
When
![Page 69: Angular 2+ - JfokusAngular 2+ Agnès Crépe t @agnes_crepe t. Cédric Exbr ayat @cedric_exbrayat @Ninja Squad. Lyon, Fr ance - April 20-21. Learn some french! Bonjour ! Announced in](https://reader035.vdocuments.net/reader035/viewer/2022062602/5ee11812ad6a402d666c1989/html5/thumbnails/69.jpg)
Zone.js
2+
![Page 70: Angular 2+ - JfokusAngular 2+ Agnès Crépe t @agnes_crepe t. Cédric Exbr ayat @cedric_exbrayat @Ninja Squad. Lyon, Fr ance - April 20-21. Learn some french! Bonjour ! Announced in](https://reader035.vdocuments.net/reader035/viewer/2022062602/5ee11812ad6a402d666c1989/html5/thumbnails/70.jpg)
BrowsersetTimeout
Your appsetTimeout(() => ..., 3000)
2+
![Page 71: Angular 2+ - JfokusAngular 2+ Agnès Crépe t @agnes_crepe t. Cédric Exbr ayat @cedric_exbrayat @Ninja Squad. Lyon, Fr ance - April 20-21. Learn some french! Bonjour ! Announced in](https://reader035.vdocuments.net/reader035/viewer/2022062602/5ee11812ad6a402d666c1989/html5/thumbnails/71.jpg)
Zone.jssetTimeout
Your appsetTimeout(() => ..., 3000)
BrowsersetTimeout
2+
![Page 72: Angular 2+ - JfokusAngular 2+ Agnès Crépe t @agnes_crepe t. Cédric Exbr ayat @cedric_exbrayat @Ninja Squad. Lyon, Fr ance - April 20-21. Learn some french! Bonjour ! Announced in](https://reader035.vdocuments.net/reader035/viewer/2022062602/5ee11812ad6a402d666c1989/html5/thumbnails/72.jpg)
How
![Page 73: Angular 2+ - JfokusAngular 2+ Agnès Crépe t @agnes_crepe t. Cédric Exbr ayat @cedric_exbrayat @Ninja Squad. Lyon, Fr ance - April 20-21. Learn some french! Bonjour ! Announced in](https://reader035.vdocuments.net/reader035/viewer/2022062602/5ee11812ad6a402d666c1989/html5/thumbnails/73.jpg)
Ponyracer
RaceCmpMenuCmp FooterCmp
PonyCmp PonyCmp PonyCmp
2+
![Page 74: Angular 2+ - JfokusAngular 2+ Agnès Crépe t @agnes_crepe t. Cédric Exbr ayat @cedric_exbrayat @Ninja Squad. Lyon, Fr ance - April 20-21. Learn some french! Bonjour ! Announced in](https://reader035.vdocuments.net/reader035/viewer/2022062602/5ee11812ad6a402d666c1989/html5/thumbnails/74.jpg)
Ponyracer
RaceCmpMenuCmp FooterCmp
PonyCmp PonyCmp PonyCmp
2+
![Page 75: Angular 2+ - JfokusAngular 2+ Agnès Crépe t @agnes_crepe t. Cédric Exbr ayat @cedric_exbrayat @Ninja Squad. Lyon, Fr ance - April 20-21. Learn some french! Bonjour ! Announced in](https://reader035.vdocuments.net/reader035/viewer/2022062602/5ee11812ad6a402d666c1989/html5/thumbnails/75.jpg)
No cycle anymore!
2+
![Page 76: Angular 2+ - JfokusAngular 2+ Agnès Crépe t @agnes_crepe t. Cédric Exbr ayat @cedric_exbrayat @Ninja Squad. Lyon, Fr ance - April 20-21. Learn some french! Bonjour ! Announced in](https://reader035.vdocuments.net/reader035/viewer/2022062602/5ee11812ad6a402d666c1989/html5/thumbnails/76.jpg)
Optimized for JS VM
2+
![Page 77: Angular 2+ - JfokusAngular 2+ Agnès Crépe t @agnes_crepe t. Cédric Exbr ayat @cedric_exbrayat @Ninja Squad. Lyon, Fr ance - April 20-21. Learn some french! Bonjour ! Announced in](https://reader035.vdocuments.net/reader035/viewer/2022062602/5ee11812ad6a402d666c1989/html5/thumbnails/77.jpg)
Inline caching
2+
![Page 78: Angular 2+ - JfokusAngular 2+ Agnès Crépe t @agnes_crepe t. Cédric Exbr ayat @cedric_exbrayat @Ninja Squad. Lyon, Fr ance - April 20-21. Learn some french! Bonjour ! Announced in](https://reader035.vdocuments.net/reader035/viewer/2022062602/5ee11812ad6a402d666c1989/html5/thumbnails/78.jpg)
function greetings(animal) { return 'hello ' + animal.name; }
![Page 79: Angular 2+ - JfokusAngular 2+ Agnès Crépe t @agnes_crepe t. Cédric Exbr ayat @cedric_exbrayat @Ninja Squad. Lyon, Fr ance - April 20-21. Learn some french! Bonjour ! Announced in](https://reader035.vdocuments.net/reader035/viewer/2022062602/5ee11812ad6a402d666c1989/html5/thumbnails/79.jpg)
Where is 'name' in an object ofshape ' Human'?
Dynamic lookup
Offset 0x00ab
Ok I'll store that!
![Page 80: Angular 2+ - JfokusAngular 2+ Agnès Crépe t @agnes_crepe t. Cédric Exbr ayat @cedric_exbrayat @Ninja Squad. Lyon, Fr ance - April 20-21. Learn some french! Bonjour ! Announced in](https://reader035.vdocuments.net/reader035/viewer/2022062602/5ee11812ad6a402d666c1989/html5/thumbnails/80.jpg)
Cachemonomorphic
Human (name) 0x00ab
![Page 81: Angular 2+ - JfokusAngular 2+ Agnès Crépe t @agnes_crepe t. Cédric Exbr ayat @cedric_exbrayat @Ninja Squad. Lyon, Fr ance - April 20-21. Learn some french! Bonjour ! Announced in](https://reader035.vdocuments.net/reader035/viewer/2022062602/5ee11812ad6a402d666c1989/html5/thumbnails/81.jpg)
Where is 'name' in an object ofshape ' Human'?
Cache lookup
Let's go!
Super fast!!
![Page 82: Angular 2+ - JfokusAngular 2+ Agnès Crépe t @agnes_crepe t. Cédric Exbr ayat @cedric_exbrayat @Ninja Squad. Lyon, Fr ance - April 20-21. Learn some french! Bonjour ! Announced in](https://reader035.vdocuments.net/reader035/viewer/2022062602/5ee11812ad6a402d666c1989/html5/thumbnails/82.jpg)
Where is 'name' in an object ofshape ' Pony'?
Dynamic lookup
Offset 0x00de
Ok I'll store that!
![Page 83: Angular 2+ - JfokusAngular 2+ Agnès Crépe t @agnes_crepe t. Cédric Exbr ayat @cedric_exbrayat @Ninja Squad. Lyon, Fr ance - April 20-21. Learn some french! Bonjour ! Announced in](https://reader035.vdocuments.net/reader035/viewer/2022062602/5ee11812ad6a402d666c1989/html5/thumbnails/83.jpg)
Cachepolymorphic
Human (name) 0x00abPony (name) 0x00de
![Page 84: Angular 2+ - JfokusAngular 2+ Agnès Crépe t @agnes_crepe t. Cédric Exbr ayat @cedric_exbrayat @Ninja Squad. Lyon, Fr ance - April 20-21. Learn some french! Bonjour ! Announced in](https://reader035.vdocuments.net/reader035/viewer/2022062602/5ee11812ad6a402d666c1989/html5/thumbnails/84.jpg)
Ça fait chier
Fuck this shit
![Page 85: Angular 2+ - JfokusAngular 2+ Agnès Crépe t @agnes_crepe t. Cédric Exbr ayat @cedric_exbrayat @Ninja Squad. Lyon, Fr ance - April 20-21. Learn some french! Bonjour ! Announced in](https://reader035.vdocuments.net/reader035/viewer/2022062602/5ee11812ad6a402d666c1989/html5/thumbnails/85.jpg)
Where is 'name' in an object ofshape ' Manager'?
Dynamic lookup
Offset 0x00fg
Fuck this shitI'll check every time
![Page 86: Angular 2+ - JfokusAngular 2+ Agnès Crépe t @agnes_crepe t. Cédric Exbr ayat @cedric_exbrayat @Ninja Squad. Lyon, Fr ance - April 20-21. Learn some french! Bonjour ! Announced in](https://reader035.vdocuments.net/reader035/viewer/2022062602/5ee11812ad6a402d666c1989/html5/thumbnails/86.jpg)
No Cachemegamorphic
Slower(like 10x slower)
![Page 87: Angular 2+ - JfokusAngular 2+ Agnès Crépe t @agnes_crepe t. Cédric Exbr ayat @cedric_exbrayat @Ninja Squad. Lyon, Fr ance - April 20-21. Learn some french! Bonjour ! Announced in](https://reader035.vdocuments.net/reader035/viewer/2022062602/5ee11812ad6a402d666c1989/html5/thumbnails/87.jpg)
AngularJS 1.x
eval("expr", context)
1.x
![Page 88: Angular 2+ - JfokusAngular 2+ Agnès Crépe t @agnes_crepe t. Cédric Exbr ayat @cedric_exbrayat @Ninja Squad. Lyon, Fr ance - April 20-21. Learn some french! Bonjour ! Announced in](https://reader035.vdocuments.net/reader035/viewer/2022062602/5ee11812ad6a402d666c1989/html5/thumbnails/88.jpg)
AngularJS 1.x
megamorphiccalls
1.x
![Page 89: Angular 2+ - JfokusAngular 2+ Agnès Crépe t @agnes_crepe t. Cédric Exbr ayat @cedric_exbrayat @Ninja Squad. Lyon, Fr ance - April 20-21. Learn some french! Bonjour ! Announced in](https://reader035.vdocuments.net/reader035/viewer/2022062602/5ee11812ad6a402d666c1989/html5/thumbnails/89.jpg)
Angulargenerates code foreach component
2+
![Page 90: Angular 2+ - JfokusAngular 2+ Agnès Crépe t @agnes_crepe t. Cédric Exbr ayat @cedric_exbrayat @Ninja Squad. Lyon, Fr ance - April 20-21. Learn some french! Bonjour ! Announced in](https://reader035.vdocuments.net/reader035/viewer/2022062602/5ee11812ad6a402d666c1989/html5/thumbnails/90.jpg)
PonyCmp_View.prototype. detectInternalChanges(cmp) {
var val = cmp.getPonyImage(); if (val !== this.lastVal) { this.node1 .setElementProperty('src', val); this.lastVal = val; }
}
2+
![Page 91: Angular 2+ - JfokusAngular 2+ Agnès Crépe t @agnes_crepe t. Cédric Exbr ayat @cedric_exbrayat @Ninja Squad. Lyon, Fr ance - April 20-21. Learn some french! Bonjour ! Announced in](https://reader035.vdocuments.net/reader035/viewer/2022062602/5ee11812ad6a402d666c1989/html5/thumbnails/91.jpg)
Angular monomorphic calls
2+
![Page 92: Angular 2+ - JfokusAngular 2+ Agnès Crépe t @agnes_crepe t. Cédric Exbr ayat @cedric_exbrayat @Ninja Squad. Lyon, Fr ance - April 20-21. Learn some french! Bonjour ! Announced in](https://reader035.vdocuments.net/reader035/viewer/2022062602/5ee11812ad6a402d666c1989/html5/thumbnails/92.jpg)
Change detection isa lot faster!
2+
![Page 93: Angular 2+ - JfokusAngular 2+ Agnès Crépe t @agnes_crepe t. Cédric Exbr ayat @cedric_exbrayat @Ninja Squad. Lyon, Fr ance - April 20-21. Learn some french! Bonjour ! Announced in](https://reader035.vdocuments.net/reader035/viewer/2022062602/5ee11812ad6a402d666c1989/html5/thumbnails/93.jpg)
Ça pète sa mère
It's soooo cool
It breaks his mom
![Page 94: Angular 2+ - JfokusAngular 2+ Agnès Crépe t @agnes_crepe t. Cédric Exbr ayat @cedric_exbrayat @Ninja Squad. Lyon, Fr ance - April 20-21. Learn some french! Bonjour ! Announced in](https://reader035.vdocuments.net/reader035/viewer/2022062602/5ee11812ad6a402d666c1989/html5/thumbnails/94.jpg)
Compilation
![Page 95: Angular 2+ - JfokusAngular 2+ Agnès Crépe t @agnes_crepe t. Cédric Exbr ayat @cedric_exbrayat @Ninja Squad. Lyon, Fr ance - April 20-21. Learn some french! Bonjour ! Announced in](https://reader035.vdocuments.net/reader035/viewer/2022062602/5ee11812ad6a402d666c1989/html5/thumbnails/95.jpg)
Slower start
![Page 96: Angular 2+ - JfokusAngular 2+ Agnès Crépe t @agnes_crepe t. Cédric Exbr ayat @cedric_exbrayat @Ninja Squad. Lyon, Fr ance - April 20-21. Learn some french! Bonjour ! Announced in](https://reader035.vdocuments.net/reader035/viewer/2022062602/5ee11812ad6a402d666c1989/html5/thumbnails/96.jpg)
Just in Timecompilation
![Page 97: Angular 2+ - JfokusAngular 2+ Agnès Crépe t @agnes_crepe t. Cédric Exbr ayat @cedric_exbrayat @Ninja Squad. Lyon, Fr ance - April 20-21. Learn some french! Bonjour ! Announced in](https://reader035.vdocuments.net/reader035/viewer/2022062602/5ee11812ad6a402d666c1989/html5/thumbnails/97.jpg)
TS
HTML
build run
JS
JS
Just in Time
![Page 98: Angular 2+ - JfokusAngular 2+ Agnès Crépe t @agnes_crepe t. Cédric Exbr ayat @cedric_exbrayat @Ninja Squad. Lyon, Fr ance - April 20-21. Learn some french! Bonjour ! Announced in](https://reader035.vdocuments.net/reader035/viewer/2022062602/5ee11812ad6a402d666c1989/html5/thumbnails/98.jpg)
Ahead of Timecompilation
![Page 99: Angular 2+ - JfokusAngular 2+ Agnès Crépe t @agnes_crepe t. Cédric Exbr ayat @cedric_exbrayat @Ninja Squad. Lyon, Fr ance - April 20-21. Learn some french! Bonjour ! Announced in](https://reader035.vdocuments.net/reader035/viewer/2022062602/5ee11812ad6a402d666c1989/html5/thumbnails/99.jpg)
TSHTML
build
JS
JS
Ahead of Time
TS
![Page 100: Angular 2+ - JfokusAngular 2+ Agnès Crépe t @agnes_crepe t. Cédric Exbr ayat @cedric_exbrayat @Ninja Squad. Lyon, Fr ance - April 20-21. Learn some french! Bonjour ! Announced in](https://reader035.vdocuments.net/reader035/viewer/2022062602/5ee11812ad6a402d666c1989/html5/thumbnails/100.jpg)
Faster start
![Page 101: Angular 2+ - JfokusAngular 2+ Agnès Crépe t @agnes_crepe t. Cédric Exbr ayat @cedric_exbrayat @Ninja Squad. Lyon, Fr ance - April 20-21. Learn some french! Bonjour ! Announced in](https://reader035.vdocuments.net/reader035/viewer/2022062602/5ee11812ad6a402d666c1989/html5/thumbnails/101.jpg)
Type checking
![Page 102: Angular 2+ - JfokusAngular 2+ Agnès Crépe t @agnes_crepe t. Cédric Exbr ayat @cedric_exbrayat @Ninja Squad. Lyon, Fr ance - April 20-21. Learn some french! Bonjour ! Announced in](https://reader035.vdocuments.net/reader035/viewer/2022062602/5ee11812ad6a402d666c1989/html5/thumbnails/102.jpg)
const val = this.component.getPonyImage();
if (val !== this.lastVal) { this.node1 .setElementProperty('src', val); this.lastVal = val; }
![Page 103: Angular 2+ - JfokusAngular 2+ Agnès Crépe t @agnes_crepe t. Cédric Exbr ayat @cedric_exbrayat @Ninja Squad. Lyon, Fr ance - April 20-21. Learn some french! Bonjour ! Announced in](https://reader035.vdocuments.net/reader035/viewer/2022062602/5ee11812ad6a402d666c1989/html5/thumbnails/103.jpg)
Package size
![Page 104: Angular 2+ - JfokusAngular 2+ Agnès Crépe t @agnes_crepe t. Cédric Exbr ayat @cedric_exbrayat @Ninja Squad. Lyon, Fr ance - April 20-21. Learn some french! Bonjour ! Announced in](https://reader035.vdocuments.net/reader035/viewer/2022062602/5ee11812ad6a402d666c1989/html5/thumbnails/104.jpg)
On ne peut pas savoir
We can't really know
![Page 105: Angular 2+ - JfokusAngular 2+ Agnès Crépe t @agnes_crepe t. Cédric Exbr ayat @cedric_exbrayat @Ninja Squad. Lyon, Fr ance - April 20-21. Learn some french! Bonjour ! Announced in](https://reader035.vdocuments.net/reader035/viewer/2022062602/5ee11812ad6a402d666c1989/html5/thumbnails/105.jpg)
No compilerTree shakingJS generated
![Page 106: Angular 2+ - JfokusAngular 2+ Agnès Crépe t @agnes_crepe t. Cédric Exbr ayat @cedric_exbrayat @Ninja Squad. Lyon, Fr ance - April 20-21. Learn some french! Bonjour ! Announced in](https://reader035.vdocuments.net/reader035/viewer/2022062602/5ee11812ad6a402d666c1989/html5/thumbnails/106.jpg)
Fast and Small?
![Page 107: Angular 2+ - JfokusAngular 2+ Agnès Crépe t @agnes_crepe t. Cédric Exbr ayat @cedric_exbrayat @Ninja Squad. Lyon, Fr ance - April 20-21. Learn some french! Bonjour ! Announced in](https://reader035.vdocuments.net/reader035/viewer/2022062602/5ee11812ad6a402d666c1989/html5/thumbnails/107.jpg)
AppModule
app.bundle.js (150K)
![Page 108: Angular 2+ - JfokusAngular 2+ Agnès Crépe t @agnes_crepe t. Cédric Exbr ayat @cedric_exbrayat @Ninja Squad. Lyon, Fr ance - April 20-21. Learn some french! Bonjour ! Announced in](https://reader035.vdocuments.net/reader035/viewer/2022062602/5ee11812ad6a402d666c1989/html5/thumbnails/108.jpg)
/
index.html
app.bundle.js
![Page 109: Angular 2+ - JfokusAngular 2+ Agnès Crépe t @agnes_crepe t. Cédric Exbr ayat @cedric_exbrayat @Ninja Squad. Lyon, Fr ance - April 20-21. Learn some french! Bonjour ! Announced in](https://reader035.vdocuments.net/reader035/viewer/2022062602/5ee11812ad6a402d666c1989/html5/thumbnails/109.jpg)
Lazy loading
![Page 110: Angular 2+ - JfokusAngular 2+ Agnès Crépe t @agnes_crepe t. Cédric Exbr ayat @cedric_exbrayat @Ninja Squad. Lyon, Fr ance - April 20-21. Learn some french! Bonjour ! Announced in](https://reader035.vdocuments.net/reader035/viewer/2022062602/5ee11812ad6a402d666c1989/html5/thumbnails/110.jpg)
AppModule
AdminModule
main.bundle.js (100K)
admin.bundle.js (50K)
![Page 111: Angular 2+ - JfokusAngular 2+ Agnès Crépe t @agnes_crepe t. Cédric Exbr ayat @cedric_exbrayat @Ninja Squad. Lyon, Fr ance - April 20-21. Learn some french! Bonjour ! Announced in](https://reader035.vdocuments.net/reader035/viewer/2022062602/5ee11812ad6a402d666c1989/html5/thumbnails/111.jpg)
Router
![Page 112: Angular 2+ - JfokusAngular 2+ Agnès Crépe t @agnes_crepe t. Cédric Exbr ayat @cedric_exbrayat @Ninja Squad. Lyon, Fr ance - April 20-21. Learn some french! Bonjour ! Announced in](https://reader035.vdocuments.net/reader035/viewer/2022062602/5ee11812ad6a402d666c1989/html5/thumbnails/112.jpg)
/
index.html
main.bundle.js
/admin
admin.bundle.js
![Page 113: Angular 2+ - JfokusAngular 2+ Agnès Crépe t @agnes_crepe t. Cédric Exbr ayat @cedric_exbrayat @Ninja Squad. Lyon, Fr ance - April 20-21. Learn some french! Bonjour ! Announced in](https://reader035.vdocuments.net/reader035/viewer/2022062602/5ee11812ad6a402d666c1989/html5/thumbnails/113.jpg)
Multiple (mini)bundles \o/
![Page 114: Angular 2+ - JfokusAngular 2+ Agnès Crépe t @agnes_crepe t. Cédric Exbr ayat @cedric_exbrayat @Ninja Squad. Lyon, Fr ance - April 20-21. Learn some french! Bonjour ! Announced in](https://reader035.vdocuments.net/reader035/viewer/2022062602/5ee11812ad6a402d666c1989/html5/thumbnails/114.jpg)
Preloading strategy
![Page 115: Angular 2+ - JfokusAngular 2+ Agnès Crépe t @agnes_crepe t. Cédric Exbr ayat @cedric_exbrayat @Ninja Squad. Lyon, Fr ance - April 20-21. Learn some french! Bonjour ! Announced in](https://reader035.vdocuments.net/reader035/viewer/2022062602/5ee11812ad6a402d666c1989/html5/thumbnails/115.jpg)
/
index.html
main.bundle.js
/admin
admin.bundle.js
![Page 116: Angular 2+ - JfokusAngular 2+ Agnès Crépe t @agnes_crepe t. Cédric Exbr ayat @cedric_exbrayat @Ninja Squad. Lyon, Fr ance - April 20-21. Learn some french! Bonjour ! Announced in](https://reader035.vdocuments.net/reader035/viewer/2022062602/5ee11812ad6a402d666c1989/html5/thumbnails/116.jpg)
No more magic!
Change detectionAoT compilationBundle sizeLazy loading
![Page 117: Angular 2+ - JfokusAngular 2+ Agnès Crépe t @agnes_crepe t. Cédric Exbr ayat @cedric_exbrayat @Ninja Squad. Lyon, Fr ance - April 20-21. Learn some french! Bonjour ! Announced in](https://reader035.vdocuments.net/reader035/viewer/2022062602/5ee11812ad6a402d666c1989/html5/thumbnails/117.jpg)
C'était génial !This talk was
awesome!(thank you!)
![Page 118: Angular 2+ - JfokusAngular 2+ Agnès Crépe t @agnes_crepe t. Cédric Exbr ayat @cedric_exbrayat @Ninja Squad. Lyon, Fr ance - April 20-21. Learn some french! Bonjour ! Announced in](https://reader035.vdocuments.net/reader035/viewer/2022062602/5ee11812ad6a402d666c1989/html5/thumbnails/118.jpg)
@agnes_crepet@cedric_exbrayat
@NinjaSquadhttps://books.ninja-squad.com
Thanks!30% with
discount codeJFokus2017