19
Angular 2 Víťa Plšek @VitaPlsek Java / Javascript www.angular.cz

jOpenspace 2016 - Angular 2

Embed Size (px)

Citation preview

Page 1: jOpenspace 2016 - Angular 2

Angular 2

Víťa Plšek@VitaPlsek

Java / Javascriptwww.angular.cz

Page 2: jOpenspace 2016 - Angular 2

vlastní kompozice knihoven framework

Kudy do světa frontendu ?

Page 3: jOpenspace 2016 - Angular 2

?

Page 4: jOpenspace 2016 - Angular 2

Stack Overflow - Developer Survey 2016MOST POPULAR TECHNOLOGIES

Angular přerostl své odvětví

Page 5: jOpenspace 2016 - Angular 2

Angular 1.x

● od roku 2009● naučil lidi psát SPA● velká komunita● oblíbený v enterprise

Source: State of Octoverse 2016

Page 6: jOpenspace 2016 - Angular 2

⚠ dirty checking⚠ lazy loading⚠ renderování na serveru

Page 7: jOpenspace 2016 - Angular 2

Angular 2 - nový začátek

● 22. září 2014 - první zmínka● 30. dubna 2015 - preview● 15. prosince 2015 - beta ● 4. května 2016 - rc● 14. září 2016 - finální

Page 8: jOpenspace 2016 - Angular 2

Angular 2 chce být komplexní platformou

Page 9: jOpenspace 2016 - Angular 2

Lepší podpora IDE

Page 10: jOpenspace 2016 - Angular 2

class HeroDetailComponent implements OnInit { hero: Hero; onUpdate = new EventEmitter<Hero>();

constructor(private heroService: HeroService) {}

update(): void { this.heroService.saveHero(this.hero) .then(hero => this.onUpdate.emit(hero)); }); }

...}

Page 11: jOpenspace 2016 - Angular 2

@Component({ selector: 'hero-detail', templateUrl: './hero-detail.component.html', styleUrls: ['./hero-detail.component.css'], providers: [HeroService]})class HeroDetailComponent implements OnInit { hero: Hero; onUpdate = new EventEmitter<Hero>();

constructor(private heroService: HeroService) {}

update(): void { this.heroService.saveHero(this.hero) .then(hero => this.onUpdate.emit(hero)); }); }

...}

Page 12: jOpenspace 2016 - Angular 2

@Component({ selector: 'hero-detail', templateUrl: './hero-detail.component.html', styleUrls: ['./hero-detail.component.css'], providers: [HeroService]})class HeroDetailComponent implements OnInit { @Input() hero: Hero; @Output() onUpdate = new EventEmitter<Hero>();

constructor(private heroService: HeroService) {}

update(): void { this.heroService.saveHero(this.hero) .then(hero => this.onUpdate.emit(hero)); }); }

...}

Page 13: jOpenspace 2016 - Angular 2

ElementElement

RouterComponent

NgModule

Lazy LoadingNgModule

ElementElement

Component

Platform

Page 14: jOpenspace 2016 - Angular 2

Angular Universal

Page 15: jOpenspace 2016 - Angular 2

Angular CLI (Command Line Interface)

Komplexnívývojový devstack

Page 16: jOpenspace 2016 - Angular 2

** Použitím technologie v ranné fázi akceptujete, že knihovny, nástroje a doporučené postupy nemusí být ve stavu, který očekáváte.

Psát dnes nové aplikace v Angular 2 ?

Page 17: jOpenspace 2016 - Angular 2

Co se stávajícími systémy ?

Page 18: jOpenspace 2016 - Angular 2

Vyzkoušejte tutorialTour of Heroes na angular.io

Jak začít ?

Page 19: jOpenspace 2016 - Angular 2

… díky za pozornost

angular.cz/jopenspace-2016