Angular 2 je venku (RC) a je to kompletně jiný framework. TypeScript místo JavaScript, komponenty místo controllerů, RxJS Observables místo Promises. Nekompatibilní s Angular 1.x. Kontroverzní rozhodnutí — ale je výsledek lepší?
TypeScript¶
Angular 2 je napsaný v TypeScript a doporučuje ho pro vývoj. Pro Java vývojáře je TypeScript přirozený — typy, interfaces, classes, generika. IDE podpora (autocomplete, refactoring) na úrovni Javy. Chyby odhalené při kompilaci, ne za běhu.
@Component({
selector: 'project-list',
template: `
<div *ngFor="let project of projects">
<h3>{{project.name}}</h3>
<p>{{project.description}}</p>
</div>
`
})
export class ProjectListComponent implements OnInit {
projects: Project[] = [];
constructor(private projectService: ProjectService) {}
ngOnInit() {
this.projectService.getProjects()
.subscribe(projects => this.projects = projects);
}
}
Komponenty¶
Vše je komponenta. Žádné controllery, žádné scopy. Komponenta = třída + template + metadata (dekorátor). Hierarchie komponent místo scope inheritance. Čistší, predikovatelnější.
RxJS a Observables¶
Angular 2 intenzivně používá RxJS Observables. HTTP requesty vrací Observable, ne Promise. Operátory jako map, filter, switchMap pro reaktivní programování. Silné, ale strmá křivka učení.
Angular 2 vs. React¶
Angular 2 je full framework (routing, forms, HTTP, DI). React je knihovna + ekosystém. Angular 2 má strmější start ale víc struktury. React je flexibilnější. Pro enterprise týmy je Angular 2 atraktivní — méně rozhodování.
Angular 2 je solidní framework¶
Přechod z Angular 1 je bolestivý (de facto nový framework). Ale Angular 2 s TypeScript je výborná volba pro enterprise SPA. Zvažujeme pro nové projekty vedle Reactu.
Brauchen Sie Hilfe bei der Implementierung?
Unsere Experten helfen Ihnen bei Design, Implementierung und Betrieb. Von der Architektur bis zur Produktion.
Kontaktieren Sie uns