© Excellent backgrounds/Shutterstock.com
AngularJS: Grundlagen und Messmethoden

Performanceprobleme meistern


JavaScript-Frameworks wie AngularJS erlauben es, Applikationslogik vom Server zum Client zu verschieben. Damit wird der Browser ein wichtiger Bestandteil der Laufzeitumgebung. Dies erfordert, den clientseitig ausgeführten Applikationscode umfangreicher zu analysieren als bisher, um Performanceprobleme frühzeitig zu erkennen. Dabei helfen Messmethoden für die Analyse von Scopes und Digest Cycles.

Artikelserie: Performanceprobleme in AngularJS meistern

Teil 1: Grundlagen und Messmethoden

Teil 2: Maßnahmen

Die Performance von Softwareapplikationen lässt sich mit verschiedenen Kennzahlen beschreiben, die sich je nach Einsatzgebiet und Applikationstyp unterscheiden. Datenbanksysteme können beispielsweise mit Lese- und Schreiboperationen pro Sekunde charakterisiert werden, High-Performance-Anwendungen aus dem wissenschaftlichen Umfeld mit Fließkommaoperationen pro Sekunde. Eine Performancekennzahl, die besonders bei Webapplikationen eine entscheidende Rolle spielt, ist die wahrgenommene Reaktionszeit auf Benutzereingaben – nicht zuletzt aufgrund der beständig steigenden Internetbandbreite, die die Erwartungshaltung der Benutzer fortwährend steigen lässt.

Noch vor wenigen Jahren zielten Maßnahmen, die Performance von Webapplikation zu steigern, hauptsächlich auf die Komprimierung der statischen Inhalte und deren Übertragung ab, beispielsweise durch gzip-Komprimierung, Zusammenfassung von HTTP-Anfragen mittels CSS Sprites oder durch Code Minifying [1].

Aus dem Nachladen einzelner Seitenelemente mittels Ajax haben sich so genannte Single-Page-Applikationen entwickelt. Gemeinsam mit HTML5 und damit dem „Local Data Storage“ [2] führt diese Entwicklung dazu, dass sich die Anwendungslogik vom Server zum Client verlagert. Dementsprechend verschieben sich auch die Ansatzpunkte zur Performancesteigerung, insbesondere wenn der Server nur noch als Datenquelle über eine REST-Schnittstelle fungiert. Diese Entwicklung erfordert es, die Maßnahmen zur Performancesteigerung um clientseitige Softwareaspekte zu erweitern, insbesondere um auf die unterschiedlichen Hardwarekapazitäten auf Clientseite reagieren zu können.

Diese zweiteilige Artikelserie befasst sich mit Softwareaspekten und typischen Performanceproblemen des AngularJS-Frameworks, einem der am weitesten verbreiteten JavaScript-Frameworks für Single-Page-Applikationen [3]. Gründe für die weite Verbreitung sind u. a. der einfache Einstieg, die Unterstützung von Funktionskapselung in Direktiven und Filtern, die Struktur...

Exklusives Abo-Special

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang