Seit der Ankündigung von Angular 2 fragen sich viele Entwickler, wie der Migrationspfad für Angular 1.x Anwendungen aussieht. Da Angular 2 noch nicht für produktive Anwendungen eingesetzt werden kann, stellt sich vor allem die Frage, wie man bei der Entwicklung neuer Anwendungen mit Angular 1.x vorgehen sollte, damit die Migration später möglichst einfach wird. Diese Session liefert Antworten hierauf.
Vorgestellt werden u.a. der Einsatz von EcmaScript 2015 Modulen, TypeScript und Patterns für Komponenten und Services. Abschließend gibt es noch einen Ausblick auf Ideen und Strategien für die schrittweise Migration von bestehenden Anwendungen nach Angular 2.
2. Wer steht hier vorne?
Christian Janz
Consultant bei BridgingIT GmbH in Mannheim
Interesse: Architektur und Entwicklung von
Geschäftsanwendungen mit modernen Frameworks
3. AngularJS 1.x? Warum nicht Angular 2?
“Angular 2 is currently in Developer Preview. We recommend using Angular 1.X
for production applications.”
https://angular.io/docs/ts/latest/
7. Neue Template-Syntax
1. <li *ng-for="#hero of heroes" (click)="onSelect(hero)">
2. <span class="badge">{{hero.id}}</span> {{hero.name}}
3. </li>
8. ES 2015 Support / TypeScript
● Angular 2 wird in TypeScript entwickelt
● Verwendet ES 2015 Module
○ Framework wird modularer
○ Kein eigenes Modulsystem mehr (angular.
module(...))
● Einsatz von Decorators für Metadaten
1. import {bootstrap, Component} from
'angular2/angular2';
2.
3. @Component({
4. selector: 'my-app',
5. template: '<h1>My First Angular 2 App</h1>'
6. })
7. class AppComponent { }
8.
9. bootstrap(AppComponent);
10. Komponentenbasiert
● Keine Standalone Controller mehr (ng-controller=””)
● Kein $scope mehr
● @Component: Komponente (≅ AngularJS 1.x Direktiven)
● @Directive: Komponente ohne View
11. Neuer Router
● Komponentenbasiert
● Deutlich mächtiger als ng-route
● Parallelentwicklung für Angular 2 und Angular 1.x
○ Gleiche API
○ Soll Migration erleichtern
35. AngularJS 1.x ist nicht tot
● Einige Ansätze aus Angular 2 können auch in
AngularJS 1.x genutzt werden
○ ES 2015 Module
○ Komponenten
● TypeScript erleichtert Refactoring
● Parallelbetrieb und schrittweise Migration sind
möglich