Viele Web-Entwickler sehnen HTML5 schon seit langem herbei. HTML5 ist die aufpolierte und neue Version der Web-Ursprache HTML. Das World Wide Web Consortium (W3C) ist gerade dabei die letzten Feinheiten festzulegen. Für viele ist die HTML-Sanierung längst überfällig. HTML wurde seit über einem Jahrzehnt nicht mehr richtig erweitert, sodass es immer schwieriger wird, moderne Anwendungen mit HTML zu realisieren.
Das letzte Upgrade, das den W3C-Empfehlungsstatus erreicht hat, war XHTML 1.1 im Jahr 2001. In den vergangenen Jahren wurden die Web-Entwickler immer unruhiger. Viele behaupten schon lange, dass HTML und XHTML nicht mehr auf dem neusten Stand sind und der dokumenten-zentrierte Fokus nicht mehr die Bedürfnisse moderner Web-Applikationen erfüllt.
HTML5 möchte die HTML-Sprache verjüngen und modernisieren. Wenn HTML5 fertig ist wird es neue Standards für die Implementierung von Tags, APIs, Multimedia und Lokalisierungen geben. Erste HTML5-Funktionen wurden schon in aktuelle Webbrowser integriert. Einige Entwickler äußern nun sogar die Hoffnung, dass das neue, moderne HTML proprietäre Plug-Ins, wie Flash, QuickTime und Silverlight, überflüssig machen könnte.
Obwohl schon einige prominente Web-Publisher wie Apple, Google, die Mozilla Foundation, Vimeo (ein Videoportal) und YouTube mit dem neuen Standard arbeiten, sagen W3C-Mitglieder, dass der Weg zu HTML5 noch steinig ist. Einige Bereiche werden momentan noch heiß diskutiert, während andere noch gar nicht fertiggestellt sind. Es kann also noch Jahre dauern bis ein kompletter neuer Standard herausgegeben wird. Und es wird daraufhin noch mehr Zeit vergehen, bevor die meisten Web-Nutzer HTML5-kompatible Browser nutzen werden. In der Zwischenzeit müssen sich die Web-Entwickler einer verzwickten Aufgabe stellen. Sie wollen mit heutiger Technologie moderne Web-Applikationen erstellen, die morgen einfach auf den HTML5-Standard umgestellt werden können.
HTML für Rich-Applikationen erweitern
Rich-Applikationen und HTML haben nicht immer zusammen gepasst. Tim Berners-Lee, der Vater des Internets, sagte über HTML: "HTML ist eine einfache Sprache, um plattformunabhängige Hypertext-Dokumente erstellen zu können." Mit der Einführung von XHTML, der XML-Formulierung der Sprache, konnte W3C den Fokus auf "Webseiten als Dokumente" zementieren. Der XHTML-Standard verstärkt Eigenheiten, wie Dokument-Struktur, Kompatibilität mit XML-Werkzeugen und Berners-Lees Version des semantischen Webs.
Dies hat viele Entwickler frustriert, die im Internet ein größeres Potenzial, nämlich eine Applikations-Plattform, sahen. Im Jahr 2004 haben Apple, die Mozilla Foundation und Opera Software ein unabhängiges Web-Standard-Konsortium, die Web Hypertext Application Technology Working Group (WHATWG), gegründet. Das Konsortium arbeitet seitdem außerhalb der W3C und begann parallel HTML zu modernisieren, um eine verstärkte Applikations-zentrierte Sicht auf das Internet zu ermöglichen.
Im Jahr 2007, als XHTML2 in endlosen Diskussionen zerrieben wurde, hat das W3C beschlossen, die Arbeit der WHATWG als Startpunkt für HTML5 zu nutzen. Zu dieser Zeit hat selbst Berners-Lee eingesehen, dass das Web auch applikations-zentriert funktionieren kann. Er schrieb im Jahr 2006: "Einige Dinge werden klarer mit der Einsicht der vergangenen Jahre. Es ist notwendig HTML grundlegend weiterzuentwickeln. Der Versuch die Welt auf XML umzustellen … hat nicht funktioniert."
Dies bedeutet nicht, dass das Konzept eines auf XML-basierenden Internets tot ist. Obwohl HTML die Führungsrolle im Standardisierungs-Verfahren übernommen hat, wird gleichzeitig versucht, eine XML-Formulierung XHTML5 für HTML5 zu entwickeln. XHTML5 wird für jene verfügbar sein, die schon den Wechsel vollzogen haben. Entwickler müssen nicht mehr die Syntax von XHTML betrachten um die Vorteile der neusten Websprachen-Funktionen nutzen zu können.
Die Standard-Websprache HTML wird komplettsaniert
HTML5 hat viele zusätzliche Erweiterungen geerbt, die für XHTML2 vorgesehen waren. Dazu gehören eine Reihe neuer Funktionen, welche die bisherige Dokumenten-Struktur verbessert. Neue HTML-Tags, wie header, footer, dialog, aside und figure, erlauben den Autoren die bestimmten Textbausteine einfacher und konsistenter zu definieren. Momentan müssen die Autoren auf div-Tags zurückgreifen, die mit selbst-definierten Klassenattributen und -Methoden ausgestattet sind. HTML-Dokumente sind dadurch schwieriger les- und nachvollziehbar.
HTML5 trennt den Web-Inhalt nun von der Präsentation. Entwickler werden etwas überrascht sein, b- und i-Elemente (ursprünglich stehen b und i für bold/fett und italic/kursiv) im neuen Standard zu sehen. Sie können diese Elemente verwenden, um Teile des Textes hervorzuheben ohne typographische Änderungen vorzunehmen. Das i-Element ist nun nicht mehr das Kürzel für einen Kursivtext, sondern bedeutet in HTML5 einfach "ein Textabschnitt, der eine andere Stimmung überbringen soll". Gleichzeitig steht das b-Element nicht mehr für einen fettgedruckten Textabschnitt, sondern für einen sichtbar hervorgehobenen Text ohne irgendeine erhöhte Wichtigkeit.
Zum Vergleich wurde das u-Element, das für unterstrichene Textpassagen genutzt wurde, ganz aus HTML5 herausgenommen. Andere Stil-Elemente, wie font, center und strike werden ebenfalls nicht mehr unterstützt. Stil-Eigenschaften sollen von nun an exklusiv von der CSS-Umgebung übernommen werden.
Der neue Standard führt zusätzliche Datentypen für Input-Elemente ein, die das einfache Einfügen von Daten, URLs und E-Mail-Adressen erlauben. Weitere Elemente erweitern die Unterstützung für nicht-lateinische Zeichensätze. HTML5 liefert ein neues Konzept der Mikrodaten, die dabei hilft, HTML-Inhalte mit automatisch auslesbaren Tags zu versehen, sodass ein semantisches Web diese Inhalte einfacher auslesen und verarbeiten kann. Zusammengenommen können Entwickler mit HTML5 strukturierter, sauberer und nachvollziehbarer Webseiten erstellen, die wunderbar mit Suchmaschinen, Bildschirm-Ausleseprogrammen und anderen automatisierten Informations-Sammeldiensten zusammenarbeiten.
Ein auf Standards basierendes Web ermöglichen
Die wohl am sehnsüchtigsten erwarteten Neuerungen von HTML5 sind die neuen Elemente und APIs, die es kompetenten Autoren ermöglichen werden Rich-Media-Inhalte mit HTML einzubinden. Moderne Webseiten müssen immer mehr skalierbare Grafiken, Animationen und Multimedia-Inhalte beinhalten, damit Besucher die Webseite attraktiv finden. Bis heute mussten zum Einbinden dieser Inhalte spezielle proprietäre Plug-Ins, wie Flash, RealMedia und QuickTime benutzt werden. Nicht nur enthalten diese Plug-Ins immer wieder Sicherheitslücken, sondern auch der potentielle Publikumskreis wird verringert, da nicht jeder Webnutzer bereit ist Zusatzprogramme zu installieren.
HTML5 versucht dies zum einen mit einer Annäherung an verwandte Standard-Sprachen zu lösen. Autoren können beispielsweise MathML und SVG-Dateien für Gleichungs- und Grafikdarstellungen direkt in das HTML5-Projekt einbauen. Auf diese Weise wird HTML ein größerer Konkurrent zu Datenformaten wie Flash und Silverlight, die darauf ausgelegt sind sowohl Text als auch Grafik zu bearbeiten.
Doch die Rufe nach einer neuen Audio- und Videohandhabung sind am lautesten. HTML5 wird es schließlich möglich machen mit dem neuen Audio- und Video-Tag-System Multimedia-Inhalte einfach in ein Webseiten-Projekt einzubauen. Die Tags sind im HTML5-Standard als codec-neutral gekennzeichnet, sodass es von den jeweiligen Browser-Anbietern abhängt, ob sie den codec zum Abspielen der Medieninhalte unterstützen. Gerade für Entwickler für die Apple-Produkte iPhone und iPad, die beide kein Flash unterstützen, werden die neuen Video-Tag-Funktionen ein Segen sein.
HTML5 wird zudem die interaktive Webgrafik einen großen Schritt weiter bringen. Mit dem canvas-Tag können Sie Bereiche Ihres Browser-Fensters als dynamisches Bitmap definieren. Webentwickler können diese Grafikelemente mit JavaScript ansteuern und je nach Benutzereingabe verändern. Theoretisch können auf diese Weise komplette interaktive Internetspiele mit JavaScript und HTML programmiert werden. Es wird keine weitere Zusatz-Software benötigt.
Zusätzlich zu den vorgestellten Bildschirm-Technologien führt HTML5 das Konzept des browser-basierten Applikations-Cache ein. Dadurch können Web-Applikationen Informationen auf dem Nutzer-Gerät speichern. Wie das Google Gears Plug-In können diese Caches die Applikations-Geschwindigkeit erhöhen und die Offline-Nutzung einer Applikation ermöglichen. Google plant deshalb Gears aufzugeben und stattdessen die HTML5-Technologie zu integrieren.
Browser Plug-Ins sind noch nicht tot
Trotz all der neuen HTML5-Funktionen sollten Nutzer nicht denken, dass Plug-Ins über Nacht aus dem Internet verschwinden werden. Das Web hat eine lange Geschichte der Format- und Technologiekriege hinter sich, sodass häufig auch noch längere Zeit nachdem sich eine Technologie durchgesetzt hat, immer wieder ältere oder ungewohnte Formate benutzt werden. Es wird wahrscheinlich noch Jahre dauern, bis ein rein-HTML5-fähiger Browser verfügbar sein wird, der den gleichen Funktionsumfang abdeckt, den heutige aus vielen Programm-Flicken bestehende Browser abdecken.
Beispielsweise experimentieren Vimeo und YouTube schon heute mit den HTML-Video-Tags. Doch Multimedia-Inhalte einzubinden ist nicht so einfach wie es sich anhört. Die Entscheidungen des W3C legen im HTML5-Standard nicht fest, welcher Media-Codec verwendet wird. Dadurch können Entwickler nicht garantieren, dass ihre Multimedia-Inhalte auf jedem Client-Gerät abgespielt werden können. Apple, Google und Microsoft versuchen das H.264-Videoformat als Standard festzulegen, doch Open-Source Browser wie Firefox und Konqueror sind nicht in der Lage (oder aus ideologischen Gründen nicht bereit) die Lizenzen für die notwendigen Patente dieses Formats zu erwerben. Da dieser Streit noch nicht gelöst ist, müssen die Autoren, die ein breites Publikum bedienen möchten, gezwungenermaßen immer noch Flash nutzen.
Nicht jede schon vorhandene Applikation wird für HTML5 erneut geschrieben. Beispielsweise ist die Gears API von Google nicht mit der HTML5-Applikations-Cache API identisch. Auch Google gibt zu, dass es momentan keinen einfachen und generell gültigen Weg gibt, die Gears-Applikationen inklusive der Datenbank einfach auf den HTML5-Standard zu überführen. Solange es keinen Lösungsweg für dieses beispielhafte Problem gibt, werden einige Nutzer auch trotz eines HTML5-Browsers gezwungen sein Gears zu installieren um ältere Applikationen auszuführen.
Letztendlich wird vor allem der Browser-Marktanteil darüber entscheiden was die Entwickler alles aus HTML5 herausholen können. Der zurzeit noch häufig genutzte Internet Explorer 6 scheint der "nie sterbende" Browser zu sein, sodass sich Entwickler noch einige Zeit mit den Macken des IE 6 herumschlagen müssen. Auch ältere Versionen von Firefox, Opera und Safari haben noch einen großen Nutzeranteil und unterstützen kein HTML5. Solange diese Browserversionen nicht von den PCs verschwinden, bleibt den Webentwicklern nur die Möglichkeit zwei Versionen ihrer Seiten zu erstellen. Eine sauber programmierte HTML5-Version und eine andere ältere Seitenversion, die mit Hilfe verschiedener Tricks noch einen halbwegs akzeptablen Webauftritt für ältere Browser ermöglicht.
Was eine gute Starthilfe für HTML5 sein wird ist die Tatsache, dass Apples iPhone und iPad Flash nicht unterstützen, aber höchstwahrscheinlich gut mit HTML5 arbeiten werden. Auch Googles Chrome und die Google-Smartphones werden ebenfalls HTML5 unterstützen. Große Webseiten sind traditionell meist etwas konservativ, wenn es um Web-Standards geht. Selbst wenn HTML5 schon von einigen Herstellern breite Unterstützung finden wird, kann es immer noch Jahre dauern, bis auch die großen Webseiten-Publisher den Schritt wagen, ihre Seiten auf den neusten Stand zu bringen.
Wie Sie HTML5 schon heute ausprobieren können
Einige Stimmen in der Internet-Community mahnen zur Vorsicht. Beispielsweise plant Microsoft beim Internet Explorer 9 HTML5 zu unterstützen, jedoch stellt auch der Software-Gigant die Unterstützung in diesem Entwicklungsstadium in Frage. "Zu behaupten, dass man einen auf Standards basierenden Browser habe, aber im nächsten Satz anmerkt, dass HTML5 vollständig unterstützt wird, ist ein Widerspruch in sich, da die HTML5-Standards bis jetzt nicht fertig sind", sagt Steven Sinofsky von Microsoft.
Tatsächlich hält sich keine Organisation bedeckter als W3C selbst, wenn es um die Frage geht wie der Implementierungsprozess von HTML5 voranschreiten wird. Die HTML5-Arbeitsgruppe geht davon aus, dass der Standard den Candidate Recommendation Status - die W3C-Standardprozess-Phase, in der alle Funktionen komplett implementiert sind - nicht vor 2011 erreicht wird. Sollte das dann geschehen, gehen die Experten davon aus, dass es noch bis 2022 dauern wird, bis diese Standards weltweit akzeptiert und angewendet werden. Das sind insgesamt 21 Jahre von XHTML 1.1 zu HTML5.
HTML5 wird also wahrscheinlich die nächsten fünf bis zehn Jahre eine sich noch immer weiterentwickelnde Technologie bleiben. Web-interessierte, die heute schon HTML5 in Aktion erleben möchten, können das in einem etwas beschränkten Umfang tun. Einige Pilotprojekte und Demonstrationsseiten, welche die verschiedenen Möglichkeiten des neuen Standards aufzeigen, sind online einsehbar. Hier ist die Darstellung der Seiten sehr vom gewählten Browser abhängig. HTML5-Funktionen werden mit Firefox nur teilweise wiedergegeben. Auf der WebKit Rendering Engine aufbauende Browser, wie Chrome und Safari, kommen mit HTML5 am besten klar. Dies bedeutet, dass auch der Internet Explorer eine Alternative darstellt, wenn das Chrome Frame Plug-In installiert ist.
Webentwickler können schon heute mit HTML5 experimentieren. Komplette Seiten können mit dem Code auf Basis der aktuell gültigen HTML5-Spezifikationen errichtet werden. Jedoch können aktuelle Browser wie schon erwähnt nicht alle Funktionen wiedergeben.
Da an dem HTML5-Standard noch so viel Arbeit zu erledigen ist, stempeln viele Organisationen die neue Technologie als Hype oder Episoden-Technologie ab, von der sich die Internet-Welt wieder so schnell verabschiedet, wie sie aufgekommen war. Es ist ein Fehler HTML5 so zu sehen. Standards brauchen nunmal Zeit um entwickelt zu werden. Zudem arbeiten viele große Unternehmen an diesem Projekt, die Interesse an einem neuen Web-Standard haben. Dazu zählt Adobe, Apple, Google, Microsoft, die Mozilla Foundation, Opera Software und weitere. Diese Großunternehmen erkennen den Nutzen in einem neuen HTML-Standard und verhelfen HTML5 zugleich, sein Potenzial künftig ausschöpfen zu können. Die daraus resultierenden Möglichkeiten für Webentwickler sind zu gewichtig, als dass sie ignoriert werden könnten.
Links zu HTML5 Demonstrationsseiten
Im Folgenden sind einige Links zu HTML5-Demonstrationsseiten aufgelistet. Für einige Seiten werden Chrome, Safari oder der Internet Explorer mit Chrome Frame Plug-In benötigt. Firefox-Nutzer haben hier das Nachsehen, da nur wenige Funktionen wiedergegeben werden können.
Mozilla Bespin: Ein browser-integrierter Entwicklungs-Editor, der die HTML Technologie nutzt.
Vimeo: Vimeo-Filme haben am unteren Rand einen Link um zu einem HTML5-Player zu wechseln. Dies ist nur mit Chrome, Safari und IE + Chrome Frame möglich.
Merge Design: Eine HTML5 Geo-Lokalisierungsdemo.
Sticky Notes: Eine Demonstration der HTML5-Speicherung auf Client-Seite.
Wolfenstein 3D: Eine canvas-tag Demo inklusive Anleitung (englisch), die auch mit Firefox 3.6 funktioniert.
Google Wave: Einige Funktionen von Google Wave bauen auf HTML5 auf.
FreeCiv: Ein mit HTML5 implementiertes Spiel.
Der Originalartikel stammt von Neil McAllister. Ein Autor bei unserem Schwestermagazin InfoWorld.