„Web Performance“-APIs erhalten schnell den Status „W3C Candidate Recommendations“

Wir freuen uns, mitteilen zu können, dass drei neue W3C Web Performance Working Group-Spezifikationen den Status „W3C Candidate Recommendations“ erreicht haben. Die präzise Messung der Leistungsmerkmale von Webanwendungen ist von entscheidender Bedeutung, um das Web schneller zu machen. Zusätzlich benötigen Entwickler zur Steigerung der Leistung ihrer Apps die Möglichkeit, die zugrunde liegende Hardware effektiv zu nutzen. In den vergangenen zwei Jahren haben Unternehmen wie Microsoft, Google, Mozilla, Intel und Facebook in dieser Arbeitsgruppe auf diese Ziele hingearbeitet. Das ist ein großartiges Beispiel dafür, was möglich ist, wenn die Industrie und die Community durch das W3C zusammenkommen.

Die Spezifikationen Navigation Timing, Resource Timing, User Timing und Performance Timeline helfen Entwicklern, die Leistung von Webanwendungen präzise zu messen. Die ersten drei Spezifikationen stellen Entwicklern jeweils Informationen über die Dokumentnavigation, die Seitenressourcen und die Entwicklerskripts bereit. Die Spezifikation „Performance Timeline“ definiert eine einheitliche Schnittstelle zum Abrufen dieser Zeitdaten. Vor diesen APIs war es Entwicklern nicht möglich, die Leistung ihrer Website präzise zu messen.

Um zu gewährleisten, dass diese Leistungsmetriken so präzise wie möglich gemessen werden, gestattet die Spezifikation High Resolution Time eine Zeitauflösung unterhalb von Millisekunden. Diese Schnittstelle dient nicht nur der präzisen Messung von Leistungsmetriken, sondern ermöglicht darüber hinaus eine bessere Berechnung der Framerate und die Synchronisierung von Animationen oder Audiohinweisen. Zum ersten Mal können Entwickler Vorgänge mit einer Genauigkeit in einem Bereich unterhalb von Millisekunden messen.

Die Spezifikationen Page Visibility, Timingkontrolle für skriptbasierte Animationen und Efficient Script Yielding dienen Entwicklern dazu, Webanwendungen mit einer besseren CPU-Auslastung und Energieeffizienz zu schreiben. Die Page Visibility-API ermöglicht die programmatische Bestimmung des aktuellen Sichtbarkeitszustands der Seite. Diese Daten können von Entwicklern dazu verwendet werden, Entscheidungen zu treffen, die die CPU-Auslastung und die Energieeffizienz verbessern, z. B. durch das Drosseln der Aktivität, wenn sich die Seite in der Hintergrundregisterkarte befindet. Die requestAnimationFrame-API der Spezifikation zur Timingkontrolle für skriptbasierte Animationen ermöglicht die Erstellung effizienterer JavaScript-Animationen. Und schließlich können Entwickler mit der setImmediate-API aus der Spezifikation „Efficient Script Yielding“ eine effektive Ablaufsteuerung zum Benutzer-Agent erzielen und ein sofortiges Callback erhalten, um die CPU effizienter zu nutzen.

Um sicherzustellen, dass Webentwickler einen Code nur einmal schreiben müssen und diesen in allen Browsern interoperabel zum Einsatz bringen können, hat die Arbeitsgruppe in den letzten zwei Jahren eifrig an der Standardisierung dieser APIs gearbeitet. In der folgenden Tabelle ist der Entwicklungsstand aller Spezifikationen aufgeführt, an denen in der Arbeitsgruppe aktuell gearbeitet wird.

Spezifikation Bearbeiteter Entwurf Erster veröffentlichter Entwurf Last Call Last Call 2 Candidate Rec Proposed Rec Rec
Navigation Timing Sept. 2010 Okt. 2010 Jan. 2011 Feb. 2011 Juli 2012
Resource Timing Sept. 2010 Mai 2011 Juni 2011 Mai 2012
User Timing Okt. 2010 Aug. 2011 Aug. 2011 Mai 2012 Juli 2012
Performance Timeline Juli 2011 Aug. 2011 Aug. 2011 Mai 2012 Juli 2012
High Resolution Time März 2012 März 2012 März 2012 Mai 2012
Page Visibility Apr. 2010 Juni 2011 Juli 2011 Juli 2012
Display Paint Notifications Mai 2011 Juni 2011 Feb. 2012
Efficient Script Yielding Juni 2011
Navigation Timing 2 (NEU) Apr. 2012 Mai 2012

Tabelle mit dem jeweiligen Status der „W3C Web Performance“-Spezifikationen

Diesen Monat wurde die Spezifikation „Navigation Timing“ als eine Proposed Recommendation (PR) veröffentlicht. Diese Stufe der Standardisierung ist der letzte Schritt, bevor ein Webstandard den Status einer offiziellen „W3C Recommendation“ erhält. Zudem wurde diese Schnittstelle häufig in Browsern übernommen, einschließlich von Support seit Internet Explorer 9, Chrome 6 und Firefox 7. Die Arbeitsgruppe hat kürzlich damit begonnen, Feedback einzuarbeiten und „Navigation Timing 2“ zu entwickeln, die nächsten Version der Spezifikation.

Diesen Monat wurden die Spezifikationen „User Timing“, „Performance Timeline“ und „Page Visibility“ als Candidate Recommendation (CR) veröffentlicht. Diese Stufe der Standardisierung geht dem PR-Status voraus und spiegelt die Einschätzung des W3C wider, dass diese Spezifikation weitgehend überprüft wurde und die technischen Anforderungen der Arbeitsgruppe erfüllt. „Resource Timing“ wurde vor nur zwei Monaten als CR veröffentlicht, zusammen mit „High Resolution Time“, das in lediglich drei Monaten vom Status „bearbeiteter Entwurf“ zu CR weiterentwickelt werden konnte.

Diese APIs stellen ein großartiges Beispiel dafür dar, wie schnell sich neue Ideen zu interoperablen Standards entwickeln können, die für Entwickler in modernen HTML5-fähigen Browsern verlässlich sind. Vielen Dank an alle Mitarbeiter in der „W3C Web Performance Working Group“ für die Unterstützung bei der Entwicklung dieser APIs und an alle Browserhersteller, die diese APIs zur Überprüfung der Interoperabilität implementiert haben.

– Jatinder Mann, Programmmanager, IE-Leistung