Google vydal Angular 2 — kompletní přepis frameworku s TypeScriptem, komponentovou architekturou a ahead-of-time kompilací. Co se změnilo a jak migrovat.
Proč kompletní přepis¶
AngularJS (1.x) byl průkopníkem SPA frameworků, ale jeho architektura narazila na limity. Two-way binding způsoboval výkonnostní problémy, dependency injection byl nepřehledný a scope hierarchy vedla k těžko laditelným bugům.
Angular 2 je kompletně nový framework — sdílí jen jméno. Postaven na TypeScriptu s komponentovou architekturou inspirovanou Reactem, přináší zásadně lepší výkon a developer experience.
Komponenty a TypeScript¶
Komponenty jsou základní stavební blok Angular 2:
import { Component } from '@angular/core';
@Component({
selector: 'app-hero',
template: `
<h2>{{hero.name}}</h2>
<p>ID: {{hero.id}}</p>
<button (click)="save()">Uložit</button>
`
})
export class HeroComponent {
hero = { id: 1, name: 'Superman' };
save(): void {
console.log('Saving hero:', this.hero.name);
}
}
TypeScript přináší statické typování, interfaces a lepší IDE podporu. Decorátory (@Component, @Injectable) nahrazují AngularJS konfiguraci.
Změny oproti AngularJS¶
Klíčové rozdíly:
- Komponenty místo controllers** — hierarchický strom komponent
- TypeScript místo JavaScript** — typová bezpečnost a moderní syntax
- RxJS Observables** — reaktivní programování místo promises
- Ahead-of-Time (AOT) kompilace** — šablony kompilované při buildu, ne v runtime
- Tree shaking** — eliminace nepoužívaného kódu
- Modulární architektura** — NgModules pro organizaci kódu
Výkonnostní zlepšení jsou dramatická — AOT kompilace a change detection strategie OnPush výrazně snižují rendering overhead.
Migrace z AngularJS¶
Google poskytuje ngUpgrade modul pro postupnou migraci:
- Spusťte AngularJS a Angular 2 side-by-side
- Migrujte komponentu po komponentě
- Sdílejte services mezi oběma verzemi
- Postupně odstraňujte AngularJS závislosti
Pro nové projekty doporučujeme rovnou Angular 2. Pro existující AngularJS aplikace zvažte, zda migrace stojí za investici — ne vždy je odpověď ano.
Závěr: nová generace enterprise frameworku¶
Angular 2 je odvážný krok — breaking change, který rozhněval část komunity, ale přinesl moderní, výkonný framework vhodný pro enterprise aplikace. Kombinace TypeScriptu, RxJS a AOT kompilace vytváří robustní platformu pro komplexní webové aplikace.
Brauchen Sie Hilfe bei der Implementierung?
Unsere Experten helfen Ihnen bei Design, Implementierung und Betrieb. Von der Architektur bis zur Produktion.
Kontaktieren Sie uns