HTML5 – Neuer Standard für Webanwendungen

14. Januar 2011

Alle Welt redet über HTML5, aber was steckt eigentlich dahinter? Was ist die Bedeutung von HTML5, wo liegt das Potential?

Anmerkung vorne weg: Dies ist Teil einer kleinen Serie, der erste Beitrag mit Übersicht findet sich hier.

HTML5 ist viele Dinge für viele Leute. Video in HTML5 wird zum Vehikel um das Web von patentierten Video-Formaten zu befreien. Für Apple ist es ein Mittel, Flash von iPhone und iPad fern zu halten. Microsoft nutzt HTML5 um den IE9 zu puschen. Und nebenbei soll auch noch RIA-Technologien ganz allgemein der Garaus gemacht werden. Was habe ich vergessen… ? Ach ja, es gibt auch Leute, die sich inhaltlich damit auseinander setzen.

Ganz gegen den Trend hier ein Betrachtung, was sich hinter dem Namensschild “HTML5” tatsächlich verbirgt, und was es in Zukunft bedeuten kann.

Der Standard

Formal gesehen ist HTML5 die nächste Version von HTML, fasst darunter aber nicht mehr nur die aus HTML 4.1 bekannte Markup-Sprache selbst, sondern auch die vormals getrennt betrachteten Standards XHTML und DOM.

Nachdem HTML 4.0 bereits 1997 verabschiedet wurde, könnte man sagen: Wurde aber auch Zeit! Die Tatsache, dass HTML 4.x nicht mehr auf der Höhe der Zeit ist, hat uns genau die Situation beschert, dass die Browserhersteller unterschiedliche Süppchen kochen und Technologien wie Flash – oder vielfach auch noch ActiveX – die Lücke füllen müssen.

HTML5 liegt seit Oktober als Working Draft vor und wird zur Zeit von den Browserherstellern angegangen:

Bei der Unterstützung von HTML5 ist man sich also grundsätzlich einig, im Detail muss man aber aufpassen, welche Browser-Version welche Anteile von HTML5 in welchem Maße unterstützt. Es wird noch etwas dauern, bis hier eine verlässliche Basis auf breiter Front vorhanden sein wird.

Die Details

Inhaltlich betrachtet ist HTML5 ein Sammelsurium unterschiedlicher Verbesserungen und Neuerungen. Da sind zunächst die beiden in aller Regel genannte Dinge: Video und 2D-Grafiken (a.k.a. “Canvas”).

Die Video-Funktionalität bringt nichts Besonderes oder Überraschendes mit sich. Sie stellt einfach Videos dar, aber ohne dabei auf spezifische Plug-Ins angewiesen zu sein. Der Vorteil für den Webentwickler ist eine einheitliche Schnittstelle (HTML und JavaScript), und die Tatsache, dass er sich nicht in eine weitere Technologie einarbeiten muss. Der Vorteil für den Anwender ist, dass er sich das Video anschauen kann, unabhängig davon, auf welchem Gerät und welche Plug-Ins ihm zur Verfügung stehen.

Mittels Canvas lassen sich 2D-Grafiken darstellen, ergänzt um JavaScript auch animiert. Damit lassen sich prinzipiell weitere Anwendungsfälle adressieren, die heute primär von Flash abgedeckt werden: Diagramme, etwa Nutzungsstatistiken, Aktienkurse oder ähnliches; im Gegensatz zu einfachen Images auch mit Benutzerinteraktion. Aber auch komplexere Dinge wie etwa Web-Games (heute ebenfalls oft in Flash gelöst) sind möglich, wie dieser Klassiker beweist.

Im Multimediabereich muss man ergänzend noch Audio Unterstützung nennen.

Video und 2D-Grafiken werden deshalb so oft und gerne genannt, weil sie die typischen Einsatzszenarien von Flash darstellen. Dennoch sollte man HTML5 nicht darauf reduzieren.

Für die klassische HTML Erstellung bringt HTML5 eine Reihe von Verbesserungen bei der JavaScript-Steuerung, sowie bei der semantischen Auszeichnung des Inhalts (etwa “Header” und “Footer”).

Bzgl. Benutzerinteraktion kommen neue Typen von Formularfeldern, bei denen der Browser spezielle Darstellungen wählen kann (etwa einen Date-Picker), oder auch die Format-Validierung übernimmt (etwa bei einer Email-Adresse). Aber auch APIs für drag-and-drop, browser history management, und einige Kleinigkeiten mehr.

Details nachzulesen beim W3C oder auf wikipedia. Einen schönen und illustrierten Überblick bietet http://www.drweb.de/magazin/html5-ueberblick/.

Aber auch hier ist noch nicht Schluss. Dazu kommen verwandte Themen, die nominell nicht zu HTML5 gehören aber oft im Zusammenhang genannt werden: CSS3, Web Storage und gerade für mobile Anwendungen Geolocation.

Nicht unwesentlich in diesem Zusammenhang sind auch die Verbesserungen der JavaScript Engines, der gängigen Browser (in Microsofts Fall ab IE9…), denn viele dieser Einzelpunkte entfalten erst im Zusammenhang mit Scripting ihr Potential. Mit HTML5 dürfte eine weitere Zunahme von Scripting allgemein bzw. auf entsprechenden AJAX-Frameworks basierende Anwendungen im Besonderen einhergehen.

Die Bedeutung

Bei Licht betrachtet ist HTML5 ein bunter Mix aus sehr unterschiedlichen Dingen. Dabei sind nicht mal sonderlich herausragende Themen enthalten. Im Grunde wird HTML nur auf den aktuellen Stand der Technik gehoben, indem typische, seit langem vorhandene Anforderungen aufgenommen werden. In Summe also eine (längst überfällige und daher vielleicht etwas umfangreichere) Evolution, aber sicher keine Revolution oder ein “groundbreaking upgrade” (link).

Die Bedeutung von HTML5 liegt mithin nicht in den Funktionalitäten selbst. Sie liegt in zwei Dingen:

  1. Der breiten Unterstützung seitens der Browserhersteller. Aus welcher Motivation diese auch immer hinter HTML5 stehen sei dahingestellt, aber eine derart breite und ernst gemeinte Unterstützung gab es in dieser Form noch nicht. Das wird auch dazu führen, dass sich die Browser wieder auf vergleichbarem Leistungsniveau und Funktionsumfang einpendeln – durchaus wichtig um eine Verzettelung und Inkompatibilitäten (wie wir sie heute haben) im Web zu verhindern. Damit wird es mit HTML5 wieder eine Plattform für Webanwendungen geben, die dem Stand der Technik entspricht und die breit verfügbar ist.
     
  2. Der zeitlichen Nähe zur Entwicklung im an Bedeutung gewinnenden mobilen Bereich (Smartphones und Pads). In diesem Bereich sind die Plattformen deutlich inhomogener, als das im Desktopbereich der Fall ist (iOS, Android, WP7, dazu Desktop-Betriebssysteme für Pads). Daher wird Webanwendungen für mobile Clients eine deutlich höhere Bedeutung zukommen. Selbst wenn HTML5 nicht die volle Geräteintegration (etwa Telefon-Integration oder Multitouch) bieten kann, wird es die einzige übergreifend verfügbare Plattform sein. Die besondere Unterstützung durch Web Storage, Geolocation und rudimentäre Offline-Fähigkeit wird dazu ein Übriges tun.

HTML5 wird also nicht nur ein akademischer, sondern ein echter Industriestandard werden. Zusammen mit Verbesserungen der JavaScript Engines gängiger Browser wird HTML damit wieder zu einer adäquaten Entwicklungsplattform für Webanwendungen auf der Höhe der Zeit. Und der wachsenden Bedeutung mobiler Szenarien wird ebenfalls Rechnung getragen.

Um der Vollständigkeit halber auch den letzten Kritikpunkt aus dem Weg zu räumen: Von Kritikern wird gerne ins Feld geführt, dass HTML5 gerade mal ein erster Working Draft ist und mit dem Status als “W3C Recommendation” erst für 2022 gerechnet wird.

Selbst wenn es tatsächlich noch so lange dauern sollte – was keineswegs sicher ist – ist das aus praktischen Erwägungen heraus völlig belanglos. Viele Einzelaspekte von HTML5 werden in naher Zukunft breit und stabil über alle relevanten Browser hinweg verfügbar sein. Faktisch kommt dies einer Standardisierung gleich.

Für Web-Entwickler ist HTML5 also eine gute Nachricht. Jedenfalls solange die Einigkeit der Browserhersteller anhält – und wir nicht wieder 10 Jahre auf die nächste Evolution warten müssen.