HTML5 – Hype und Realität

HTML5 ist derzeit wohl eines der angesagtesten IT-Themen. Es ist sowohl bei Technikern als auch bei Entscheidern präsent und beeinflusst deren strategische Entscheidungen. Wie stark die Durchdringung vom Begriff HTML5 vorangeschritten ist, spüren Softwarehäuser täglich. Immer wieder tritt das Thema seitens der Kunden an verschiedensten Stellen auf. Dabei sind zwei Anforderungen besonders häufig vertreten:
1. Bei Web-Seiten soll HTML5 als Flash-Ersatz genutzt werden, um mit modernen Methoden ansprechende Web-Anwendungen für alle Browser und Plattformen zu ermöglichen.
2. HTML5 soll genutzt werden, um mobile Anwendungen für mehrere Plattformen einheitlich zu entwickeln und den Aufwand von nativer Entwicklung zu reduzieren.

Was steckt tatsächlich dahinter?

Von Holger Bothmer und Florenz Heldermann

Was ist HTML5
HTML5 zählt heute in vielen Ebenen zu dem Buzzword überhaupt, ähnlich wie vor wenigen Jahren der Begriff Web 2.0. Doch das Wissen zu Technologie und zu den Merkmalen HTML5-fähiger Browser scheint stark ausbaufähig. Vielmehr wird HTML5 fälschlicherweise als Bezeichnung für eine ganze Reihe von Elementen, Technologien und Konzepten benutzt (siehe auch [4]).

Zunächst einmal ist HTML5 ein neuer Standard, der sich zurzeit noch in der Entwicklung befindet. Nach aktuellem Zeitplan will das WWW-Konsortium W3C erst im Jahr 2014 eine Empfehlung veröffentlichen. Dennoch kommen schon heute eine ganze Reihe von Funktionen und Konzepten zum Einsatz. Diverse Web-Browser unterstützen HTML5 bereits. Allerdings sind zahlreiche Funktionen nur mit großem Aufwand implementierbar, etwa durch den Einsatz externer Bibliotheken. Inhaltlich liefert HTML5, was Web-Anwendungen heute voraussetzen, jedoch nur mit großem Aufwand und proprietären Lösungen leisten können. Flash ist hier nur ein Beispiel. HTML5 liefert neue Elemente, um Dokumente semantisch weiter zu strukturieren und bildet auch Funktionen wir etwa Grafik, Audio und Video ab. (siehe [1] und [2]). Wiederholt wichtig zu nennen ist, dass HTML5 aktuell kein geschlossener, vollständiger Standard ist. Es ist vielmehr eine Sammlung von Elementen. Diese sind mehr oder weniger hilfreich und mehr oder weniger verbreitet. Tabellen zur Visualisierung der HTML5-Unterstützung in Desktop-Browsern und auf mobilen Geräten zeigen deutlich, wie unterschiedlich die einzelnen Clients sein können.

Szenario: Desktop
Für Web-Entwickler steckt HTML5 noch in den Kinderschuhen. Dennoch steigt die Nachfrage. Immer häufiger wünschen beispielsweise Kunden der team-neusta-Agentur Interwall, komplett auf Flash zu verzichten und das vermeintlich zukunftssichere HTML5 einzusetzen. Wird dieser Weg konsequent verfolgt, zieht dies jedoch den Ausschluss zahlreicher Internetnutzer nach sich. Denn schon neue semantische HTML5-Elemente erweisen sich in dem Internet Explorer bis Version 8 als nicht funktionsfähig. Schlimmer noch: Sogar das komplette Seitenlayout kann zerstört werden. Zwar lassen sich ältere Browser durch Einbinden von Zusatzbibliotheken anpassen, doch sind Seitenbetreiber dann abhängig davon, dass Seitenbesucher das mitunter unbeliebte JavaScript aktiviert haben. Nicht zuletzt gilt: Jede zusätzliche Zeile Quellcode kann die Web-Seite verlangsamen.

Um auch Seitenbesuchern mit älteren Browsern ein ansprechendes Surferlebnis zu bieten, kann eine alternative Seitenversion erstellt werden. Wird vom Server ein älterer Browser erkannt, erhält der betagte Client eine für ihn funktionsfähige, meist jedoch abgespeckte und angepasste Seite. Der Besucher sieht eine korrekt dargestellte Seite. Allerdings bedeuten derartige Anpassungsarbeiten einen Mehraufwand, der die Entwicklungszeit um mindestens ein Drittel steigert. Trotz aller Unwägbarkeiten: Schon heute lassen sich bestimmte HTML5-Elemente nutzen. Dazu gehört das sogar für ältere Browser geeignete Video-Element. Da dieses Element mehrere Quellen beinhalten kann, lädt es je nach Browser ein Video im passenden Format. Für die maximale Kompatibilität lassen sich im Zweifelsfall traditionelle Flash-Videos darstellen. Soll das Abspielen der Bewegtbilder garantiert werden, müssen aktuell mit dem HTML5-Video-Element bis zu fünf Formate hinterlegt sein. Hingegen dazu ist das Adobe-Flash-Plugin laut Angaben von Adobe auf 99 Prozent aller Rechner installiert.

Flash vs. HTML5
Der Wunsch nach Verzicht auf die Flash-Technologie erlebte mit Einführung des iPad einen regelrechten Schub. HTML5 soll es also richten. Dies ist insofern schwierig, da vielfach die Technik an sich bereits falsch interpretiert wird. Als der Computerkonzern Apple mit Vermarktung des iPhone den Verzicht auf Flash erklärte, musste das Unternehmen natürlich einen Ersatz bieten. Es wurden vermeintliche Beispiele mit HTML5 erstellt. Diese waren optisch ansprechend, jedoch nicht HTML5. Tatsächlich wurden größtenteils CSS3-Animationen in Zusammenspiel mit JavaScript gezeigt. Das war nur einer der vielen Ausgangspunkte für das generelle Falschverständnis von purem HTML5 und der Start zur Verbreitung eines gleichnamigen Buzzwords.

Flash ist laut Hersteller auf 99 Prozent aller Rechner installiert. Da überrascht es nicht, dass zahlreiche Webseiten komplett mit Flash umgesetzt werden. Schließlich erlaubt Flash viele kreative Möglichkeiten, Standard-Webtechnologien versagen hier mitunter. Die Wiedergabe von Audio- und Videodateien oder komplexe Animationen sind mit Adobe Flash schnell realisiert. Flash gestattet heute eine hohe Qualität und gilt als Quasi-Standard, ist jedoch proprietär. Entwickler wie Nutzer sind von den Entscheidungen des Herstellers abhängig. Funktionen könnten theoretisch von einemk auf den anderen Tag gestrichen werden. Auf der anderen Seite kann Hersteller Adobe Systems als Einzelunternehmen leichter neue Funktionen hinzufügen als ein demokratisches Konsortium, das zudem auf den Implemetierungswillen der Browser-Anbieter hoffen muss. Doch obwohl Flash ein geschlossenes System ist, übersteigt die Verbreitung des Flash-Players die Anzahl HTML5-fähiger Browser. HTML5 und CSS3 sollen dennoch die Nachfolge antreten. Für kleinere Animationen wie etwa in einer Menünavigation eignet sich CSS3. Komplexere Applikationen verlangen nach dem HTML5-Canvas-Element, das sich jedoch – wie viele andere HTML5-Elemente – noch in einer frühen Entwicklungsphase befindet. Flash wird uns sicherlich noch eine Weile erhalten bleiben, da HTML5 in seiner jetzigen Form noch nicht weit genug und vor allen einheitlich genug verbreitet ist. Sicher ist auch, dass keines der Technologien die andere vollständig ersetzen kann. Eine klassische Konkurrenzsituation besteht nicht, vielmehr ergänzen sich die Technologien.

Szenario: Mobile – Plattformunabhängige Apps mit HTML5
Softwareunternehmen entwickeln Smartphone Apps verstärkt für mehrere Plattformen zugleich. Da liegt es nahe, dank der Möglichkeiten der Technologie HTML5 universelle Apps zu realisieren – getreu dem Motto: einmal entwickeln, auf allen Plattformen nutzen.

Hier sieht die Realität leider problematisch aus. Mit HTML5 wechselt sich das Problem der unterschiedlichen Betriebssysteme mit dem Problem der unterschiedlichen Browser ab. Aus der Tabelle wird ersichtlich, dass die einzelnen Mobil-Systeme HTML5 sehr unterschiedlich unterstützen. So finden wir bei gängigen Geräten Scores (siehe [3]) von unter 100 bis knapp über 300 bei einem Maximum von 475 möglichen Punkten. Das bedeutet, dass jedes genutzte Feature erst auf Unterstützung geprüft werden muss. Hinzu kommt, dass Seitenlayouts trotz Standards wie CSS in verschiedenen Browsern nicht immer gleich dargestellt werden. Hier explodieren förmlich die Aufwände für das letzte Finetuning. Was vor allem Entwickler verblüfft: Die Implementierung von komplexer Logik in HTML5-Ansätzen mittels JavaScript ist aufwändiger als nativ. Zum anderen können gerätenahe Funktionen und die Performance optimierende Bausteine, die das jeweilige Betriebssystem anbietet, nicht oder nur mit Einschränkungen genutzt werden.

Ist also alles schlecht? Nein, ganz so ist es sicher nicht. HTML5 bietet im Mobile-Bereich trotz alledem schon heute einige Dinge, die Aufwände reduzieren und Erleichterung bringen:

  • Spezielle Controls werden bereits überall unterstützt. Nutzt man diese bei einer mobilen Web-Seite, kann beispielsweise definiert werden, dass ein Eingabefeld eine Emailadresse oder eine Zahl enthält. Dies führt dazu, dass die Smartphones ein optimiertes Tastaturlayout einblenden.“
  • Telefonieren oder das Senden von SMS kann direkt aus der Web-Seite initiiert werden.
  • Layout-Elemente und 2D-Grafik werden fast überall unterstützt und ermöglicht so eine plattformunabhängige Ausgabe.

Fazit:
Zusammenfassend lassen sich folgende Regeln aufstellen, die den Umgang mit HTML5 erleichtern:

1. Achtung! Buzzword-Alarm!
2. Nicht alles was HTML5 genannt wird, ist HTML5.
3. Bis zum praxistauglichen Einsatz von HTML5 wird es noch einige Zeit dauern.
4. HTML5 verspricht eine großartige Perspektive.
5. Punktuell bietet HTML5 schon heute einige Ansätze, die Lösungen vereinfachen.

HTML5-Unterstützung auf Smartphones und Tablets – Score nach www.html5test.com

Gerät Betriebssystem Browser Score (von 475 möglichen)
iPhone 3G iOS 4 Safari 207
iPhone 4 iOS 5.0.1 Safari 305
IPad 1 iOS 5.0.1 Safari 305
Huawei Ideos X3 Android 2.3.3 Standard 182
Google Nexus One Android Cyanogenmod 7.1.0 Standard 182
HTC Sensation Android Standard 216
HTC Sensation Android Dolphin 182
HTC G1 Android 1.5 Standard 49
HTC Flyer Android 3.2.1 (Sense) Standard 226
HTC Hero Android 1.6 Standard 151
Motorola Defy Android 2.2.2 Standard 182
Huawei Mediapad Android 3.2 Standard 222
Huawei Mediapad Android 3.2 Dolphin 256
Blackberry Torch 9800 Blackberry Standard 266
Blackberry Bold 9700 Blackberry 6.0 Standard 258

Weiterführende Links:
[1] http://de.wikipedia.org/wiki/HTML5
[2] http://www.selfhtml5.org/2010-html5-features/95/
[3] http://www.html5test.com
[4] http://www.peterkroener.de/was-ist-html5-und-was-nicht-und-was-haette-der-kaiser-dazu-gesagt/

Über die Autoren:
Holger Bothmer ist Geschäftsführender Gesellschafter der neusta mobile solutions GmbH, Florenz Heldermann ist Webentwickler bei der Interwall GmbH.

www.team-neusta.de,
www.interwall.net