HTML5 – Die Grenzen

17. Januar 2011

Die Chancen von HTML5 habe ich bereits ausgeführt, aber um HTML5 ranken sich auch viele überzogene Erwartungen.

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

Kommen wir nochmal zur Frage zurück…

“Will HTML 5 one day make Flash, Silverlight and other plug-in technologies obsolete?” (link)

Tatsächlich wird mir genau diese Frage in Diskussionen immer wieder gestellt. Oder sie wird gleich zur Behauptung umformuliert… .

Ich habe ja bereits ausgeführt, dass HTML5 mit Video und Canvas Aufgaben übernimmt, die bislang vornehmlich von Flash abgedeckt wurden. Genaugenommen geht es dabei aber gar nicht um RIA-Themen, vielmehr gab es bislang schlicht keine Technologie außer eben Flash, die dank ihrer Fähigkeiten und Verbreitung diese Anforderungen erfüllen konnte. Dass mit Flash eine RIA-Technologie diese Lücken füllen konnte ist im Grunde Zufall.

Microsoft trat mit Silverlight zunächst als Flash-Konkurrent auf. Aber auch wenn die Verbreitung des Silverlight-Plugins kontinuierlich steigt, konnte Silverlight sich in diesen typischen Anwendungsfällen nie ernsthaft gegen Flash positionieren. Auch das dürfte mit eine Motivation für das deutliche Bekenntnis von Microsoft zu HTML5 sein.

Schauen wir also, wo in den verschiedenen Bereichen HTML5 an seine Grenzen gerät und RIA Technologien punkten können.

Das wirft zunächst die Frage nach einer Definition des Begriffs “RIA” bzw. “RIA-Technologie” auf. Selbst Wikipedia hatte noch vor einem Jahr eine recht breite Definition der entsprechenden Technologien, die u.a. AJAX-Frameworks einschloss, spricht aber heute von Flash, Java und Silverlight.

Ich mache die Definition von RIA gerne an der Frage “zustandsbehaftetes, seitenübergreifendes Programmiermodell für Anwendungen, die im Browser/in einer Sandbox laufen” fest. Oder in Technologien: Flash (AIR), JavaFx, Silverlight (als Browser-Plugin/Out-of-Browser; nicht aber als Plattform, etwa in WP7).

Dass HTML/AJAX dabei außen vor bleibt ist in keinster Weise abwertend gemeint, es gibt lediglich die übliche Abgrenzung in der Diskussion wieder.

Web-Anwendungen

HTML5 wird die Standardanforderungen von Web-Anwendungen abdecken, und damit viele Dinge anbieten, die heute von Flash bedient werden. Das wird zweifellos ein Zurückdrängen von RIA Technologien zur Folge haben. Aber genau dort wo Anforderungen über das übliche Maß hinausgehen werden diese Ihre Nische finden – eine Nische in der noch genügend Raum für Innovation bleibt:

Bezüglich Video werden die Hersteller durchaus darauf achten im zukünftig sicher wichtiger werdenden Markt WebTV und HD-Videos Alleinstellungsmerkmale bieten zu können.

Da Flash nicht mehr den Vorteil der alleinigen oder der breiten Verfügbarkeit für sich verbuchen kann, werden in diesem Bereich sicher auch Karten zwischen den verschiedenen Technologien neu verteilt. Gerade Silverlight hat hier mit den Olympischen Spielen oder maxdome gut vorgelegt.

Ähnliches gilt für komplexe Controls, die mit Canvas und JavaScript einfach nicht mehr sinnvoll umsetzbar sind. Beispiel Mazda; oder auch Datenauswertungen.

Und schließlich sind da die Unterstützung von Hardware (Kamera, Game-Controller), spezielle Features (Animationen, 3D), und ganz generell die höhere Innovationsgeschwindigkeit, mit der die Hersteller agieren können.

Gemeinsam ist diesen Szenarien, dass der Anwender sich auf die Nutzung des jeweiligen Plugins einlassen muss. Für den Anbieter ist dies immer mit der Abwägung verbunden, ob er sein Angebot exklusiv daran binden kann (etwa weil es faktisch alternativlos ist, Beispiel HD-Videos), oder ob er (um Kunden nicht zu verprellen) eine einfachere Alternativ-Variante anbieten muss.

RIA-Anwendungen

Auch HTML5 wird aus HTML keine RIA Technologie machen. HTML5 bringt kein neues Programmiermodell, es ändert nichts an der rein serverseitigen Verarbeitung, am Page-Modell, an Postbacks.

Für viele Anwendungen – gerade auch Line-of-Business-Anwendungen – kommt HTML zu schnell an seine Grenzen. Typische Anforderungen sind dabei:

  • Datenlastigkeit: Umgang mit großen Datenmengen; Eingabe und Bearbeitung mit komplexen Validierungen, Listendarstellungen mit erweiterten Funktionalitäten, etc..
  • Usability: Schnelle Rückmeldung (ohne Postback!), dynamische Benutzerführung, dynamischer Maskenaufbau oder Anpassung während der Eingabe, …
  • Business-Funktionalitäten: Drucken, grafische Aufbereitung, Integration mit Office-Produkten.
  • Offline-Fähigkeit
  • Connectivity: Unterstützung verschiedener Netzwerkprotokolle (z.B. security, duplex)
  • Multimedia und Hardware-Unterstützung: Animationen, Kamera, Mikrofon, Multitouch, …
  • Entwicklungsplattform: Stateful Programmiermodell, Komponentenmodell, Controls, Databinding, …

Damit sind sicher nicht die typischen Web-Anwendungen für die breite Masse gemeint, aber z.B. Intranet-Anwendungen, oder Anwendungen für einen geschlossenen Benutzerkreis. Ein prominentes Beispiel ist SAP, ebenso sind Homebanking- oder andere Anwendungen für einen geschlossenen Kundenkreis denkbar. In der Vergangenheit wurde dies oft – mehr schlecht als recht – über Java Applets gelöst; heute findet man häufiger AJAX-Ansätze, die das gesteckte Ziel aber nicht erreichen können. Tatsächlich hat (nur) Microsoft mit Silverlight eine ideale Plattform für LOB-Anwendungen anzubieten. Adobe AIR hat im Gegensatz zu Flash eine deutlich geringere Verbreitung. Und JavaFx scheint einen langsamen Tod zu sterben.

Fazit

HTML5 wird ganz generell RIA-Technologien aus ihrer Rolle als Lückenbüßer für bislang fehlende Funktionalitäten (Video, Canvas) zurückdrängen. Auf die Notwendigkeit eines Einsatzes von RIA-Technologien in speziellen Web-Szenarien und in LOB-Anwendungen bzw. bei RIA-Anwendungen ganz allgemein wird das aber keine Einfluss haben.

Da HTML5 aber gerade auch als Waffe gegen die vorherrschende Stellung von Flash ins Feld geführt wird, kann es durchaus den Markt der RIA Technologien aufmischen. Nimmt man noch die unsichere Zukunft von JavaFx hinzu, so spielt diese Entwicklung am ehesten Microsoft in die Hände. Silverlight profitiert in diesem Bild zusätzlich davon, dass die Technologie nicht auf RIA beschränkt ist, sondern als Plattform für Devices in weitere Bereiche vordringt (WP7, WebTV).

Neben diesem indirekten Effekt auf RIA-Technologien wird HTML5 aber eine Eigenschaft haben, die vermutlich keine RIA-Technologie absehbar aufbieten kann: Es wird – bei allen Einschränkungen – auf jeder Plattform verfügbar sein.

Was heißt das also?

Als Gesamtfazit dieser kleine Serie kann man also schließen: Das Gegeneinander von HTML5 und RIA, das von manchen herbeigeredet wird, existiert im Grunde nicht. Bestenfalls gibt es ein HTML5 gegen Flash, aber auch das ist mag anders ausgehen als es vordergründig erscheint. Tatsächlich ergänzen sich beide Ansätze und jede Technologie hat zudem ihren Bereich, in dem die jeweils andere wenig Sinn macht. Beispiele:

  • Eine Webanwendung die für eine möglichst großer Anwenderschaft im Internet verfügbar sein soll? HTML5.
  • Eine LOB-Anwendung, die deutlich höhere Anforderungen an Mächtigkeit und Usability stellt? Silverlight.
  • Eine mobile Anwendung, die breit verfügbar sein soll? HTML5. Außer man benötigt eine engere Integration in das Device, dann führt kein Weg an den diversen Plattformen vorbei.

Und zwischen diesen pauschalen Hinweisen bleibt jede Menge Platz für Einzelfallentscheidungen. Wichtig ist dabei wie so oft nur, dass es informierte Entscheidungen sind.