Die Vorzüge des JavaScript- Frameworks AngularJS

Werbung
Lösungen
Effiziente Softwareentwicklung im Internetzeitalter
Die Vorzüge
des JavaScriptFrameworks
AngularJS
Immer mehr Unternehmen verwenden für die Frontend-Entwicklung der unternehmensinternen
Software und für Anwendungen das Framework AngularJS. Die Vorteile gegenüber anderen
Frameworks liegen in der Testbarkeit, der Reduktion der Code-Komplexität und der Qualität.
50
vationsfähigkeit, die dem Preisdruck
entgegenwirkt.
Auch die Kundengewohnheiten ändern sich, sogar im B2B-Bereich: Megatrends sind mobile Endgeräte, hohe
Bandbreiten in allen Lebenslagen und
ergonomische Oberflächen. Die ersten
Online-Banking-Anwendungen etwa
wurden noch auf Datenträgern und
mit ellenlangen Installations- und Betriebsanleitungen ausgeliefert. HTMLbasierte Online-Hilfen galten da schon
als großer Fortschritt. Die nachrückenden Generationen verorten all diese
Konstrukte bereits in der IT-Steinzeit.
Von Real-time bis zu digitalen Bezahlverfahren – die Komplexität der Geschäftsmodelle wächst. Doch auch diese Herausforderung ist beherrschbar:
durch eine agile, sehr effiziente Anwendungsentwicklung, die alle Aspekte be-
rücksichtigt. Der Einsatz des JavaScript
Entwicklungs-Frameworks AngularJS
kann dies leisten.
AngularJS ist Googles Freund.
JavaScript ist dem Nischendasein als
Skriptsprache für Eingabeplausibilitätschecks und Gimmicks entwachsen
und zur ernsthaften Entwicklungsbasis
gereift. Der Siegeszug von Web Applications, plattformunabhängigen Browser Clients, touchfähigen Endgeräten
und Responsive Design belegt dies.
Unter der Vielzahl von JavaScript-Entwicklungsumgebungen ist das von
Google
verantwortete AngularJS
Framework besonders hervorzuheben.
Denn mit diesem Open Source Framework können auch schwergewichtigere
Anwendungen entwickelt werden. Bewährte Konstrukte wie etwa die Model-­
manage it 7-8 I 2015
Bild: © Yganko/shutterstock.com
A
nwendungen zu entwickeln, stellt
Unternehmen vor immer größere
Herausforderungen. Ein Faktor ist dabei die enorme Unbeständigkeit des
Internets. Viele Unternehmen scheuen
darum – verständlicherweise – davor
zurück, für große, unternehmenskritische Applikationen innovative Technologien einzusetzen. Auf der anderen
Seite steigen aber die Anforderungen
– und die Dynamik. Das Internet hat
völlig neue Geschäftsmodelle kreiert,
die die tradierten Modelle in Frage
stellen. So gibt es zum Beispiel veränderte Wettbewerbsstrukturen durch
niedrigere Einstiegsbarrieren – für
»Garagenverkäufer«. Auch geographische Kundennähe verliert in Zeiten der
Globalisierung ihre Bedeutung. Viel
wichtiger scheinen heute Time-to-market, 24/7-Verfügbarkeit und eine Inno-
Lösungen
View-Controller-Architektur liefern
dabei eine Abstraktionsschicht, die ein
Testen der Anwendung vereinfacht.
Google selber setzt AngularJS intensiv
ein. Die Re-Implementierung des Projekts »Google Feedback« ist ein beeindruckendes Beispiel: Mit AngularJS
wurden die zuvor 17.000 Programmzeilen innerhalb von drei Wochen auf
1.500 Zeilen Code reduziert – und die
Performance erheblich verbessert. Die
geringere Zeilenzahl erhöht auch die
Leserlichkeit und Wartbarkeit des
Codes signifikant.
Vollständige Entwicklungsplattform:
MEAN Stack. Komplexe Anwendungsprojekte bestehen neben der Frontendentwicklung aus Serverkomponenten
und der Anbindung an Kern- beziehungsweise Drittsysteme. AngularJS
kann hier mit weiteren Komponenten
zusammenspielen – im »MEAN Stack«.
Viele sehr erfolgreiche Projekte wie
Wiki, Facebook oder Magento wurden
in der initialen Phase auf Basis von
Open-Source-Komponenten des sogenannten LAMP Stacks entwickelt, mit
Technologien von Linux, Apache, MySQL und PHP. Auch hier ist die Entwicklung nicht stehen geblieben. Heute
schickt sich der neue MEAN Stack aus
Mongo, Express, Angular und Node an,
den LAMP Stack bei der Einfachheit
der Web-Applikations-Entwicklung zu
überholen. Zum MEAN Stack gehören
neben AngularJS das Web Framework
Express.js und das JavaScript Framework Node.js für Serverkomponenten.
Als Datenbank dienen klassische relationale SQL-Datenbanken, zunehmend
werden aber auch nichtrelationale NoSQL-Varianten wie MongoDB oder
CouchDB eingesetzt. Bei großen Datenmengen und häufigen Schreibzugriffen etwa haben NoSQL-Datenbanken
Vorteile, auch im Kontext von Big Data.
Der MEAN Stack bietet also die komplette notwendige Technologie und erfüllt höchste Ansprüche an die Anwendungsentwicklung.
Entwicklung mit testgetriebenem
Ansatz. Die konventionelle InternetAnwendungsentwicklung nutzt verschiedenste Sprachkonstrukte: beimanage it 7-8 I 2015
MEAN Stack
Quelle: evodion
Client
Server
Database
Der neue MEAN Stack aus Mongo, Express, Angular und
Node schickt sich an, den LAMP Stack bei der Einfachheit der
Web-Applikations-Entwicklung zu überholen.
spielsweise Java im Backend, im
Frontend-Bereich sind es JavaScript,
CSS und HTML5, die DatenbankSyntax ist SQL, Webservices dienen
der Kommunikation. Diese Vielfalt erfordert entsprechendes Know-how
und Ressourcen. Setzt man das AngularJS Framework aber in Verbindung
mit einem MEAN-Ansatz ein, reduziert man diese Komplexität und erhöht die Entwicklungseffizienz signifikant. Ein weiterer wichtiger Aspekt
lässt sich mit »testgetriebener Entwicklung« überschreiben. Mit Unit-Tests
werden Komponenten der Anwendung
auf Code-Ebene getestet. Durch den
Einsatz von Dependency Injection
(Beeinflussung der Objekteigenschaften und Objektmethoden zur Laufzeit)
gibt es die Möglichkeit, die Abhängigkeiten dieser Komponenten durch
Platzhalter (Mock-Objekte) auszutauschen. AngularJS bringt für viele interne Komponenten sogar konkrete
Mock-Implementierungen mit, die die
Definition von Testfällen unterstützen.
Trend zur Single Page App. Als Single-Page-Webanwendung (kurz: SPA)
wird eine Webanwendung bezeichnet,
die aus einem einzigen HTML-Dokument besteht und deren Inhalte dynamisch nachgeladen werden. Diese Art
von Website-Design steht im Gegensatz zu klassischen Websites, die aus
mehreren, untereinander verlinkten
HTML-Dokumenten bestehen und
durch eine Abfolge von Seiten mit definierten URLs geprägt sind. Frühere
Ansätze nutzten sogenannte Rich-
Internet-Application-Technologien
(RIA) wie Java Applets, Silverlight oder
Adobe Flex. Der neuere SPA-Ansatz,
der diese Entwicklung konsequent weiterführt, setzt den Fokus auf JavaScript.
Antriebsfeder ist wieder der Trend zu
mobilen Endgeräten, die bei begrenzter
Netzbandbreite hohe Anforderungen
der Nutzer erfüllen müssen. SPA-Anwendungen verzichten auf ständigen
Austausch mit dem Webserver via
HTTP Requests und kommunizieren
mit dem Backend effizient über RESTful Webservices. SPAs sind also so
leichtgewichtig wie Web-Applikationen,
brauchen keine lokalen Installationen
oder Plugins und gestatten einen Zugriff von überall. Zugleich bieten sie
aber die attraktiven Oberflächen komplexer Desktop-Applikationen. Und
wegen der Vermeidung von Page Reloads wird die Benutzeroberfläche
schnell und reaktiv wie eine App.
Entwickler mögen Angular. AngularJS ist ein Framework für die Frontend-Entwicklung, das sich sehr gut für
unternehmensinterne Software und
Anwendungen eignet. Der Fokus auf
Testbarkeit, Reduktion der CodeKomplexität und Qualität unterscheidet es deutlich von anderen Frameworks. Das Fazit ist eindeutig:
Entwickler werden Angular noch auf
lange Zeit zu schätzen wissen.
Dr. Michael Bark
Dr. Michael Bark, Geschäftsführer der evodion
Information Technologies GmbH, Hamburg
51
Herunterladen