So lässt sich das Tool zum Messen der App-Ladezeiten nutzen

Raptor: das Performance-Testing-Tool für Firefox OS
Kommentare

Wenn es um die Performance für das Web geht, dürften vielen eine der folgenden Fragen einfallen: warum braucht diese Seite so lange zum Laden? Wie kann man den JavaScript-Code optimieren, damit sie schneller lädt? Und was passiert, wenn der Code verändert wird? Wird die App dann noch langsamer?

Auch bei Mozilla kommt man um Überlegungen zu solchen und ähnlichen Fragen bei der Entwicklung des Firefox-OS-User-Interfaces Gaia nicht herum – gerade, weil das Schreiben von nativen Applikationen mit Web-Technologien noch mal eine komplett andere Herausforderung darstellt, als das Schreiben von Desktop-optimierten Seiten. Eri Perelman zeigt, welche Stolpersteine das sind, an welchen Stellen dringend an den Web-APIs nachgearbeitet werden muss und welche Lösungen für das Performance-Testing von Firefox OS in Frage kommen.

Der Loading-Lifecycle von Firefox-OS-Apps

Eine typische Frage bei Mobile-Applikationen lautet: Wie lange hat das Laden der App gedauert? Die Antwort darauf ist allerdings meist weniger simpel. So kommt es zunächst darauf an, wie die Ladezeit einer App definiert wird. Im Normalfall wird dabei der Zeitraum gemessen, den die App ab dem ersten Request benötigt, um für User-Interaktionen bereit zu sein – sprich, vom Tippen des Users auf das App-Icon bis hin zu dem Moment, an dem sie visuell geladen erscheint. Dabei wird der Großteil der App-Ladezeit innerhalb der App abgewickelt.

Das Problem dabei ist allerdings folgendes: es gibt keine Möglichkeit, zu schlussfolgern, wann eine Applikation visuell geladen ist, weil die meisten Apps das nur implizieren. Für Firefox OS wurden darum einige Performance Guidelines definiert, die den Loading-Lifecycle besser abbilden sollen. Er besteht dabei aus den folgenden fünf Stufen:

  • Navigation geladen (navigationLoaded)
  • Navigation interaktiv verfügbar (navigationInteractive)
  • App ist visuell geladen (visuallyLoaded)
  • Content ist interaktiv verfügbar (contentInteractive)
  • Applikation ist vollständig geladen (fullyLoaded)

Die wichtigste Stufe dabei ist der Moment, in dem die App visuell geladen erscheint, denn dann nimmt der User die App als zur Nutzung bereit wahr. Mit dem User-Timing-API können die einzelnen Stufen dann genauer bestimmt und verglichen werden – zumindest theoretisch. Weil die meisten User das App-Icon vom Home-Screen aus aufrufen und dieser in einem anderen Prozess als die App selbst ausgeführt, können keine Performance-Marken zwischen beiden Stufen ausgetauscht und sie so auch nicht verglichen werden.

Performance-Testing-Tool Raptor vereinfacht Testing von Firefox-OS-Apps

Hier kommt das Performance-Testing-Tool Raptor ins Spiel. Damit können die benötigten Metriken von Gaia-Applikationen abgerufen und die Performance überprüft werden. Raptor wurde vor allem mit dem Ziel entwickelt, Performance-Tests für Firefox OS zu ermöglichen, ohne dass die Performance beeinträchtigt wird – und das unter der größtmöglichen Nutzung von Web-APIs. Gleichzeitig soll Raptor flexibel genug sein, um die verschiedenen Architektur-Stile von Applikationen zu bedienen.

Allerdings gibt es auch beim Performance-Testing mit Raptor einige Zugeständnisse, etwa den Austausch von High-Resolution-Zeiten gegen Millisekunden-Resolution, JavaScript-APIs gegen Log-Parsing oder High-Level-Interaktions APIs gegen Low-Level-Interaktions-APIs. Grundsätzlich ermöglicht Raptor dem Gaia-Projekt, Performance-Tests gegen Devices oder Emulatoren auszuführen. Dafür bringt das Tool zwei Methoden zur Visualisierung von Performance-Daten mit sich: die offiziellen Metriken oder eine lokale Visualisierung als Docker-Image.

Mehr Informationen zur Nutzung von Raptor für Performance-Testing Firefox-OS-Applikationen bietet Perelmans Artikel im Mozilla-Entwicklerblog. Dort gibt es neben der Darstellung des Raptor-Workflows etwa auch weitere Tipps  zur Visualisierung der Performance sowie Performance-Regressionen. Auch im Mozilla Developer Network gibt es viele weitere Tipps; dort steht das Tool auch zur Installation zur Verfügung.

Aufmacherbild: Vector drawing of a / Raptor/ von Shutterstock / Urheberrecht: Natsmith1

Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -