Zurück zur Übersicht


Geschrieben am 25.6.2010 um 0:10 Uhr von Klopfer in der Kategorie Allgemeines

HTML5 - Nun rauft euch doch mal zusammen

Mittlerweile wird ja laut getrommelt, um die Leute auf HTML5 heiß zu machen. Google, Apple und Mozilla basteln ganz tolle Demos, und Microsoft verspricht für den Internet Explorer 9 auch ganz viele HTML5-Features. Eigentlich geht's dabei nicht nur um HTML5, sondern auch um CSS3 und JavaScript (auf der Basis von ECMAScript edition 5), aber es hat sich ja eingebürgert, das alles als HTML5 zusammenzufassen. Ich sehe dabei trotzdem ein paar Probleme.

Das liegt nicht etwa daran, dass ich die ganzen Erweiterungen für schlecht oder unsinnig halten würde. Auch wenn ich persönlich für einige Sachen (noch) gar keine Verwendung wüsste, bin ich schon aufgeregt, was man da für neue Möglichkeiten bekommt. Das Problem liegt vielmehr bei der Implementierung. Die Browserhersteller sind unterschiedlich weit dabei, diese ganzen neuen Sachen einzubauen. Und als wenn das nicht reichen würde, stehen die Standards zum Teil noch gar nicht fest. HTML5 selbst wird erst 2022 zur offiziellen Empfehlung des W3C, auch wenn man schon zehn Jahre vorher das Stadium der relativen Stabilität des Entwurfs erreicht haben will, sodass dann tatsächlich eine allgemeine Vorstellung davon möglich ist, was eigentlich Standard ist und was nicht. An CSS3 arbeitet man seit zehn Jahren, und nur einige Teile davon sind bereits einigermaßen ausgefeilt.

Das sorgt natürlich dafür, dass die Browserhersteller vorsichtig sein müssen, was die Unterstützung solcher Dinge angeht. Microsoft machte mal bei der IE-Implementierung von CSS den Fehler, in die Breite die Werte von Padding und Border einzuberechnen - eine durchaus intuitivere und logischere Methode als die, die in der CSS-Definition vorgesehen ist, die aber der Firma heute noch als Internet Explorer Box Model Bug aufs Brot geschmiert wird.
Ein anderes Beispiel (ebenfalls in etwa zehn Jahre alt) ist der Kampf zwischen Microsofts iframe und Netscapes layer. In den jeweiligen Browsern wurden diese Tags eigenmächtig eingebaut. Sie leisteten in etwa dasselbe; das W3C übernahm dann schließlich iframe, und später konnten selbst die Netscape-Browser mit layer-Tags nichts mehr anfangen. Ich kaufte damals ein Javascript-Buch aus der Reihe "Das Einsteigerseminar" von Data Becker, und das beschäftigte sich groß und breit mit "Dynamischem HTML" - aber weil der Autor ein Netscape-Fan war, funktionierten nahezu sämtliche Beispiele im Buch nicht mit dem (damals eindeutig besseren) Internet Explorer.

Heutzutage benutzen die Browserhersteller bei CSS3 gerne browserspezifische Präfixe, so versteht also der Firefox die Eigenschaft -moz-border-radius, während man bei Safari und Chrome das gleiche Resultat (abgerundete Ecken) mit -webkit-border-radius erzielen kann. Das wird bei den oben erwähnten Demos natürlich zu einem Problem: Selbst wenn ein Browser alles kann, was in der Demo erwartet wird, so wird er (mehr oder weniger bewusst) oft ausgesperrt, weil in den Stildefinitionen z.B. nur auf Webkit-Browser geachtet wurde. Wenn ich mich nicht irre, traut sich noch kein Browser, das im CSS3-Vorschlag vorgesehene border-radius selbst zu interpretieren, weil sich ja die Definition noch ändern könnte.

Bei HTML5 selbst ist die Diskussion um das Video-Tag ja besonders stark, weil Microsoft und Apple den H.264-Standard unterstützen, Mozilla und Opera aber den patentfreien Theora-Codec. (Googles Chrome hat Unterstützung für beide Codecs.) H.264 hat das Problem, dass dafür Lizenzgebühren fällig werden könnten (zumindest die Mozilla-Foundation könnte die aber aus der Portokasse zahlen); Theora ist hingegen nicht so performant, ein ziemlich beschissen aufgebautes Format, welches Entwickler in den Wahnsinn treibt, und könnte zusätzlich durch unbeabsichtigte Patentverletzungen ebenfalls zu einem unfreien Codec werden. Für Webentwickler wie für Enduser heißt das, dass uns Flash doch noch für eine ganze Weile erhalten bleiben wird.

Bei modernen Browsern wäre es ideal, wenn man als Designer und Programmierer nicht dauernd Sonderwege gehen müsste. Ich bin ja erleichtert, dass man mittlerweile wenigstens bei HTML4, CSS2 und Javascript nur noch vergleichsweise geringe Anpassungen an spezifische Browser machen muss. Die Unterschiede bei den neuen Webtechnologien sind da ein extremer Rückschritt. Eine schnelle Einigung der Browserhersteller auf gemeinsame Vorgehensweisen (und wenn es sein muss, am trägen W3C vorbei) wäre hier wohl der beste Weg, um DeFacto-Standards für die neuen Technologien zu etablieren, auf die man sich einigermaßen verlassen kann.

2 Kommentar(e)


Geschrieben am 25.6.2010 um 13:41 Uhr
Lubin

Die border-radius-Anweisung wird eigentlich schon von den meisten Browsern interpretiert. Ich habe es noch mal getestet:
- Opera 10.51 interpretiert es.
- Internet Explorer 9 (die neueste Platform Preview) interpretiert es.
- Google Chrome 5.0 interpretiert es.
- Wenn Google Chrome es interpretiert, wird das wohl auch ein aktueller Safari interpretieren, denn die benutzen ja beide Webkit.
- Lediglich Firefox ignoriert die Angabe bislang (selbst in 3.7a6pre), und natürlich alle aktuellen Internet Explorer, die meines Wissens auch keine Ersatzanweisung kennen.

Was HTML5-Video angeht, so hat Google letztens seinen VP8-Codec freigegeben, der zusammen mit dem "WebM" getauften, kastrierten MKV-Container funktionieren soll. Alle großen Browser bis auf Safari haben den auch implementiert, mindestens in einer Entwicklerversion, und Google ist momentan dabei, Youtube-Videos auch in diesem Format anzubieten.

Sollte also nicht noch jemand ein Patent gegen VP8 ausbuddeln, dürfte zumindest an der Stelle Flash deutlich an Bedeutung verlieren.

Flash sehe ich da eher weiterhin noch auf irgendwelchen verspielten Firmenseiten, die so was immer der Grafikfirma mit dem größten Effektrepertoire überlassen, und bei Spielen.

Geschrieben am 26.6.2010 um 1:50 Uhr
Klopfer (Website)

Dann hat sich da zwar schon was getan, aber das war ja auch nur ein Beispiel; gradient oder transform sind z.B. solche Sachen, die bei Chrome z.B. über das -webkit-Präfix angesprochen werden.

Beim VP8-Codec bin ich etwas vorsichtig, der muss ja wohl auch noch etwas reifen, um die Qualität von H.264 zu erreichen.

Flash hat ja (wie auch Silverlight) in der Hinsicht auch einen großen Vorteil gegenüber HTML5 - es gibt ein vernünftiges, ausgereiftes und einigermaßen schnell erlernbares Programm zur Erstellung von Flash-Inhalten, und es gibt jede Menge Flash-Entwickler. Das wird wohl noch eine Weile dauern, bis man mit HTML5 gewisse Effekte ebenso einfach realisieren kann wie mit Flash.


Eigenen Kommentar schreiben

Kommentar:
Smilies und Codes
Name: (darf nicht leer sein)
E-Mail: (nicht öffentlich sichtbar)
Website:
Spamschutzfrage: Wie heißt die Hauptstadt Deutschlands?
Username: Passwort: