SlideShare ist ein Scribd-Unternehmen logo
1
Clients für alle Plattformen mit Angular 2,
TypeScript und Visual Studio Code
Manfred Steyer
ManfredSteyer
Side-Projects
Page  2
www.software-engineering-leadership.de
2
Inhalt
Warum AngularJS ?
Angular 2
DEMO
Fazit
Page  5
WARUM ANGULARJS?
Page  6
3
Plattformen und Usability
HTML + JavaScript
Single Page Application
High-Level Architektur
Page  8
Services
HTML/
JavaScript-Client
HTTP
Single Page Application (SPA)
4
Page  13
HTML + JavaScript => Komplexität
Page  14
HTML + JavaScript + jQuery => Komplexität
5
Page  15
Frameworks machen SPA beherrschbar
Community (April 2015)
Page  20
AngularJS EmberJS Durandal Aurelia
Stars 37.318 13.339 1.534 2.347
Forks 15.494 2.851 357 97
Contributers 1.215 474 69 8
Zahlen aus Core-Projekten übernommen
6
Google Analytics (April 2015)
Page  21
Job Trends (Indeed.com, April 2015)
Page  22
7
HERAUSFORDERUNGEN IN
ANGULARJS 1.X
Page  34
Herausforderungen in AngularJS 1.x
Page  35
Performance Nachvollziehbarkeit Änderungsverfolgung
Use-Case:
Anwendungen
Zusammenspiel mit
anderen Bibliotheken
8
ANGULAR 2
Page  36
Was ist Angular 2
 Neuimplementierung
 Performance
 Komponenten (Web Components)
 TypeScript/ ES 6 (ES 5 möglich)
 Kompilierung nach ES 5
 Modularisierung
 Flexibles Rendering (auch: Web-Worker, Server)
 Spielt besser mit anderen Bibliotheken zusammen
Page  37
9
Component Controller
Page  38
@Component({
selector: 'flug-suchen'
})
@View({
templateUrl: 'flug-suchen.html',
directives: [NgFor, NgIf]
})
export class FlugSuchen {
von: string;
nach: string;
fluege: Array<Flug>;
constructor(flugService: FlugService) { }
flugSuchen() { [...] }
selectFlug(flug) { [...] }
}
Kann künftig großteils
entfallen
View
Page  39
<input [(ng-model)]="von">
[…]
<table [hidden]="fluege.length == 0">
<tr *ng-for="#flug of fluege">
<td>{{flug.id}}</td>
<td>{{flug.datum}}</td>
<td>{{flug.abflugOrt}}</td>
<td>{{flug.zielOrt}}</td>
<td><a href="#" (click)="selectFlug(flug)">Auswählen</a></td>
</tr>
</table>
10
View
Page  40
<input bindon-ng-model="von">
[…]
<table bind-hidden="fluege.length == 0">
<tr template="ng-for: var flug of fluege">
<td>{{flug.id}}</td>
<td>{{flug.datum}}</td>
<td>{{flug.abflugOrt}}</td>
<td>{{flug.zielOrt}}</td>
<td><a href="#" on-click="selectFlug(flug)">Auswählen</a></td>
</tr>
</table>
DEMO: ANGUALR 2 MIT
TYPESCRIPT UND @CODE
Page  43
11
MIGRATION
Page  44
Migration
Page  46
Angular
1.x
Angular
2
12
Möglichkeiten
 Component Router: Parallelbetrieb
 Angular 1.5: Komponenten in Angular 1
 NgUpgrade: Angular 2 und Angular 1.x mixen
 NgForward: AngularJS 1.x im Angular-2-Stil
 Sinnvoll: Vorbereitung durch Einsatz von modernen
AngularJS 1.x-Code vorbereiten: EcmaScript 6,
TypeScript, Dekoratoren, Controller-As
Page  47
[https://github.com/angular/ngUpgrade]
Fazit
 Angular: SPA-Framework mit großer Verbreitung
 Angular 2 ist Neuimplementierung mit Fokus auf
Performance, Komponenten und modernen Standards
 Parallelbetrieb, u. a. mit neuem Router
 Vorbereitung durch modernen Angular 1.x-Code,
Neuer Component Router, ES 6/ TypeScript
Page  53
13
[mail] manfred.steyer@SOFTWAREarchitekt.at
[web] SOFTWAREarchitekt.at
[twitter] ManfredSteyer
Kontakt

Weitere ähnliche Inhalte

PDF
Angular 2 Überblick Oktober 2015
Manfred Steyer
 
PDF
Was bringt Angular 2?
Manfred Steyer
 
PDF
Web APIs mit ASP.NET MVC Core 1
Manfred Steyer
 
PDF
.NET Summit 2016 München: EcmaScript 2015+ with TypeScript
Manfred Steyer
 
PDF
.NET Summit 2016 München: Angular 2 mit TypeScript
Manfred Steyer
 
ODP
YAFOWIL - Webformulare in Python ohne Kopfschmerzen
Jens Klein
 
PDF
Migrationspfade für Angular 2
Manfred Steyer
 
PDF
Moderne Web-Anwendungen mit Angular 2
Manfred Steyer
 
Angular 2 Überblick Oktober 2015
Manfred Steyer
 
Was bringt Angular 2?
Manfred Steyer
 
Web APIs mit ASP.NET MVC Core 1
Manfred Steyer
 
.NET Summit 2016 München: EcmaScript 2015+ with TypeScript
Manfred Steyer
 
.NET Summit 2016 München: Angular 2 mit TypeScript
Manfred Steyer
 
YAFOWIL - Webformulare in Python ohne Kopfschmerzen
Jens Klein
 
Migrationspfade für Angular 2
Manfred Steyer
 
Moderne Web-Anwendungen mit Angular 2
Manfred Steyer
 

Andere mochten auch (13)

PPT
Class1
Joseph Incandela
 
PDF
Cebu CIA パンフレッド。フィリピン留学ナビ・セブ留学ナビ
WEB制作仲間
 
PDF
Darren Smart Resume
Darren Smart
 
PPTX
The river vasind
9004444700
 
DOC
El aprendizaje para era digital
Jaime HUisa
 
PPTX
Opplæringsslide navigering
BABED07
 
PDF
Kurs i facebook og instagram
Tormod Sperstad
 
PDF
MSW Interactive Designs Culture Book
MSW Interactive Designs LLC
 
PPTX
P2 c share
Indranath Mukherjee
 
PPTX
방송기자협회 - 마법을 공부하기 시작했습니다
Han Woo PARK
 
PPTX
창조경제 정부 3.0 플랫폼
Han Woo PARK
 
PDF
Blitzkrieg Quiz - FMS Delhi
Gursheel Sahni
 
PDF
FreeSWITCH Monitoring
Moises Silva
 
Cebu CIA パンフレッド。フィリピン留学ナビ・セブ留学ナビ
WEB制作仲間
 
Darren Smart Resume
Darren Smart
 
The river vasind
9004444700
 
El aprendizaje para era digital
Jaime HUisa
 
Opplæringsslide navigering
BABED07
 
Kurs i facebook og instagram
Tormod Sperstad
 
MSW Interactive Designs Culture Book
MSW Interactive Designs LLC
 
방송기자협회 - 마법을 공부하기 시작했습니다
Han Woo PARK
 
창조경제 정부 3.0 플랫폼
Han Woo PARK
 
Blitzkrieg Quiz - FMS Delhi
Gursheel Sahni
 
FreeSWITCH Monitoring
Moises Silva
 
Anzeige

Ähnlich wie Überblick zu Angular2 auf DevCon der Fox-Pro-Usergroup in Frankfurt, Nov 2015 (19)

PDF
Angular 2: Neuerungen und Migration
Manfred Steyer
 
PDF
Angular 2 Workshop Oktober 2015
Manfred Steyer
 
PDF
Angular 2 Workshop November 2015 von der w-jax 2015
Manfred Steyer
 
PDF
Angular 2.0: Architektur und Konzepte für moderne JavaScript-Anwendungen
Manfred Steyer
 
PDF
Modern anuglar 01_intro
Manfred Steyer
 
PDF
Angular 2 Slides
Manfred Steyer
 
PDF
Moderne Web-Anwendungen mit Angular 2
Manfred Steyer
 
PDF
Legacy WebApps mit AngularJS pimpen
Philipp Burgmer
 
PDF
Progressive Web Apps mit Angular
Jens Binfet
 
PDF
Modern angular 02_angular_mit_type_script
Manfred Steyer
 
PDF
JavaMagazin - AngularJS
Philipp Burgmer
 
PDF
Taugt AngularJS wirklich was? Erfahrungsbericht und Ausblick
Philipp Burgmer
 
PDF
Der neue Component Router für Angular 2
Manfred Steyer
 
PDF
Angular 2 - Routing Jax2016
Manfred Steyer
 
PDF
Angular 2: Routing
Manfred Steyer
 
PDF
Angular 2 Components
Manfred Steyer
 
PDF
AngularJS
gedoplan
 
PPTX
Angular von 0 auf 100
Yvette Teiken
 
PDF
BATbern42 Vom Frontend Monolithen zu Micro-Frontends
BATbern
 
Angular 2: Neuerungen und Migration
Manfred Steyer
 
Angular 2 Workshop Oktober 2015
Manfred Steyer
 
Angular 2 Workshop November 2015 von der w-jax 2015
Manfred Steyer
 
Angular 2.0: Architektur und Konzepte für moderne JavaScript-Anwendungen
Manfred Steyer
 
Modern anuglar 01_intro
Manfred Steyer
 
Angular 2 Slides
Manfred Steyer
 
Moderne Web-Anwendungen mit Angular 2
Manfred Steyer
 
Legacy WebApps mit AngularJS pimpen
Philipp Burgmer
 
Progressive Web Apps mit Angular
Jens Binfet
 
Modern angular 02_angular_mit_type_script
Manfred Steyer
 
JavaMagazin - AngularJS
Philipp Burgmer
 
Taugt AngularJS wirklich was? Erfahrungsbericht und Ausblick
Philipp Burgmer
 
Der neue Component Router für Angular 2
Manfred Steyer
 
Angular 2 - Routing Jax2016
Manfred Steyer
 
Angular 2: Routing
Manfred Steyer
 
Angular 2 Components
Manfred Steyer
 
AngularJS
gedoplan
 
Angular von 0 auf 100
Yvette Teiken
 
BATbern42 Vom Frontend Monolithen zu Micro-Frontends
BATbern
 
Anzeige

Mehr von Manfred Steyer (20)

PDF
Datenbindung und Performance in Angular 2
Manfred Steyer
 
PDF
Single Page Applications neu gedacht: Redux in Angular 2 mit @ngrx/store
Manfred Steyer
 
PDF
Offlinefähige Browseranwendungen: Progressive Web-Apps mit Angular 2
Manfred Steyer
 
PDF
Angular 2: Die Ideen hinter Datenbindung und Formularen im Detail betrachtet
Manfred Steyer
 
PDF
Datengetriebene Web APIs mit Entity Framework
Manfred Steyer
 
PDF
Angular 2 Upgrade: Migration von AngularJS 1.x zu 2.0
Manfred Steyer
 
PDF
Web APIs mit ASP.NET Core 1
Manfred Steyer
 
PDF
The newst new Router for Angular 2 ("Version 3")
Manfred Steyer
 
PDF
Databinding and Performance-Tuning in Angular 2
Manfred Steyer
 
PDF
Modern authentication solutions in Angular 2 with OAuth 2.0 and OpenId Connect
Manfred Steyer
 
PDF
Progressive web apps with Angular 2
Manfred Steyer
 
PDF
Der neueste neue Router (Version 3) für Angular 2
Manfred Steyer
 
PDF
Webpack
Manfred Steyer
 
PDF
ASP.NET Core 1 for MVC- and WebAPI-Devs
Manfred Steyer
 
PDF
EF Core 1: News features and changes
Manfred Steyer
 
PDF
Angular 2: Migration - SSD 2016 London
Manfred Steyer
 
PDF
Angular 2 - SSD 2016 London
Manfred Steyer
 
PDF
ASP.NET Web API Deep Dive - SSD 2016 London
Manfred Steyer
 
PDF
Wiederverwendbare Komponenten mit Angular 2.0 – Deep Dive
Manfred Steyer
 
PDF
Datenbasierte Services mit Entity Framework und Co.
Manfred Steyer
 
Datenbindung und Performance in Angular 2
Manfred Steyer
 
Single Page Applications neu gedacht: Redux in Angular 2 mit @ngrx/store
Manfred Steyer
 
Offlinefähige Browseranwendungen: Progressive Web-Apps mit Angular 2
Manfred Steyer
 
Angular 2: Die Ideen hinter Datenbindung und Formularen im Detail betrachtet
Manfred Steyer
 
Datengetriebene Web APIs mit Entity Framework
Manfred Steyer
 
Angular 2 Upgrade: Migration von AngularJS 1.x zu 2.0
Manfred Steyer
 
Web APIs mit ASP.NET Core 1
Manfred Steyer
 
The newst new Router for Angular 2 ("Version 3")
Manfred Steyer
 
Databinding and Performance-Tuning in Angular 2
Manfred Steyer
 
Modern authentication solutions in Angular 2 with OAuth 2.0 and OpenId Connect
Manfred Steyer
 
Progressive web apps with Angular 2
Manfred Steyer
 
Der neueste neue Router (Version 3) für Angular 2
Manfred Steyer
 
ASP.NET Core 1 for MVC- and WebAPI-Devs
Manfred Steyer
 
EF Core 1: News features and changes
Manfred Steyer
 
Angular 2: Migration - SSD 2016 London
Manfred Steyer
 
Angular 2 - SSD 2016 London
Manfred Steyer
 
ASP.NET Web API Deep Dive - SSD 2016 London
Manfred Steyer
 
Wiederverwendbare Komponenten mit Angular 2.0 – Deep Dive
Manfred Steyer
 
Datenbasierte Services mit Entity Framework und Co.
Manfred Steyer
 

Überblick zu Angular2 auf DevCon der Fox-Pro-Usergroup in Frankfurt, Nov 2015

  • 1. 1 Clients für alle Plattformen mit Angular 2, TypeScript und Visual Studio Code Manfred Steyer ManfredSteyer Side-Projects Page  2 www.software-engineering-leadership.de
  • 2. 2 Inhalt Warum AngularJS ? Angular 2 DEMO Fazit Page  5 WARUM ANGULARJS? Page  6
  • 3. 3 Plattformen und Usability HTML + JavaScript Single Page Application High-Level Architektur Page  8 Services HTML/ JavaScript-Client HTTP Single Page Application (SPA)
  • 4. 4 Page  13 HTML + JavaScript => Komplexität Page  14 HTML + JavaScript + jQuery => Komplexität
  • 5. 5 Page  15 Frameworks machen SPA beherrschbar Community (April 2015) Page  20 AngularJS EmberJS Durandal Aurelia Stars 37.318 13.339 1.534 2.347 Forks 15.494 2.851 357 97 Contributers 1.215 474 69 8 Zahlen aus Core-Projekten übernommen
  • 6. 6 Google Analytics (April 2015) Page  21 Job Trends (Indeed.com, April 2015) Page  22
  • 7. 7 HERAUSFORDERUNGEN IN ANGULARJS 1.X Page  34 Herausforderungen in AngularJS 1.x Page  35 Performance Nachvollziehbarkeit Änderungsverfolgung Use-Case: Anwendungen Zusammenspiel mit anderen Bibliotheken
  • 8. 8 ANGULAR 2 Page  36 Was ist Angular 2  Neuimplementierung  Performance  Komponenten (Web Components)  TypeScript/ ES 6 (ES 5 möglich)  Kompilierung nach ES 5  Modularisierung  Flexibles Rendering (auch: Web-Worker, Server)  Spielt besser mit anderen Bibliotheken zusammen Page  37
  • 9. 9 Component Controller Page  38 @Component({ selector: 'flug-suchen' }) @View({ templateUrl: 'flug-suchen.html', directives: [NgFor, NgIf] }) export class FlugSuchen { von: string; nach: string; fluege: Array<Flug>; constructor(flugService: FlugService) { } flugSuchen() { [...] } selectFlug(flug) { [...] } } Kann künftig großteils entfallen View Page  39 <input [(ng-model)]="von"> […] <table [hidden]="fluege.length == 0"> <tr *ng-for="#flug of fluege"> <td>{{flug.id}}</td> <td>{{flug.datum}}</td> <td>{{flug.abflugOrt}}</td> <td>{{flug.zielOrt}}</td> <td><a href="#" (click)="selectFlug(flug)">Auswählen</a></td> </tr> </table>
  • 10. 10 View Page  40 <input bindon-ng-model="von"> […] <table bind-hidden="fluege.length == 0"> <tr template="ng-for: var flug of fluege"> <td>{{flug.id}}</td> <td>{{flug.datum}}</td> <td>{{flug.abflugOrt}}</td> <td>{{flug.zielOrt}}</td> <td><a href="#" on-click="selectFlug(flug)">Auswählen</a></td> </tr> </table> DEMO: ANGUALR 2 MIT TYPESCRIPT UND @CODE Page  43
  • 11. 11 MIGRATION Page  44 Migration Page  46 Angular 1.x Angular 2
  • 12. 12 Möglichkeiten  Component Router: Parallelbetrieb  Angular 1.5: Komponenten in Angular 1  NgUpgrade: Angular 2 und Angular 1.x mixen  NgForward: AngularJS 1.x im Angular-2-Stil  Sinnvoll: Vorbereitung durch Einsatz von modernen AngularJS 1.x-Code vorbereiten: EcmaScript 6, TypeScript, Dekoratoren, Controller-As Page  47 [https://github.com/angular/ngUpgrade] Fazit  Angular: SPA-Framework mit großer Verbreitung  Angular 2 ist Neuimplementierung mit Fokus auf Performance, Komponenten und modernen Standards  Parallelbetrieb, u. a. mit neuem Router  Vorbereitung durch modernen Angular 1.x-Code, Neuer Component Router, ES 6/ TypeScript Page  53