AngularJS
Eintrag zuletzt aktualisiert am: 17.11.2016
AngularJS (oft auch nur "
Angular" genannt) ist ein beliebtes
JavaScript-Framework von
Google, dass die Entwicklung von Browser-Anwendungen mit dem UI-Pattern: MV*-Pattern (
MVC und MVVP/
MVP) unterstützt. Es gibt
AngularJS das es seit 2009 gibt. Es ist
Open Source.
Versionen
- AngularJS 1.0
- AngularJS 1.1
- AngularJS 1.2
- AngularJS 1.3
- AngularJS 1.4
- AngularJS 1.5
- AngularJS 1.6 ist erschienen am 08.12.2016
- AngularJS 1.7 ist erschienen am 11.08.2018
- AngularJS 1.8 ist erschienen am 04.06.2020
Ziele von AngularJS - von Manfred Steyer
AngularJS unterstützt viele Anforderungen an moderne
JavaScript-Anwendungen ab Werk und unterstützt bei Sicherstellung von Qualitätszielen. Die Notwendigkeit zur Kombination vieler verschiedener Frameworks entfällt somit. Die Tatsache, dass es von einer Größe wie
Google stammt und sich einer großen Community erfreut, schafft vertrauen.
Das Erstellen
JavaScript-getriebener Anwendungen und Single-Page-Applications (SPA) gestaltet sich äußerst anspruchsvoll: Der Entwickler muss sich um das Aufrufen von Services, das Binden von Daten an Eingabefelder sowie um das Validieren kümmern. Dazu kommt, dass er vor der Aufgabe steht, mehrere logische Seiten innerhalb einer Single-Page-Application zu simulieren.
Der Quellcode, der dabei entsteht, soll natürlich überschaubar, wartbar und testbar sein. All dies ist zwar mit Boardmittel von
JavaScript möglich, allerdings erfordert dies viel Disziplin seitens der Entwickler und geht mit der Erstellung großer Mengen ähnlicher Codestrecken einher.
JavaScript-Frameworks versprechen hier Abhilfe. Eines dieser Frameworks ist
AngularJS, welches aus der Feder von
Google stammt. Während
Google es selbst für eigene Produkte einsetzt existiert auch eine große Community, die Erweiterungen beisteuert. Beides schafft vertrauen, zumal die Wahl eines Anwendungsframeworks eine strategische Entscheidung, welche im Nachhinein nur mehr schwer zu ändern, ist.
AngularJS zeichnet sich dadurch aus, dass es sehr viele Aspekte moderner
JavaScript-basierter Anwendungen unterstützt. Somit muss der Entwickler nicht mehr eine Vielzahl an verschiedenen Frameworks kombinieren oder selbst Infrastruktur-Code schreiben. Vielmehr kann er sich auf die Umsetzung von geschäftlichen Anforderungen konzentrieren.
Funktionen von AngularJS - von Manfred Steyer
AngularJS bringt unter anderem die folgenden Möglichkeiten:
- Wartbarkeit. Dadurch, dass AngularJS auf bewährte Programmiermodell Model-View-Controller (MVC) setzt, zwingt es den Entwickler, Präsentationscode von Geschäftslogik zu trennen. Dies sorgt für leichter lesbaren Code und somit für mehr Wartbarkeit
- Testbarkeit. Neben der Tatsache, dass das Programmiermodell MVC auch die Testbarkeit der einzelnen Programmteile unterstützt, sieht AngularJS auch Muster, wie Dependency Injection, welche das isolierte Testen von Komponenten begünstigen und seit Jahren auch im Java- und .NET-Umfeld Anwendung findet, vor. Neben Komponententests unterstützt AngularJS auch Integrations-Tests (End-2-End-Tests), welche die Interaktionen eines Benutzers simulieren.
- Datenbindung. Entwickler haben besseres zu tun, als Datenobjekte mit Eingabeformularen zu synchronisieren. AngularJS automatisiert diese monotone und fehleranfällige Aufgabe mittels Datenbindung.
- Validierung. Was für die Datenbindung gilt, gilt auch für die Validierung von Eingaben. Glücklicherweise wird auch dieser Aspekt von AngularJS unterstützt. Kommt der Entwickler mit den vordefinierten Validierungsregeln nicht aus, kann er auch sehr einfach eigene definieren.
- Internationalisierung. Wer seine Anwendung in mehreren Regionen vertreiben möchte, muss dafür sorgen, dass sie mit unterschiedlichen Sprachen und Datenformaten umgehen kann. Während die meisten Programmierplattformen diese Aufgabe ab Werk unterstützen, stellt sie unter JavaScript leider noch immer eine Herausforderung dar. AngularJS schafft hier Abhilfe, indem es von Haus Unterstützung für unterschiedliche Regionen bietet.
- Routing und Deep-Linking. AngularJS sieht mit seinem Routing-Konzept vor, dass eine Single-Page-Application aus mehreren logischen Seiten besteht. Somit kann der Entwickler logische Seiten umsetzen, ohne dafür Infrastrukturcode schreiben zu müssen. Jede logische Seite erhält eine eigene URL, obwohl sie Teil einer einzigen physikalischen Seite ist. Somit kann der Benutzer das Button Zurück verwenden und Lesezeichen für einzelne logische Seiten definieren.