Ein Überblick über Angular

In diesem Blogpost möchte ich einen allgemeinen Blick auf Angular werfen. Ich erkläre, was Angular ist, was es kann und wo es eingesetzt wird.

Autor Fabian Gosebrink
Datum 16.01.2017
Lesezeit 6 Minuten

In diesem Blogpost möchte ich einen allgemeinen Blick auf Angular werfen. Ich erkläre, was Angular ist, was es kann, wo es eingesetzt wird und für wen es sinnvoll ist, Angular zu lernen.

Was ist Angular?

Die clientseitige Programmierung ist in der letzten Zeit extrem komplex geworden. Dazu sind die Anforderungen an eine Webapplikation mittlerweile genauso hoch wie an eine Desktop-Applikation – wenn nicht sogar höher. Der Wunsch nach einem Framework, das es dem Entwickler ermöglicht, all diese Anforderungen im Web abzudecken, wird somit grösser.
Angular ist ein clientseitiges Framework, mit dem es möglich ist, Webapplikationen zu erstellen. Es hilft dem Entwickler dabei, bekannte sowie neue Architekturkonzepte auf den Client zu bringen und komplexe Anwendungen zu entwickeln. Dabei kann die Arbeit nicht nur auf dem Server ausgerichtet werden, sondern via Javascript auch auf dem Client. Die Applikation kann durch Trennung der Zuständigkeiten moderne Architekturkonzepte erfüllen und ist damit wartbarer und testbarer.

Was kann Angular?

Angular wurde mit Typescript entwickelt und ist auf eine komponentenbasierte Architektur ausgerichtet. Es vereint moderne Architekturansätze mit der nötigen Flexibilität, um komplexe Anforderungen an Webapplikationen zu meistern. Durch die Verwendung von Typescript hat Angular ähnliche Typensicherheit, wie Entwickler das von anderen Sprachen wie C# oder Java kennen. Trotzdem ist Angular nicht an Typescript gebunden und ermöglicht es dem Entwickler, auch Javascript mit ES5 oder ES2015/ES6 zu verwenden.

JavaScript-Kurse und -Workshops

Bleiben Sie durch den Besuch unserer Tageskurse und Workshops über die aktuellen Entwicklungen und Standards auf dem Laufenden!

Bleiben Sie durch den Besuch unserer Tageskurse und Workshops über die aktuellen Entwicklungen und Standards auf dem Laufenden!

Angular ist für komponentenbasierte Architekturen entwickelt. Es trennt die Zuständigkeiten und dazu die View von der Logik. Der Entwickler kann eine Applikation so aufteilen, dass sie wartbar, testbar und erweiterbar wird. Es geht dabei darum, die Anwendung in kleine testbare Stücke zu zerteilen, damit die Entwicklerparadigmen «Single-Responsibility» und «Separation-Of-Concerns» eingehalten werden können. Angular hilft bei vielen aufkommenden Problemen wie dem Erstellen von Komponenten, Databinding an das UI/HTML, Transformation von Daten gegen das UI mit Pipes, Auslagerung von «Arbeit» in Services, Kommunikation mit einer API etc.

Angular macht es dabei möglich, mit Komponenten zu kommunizieren, sie mit Daten zu füttern und Events aus Komponenten entgegenzunehmen; es macht Komponenten somit wiederverwendbar und isolierter. Durch die Flexibilität, die View als HTML separat zu entwickeln, können beispielsweise verschiedene Teams an Logik bzw. Architektur und Design arbeiten.

Um möglichst grosse Flexibilität zu erreichen und breit aufgestellt zu sein, zieht Angular weitere Projekte bzw. deren Funktionalität heran wie beispielsweise RxJS. Das Einbinden von Third-Party-Libraries ist also simpel und einfach vollzogen, wodurch man seine Applikation um nahezu jede Javascript-Bibliothek erweitern und deren Flexibilität nutzen kann.

Dadurch kann man komplette Applikationen erstellen, die grösser und mächtiger sind als eine «normale» Website: Eine Webapplikation, die dieselben Rechte und Pflichten (Architektur, Testbarkeit etc.) besitzt wie eine Applikation in einer bekannten Sprache, beispielsweise für den Desktop.

Wo wird Angular eingesetzt?

Angular ist die zweite Version des vorigen Frameworks AngularJS. AngularJS und Angular werden auf vielen Websites eingesetzt. Hier einige Beispiele:

Tesla

tesla-screenshot-500px

Microsoft Support

microsoftsupport-screenshot-500px

iStock

istock-screenshot-500px

weather.com

weathercom-screenshot-500px

The Oscars – 88th Academy Awards

theoscars-screenshot-500px

Angular wird vor allem bei CRUD-Projekten (Create Read Update Delete) eingesetzt, bei denen Daten über eine Eingabemaske validiert, über Services Berechnungen gemacht und die Daten anschliessend persistiert werden müssen. Angular kann grosse Projekte bewerkstelligen, die über die simple Anzeige von Daten hinausgehen, wobei es natürlich auch dafür eine Lösung gibt mit Angular.

Für wen ist es sinnvoll, Angular zu lernen?

Angular-Projekte können grosse Applikationen in nahezu jedem Bereich der Industrie oder im Handel sein. Jede Firma, die überlegt verteilte Anwendungen zu schreiben, sollte einen Blick auf Angular werfen.

Ob die Wahl dann auf Angular fällt oder nicht (Alternativen sind z.B. React, Aurelia), ist erstmal zweitrangig. Fest steht jedoch, dass durch die Trennung von Client und Server, durch die Etablierung von clientseitigen Applikationen als Front-End-Development ein so grosser Teil geschaffen wurde, dass dieser nicht zu vernachlässigen und es möglich sowie sinnvoll ist, viel Arbeit, Zeit und Konzepte in die clientseitige Entwicklung zu investieren. Die Trennung von Server und Client schafft eine gute Grundlage für moderne verteilte Architekturen und eine Flexibilität, von der viele Webanwendungen derzeit und in Zukunft profitieren können.


Über den Autor

Fabian Gosebrink

Fabian Gosebrink ist Microsoft MVP und leidenschaftlicher Webentwickler mit ASP.NET und bekannten Frameworks wie AngularJs. Als Professional Software Engineer berät und unterstützt er Kunden in der Schweiz bei der Umsetzung von Webapplikationen auch bis in den mobilen Bereich. Zudem ist er mehrmaliger Microsoft-Referent, Scrum-Enthusiast und aktiver Administrator der grössten deutschsprachigen C#-Community.