Hallo,
in letzter Zeit habe ich mir immer mal wieder Gedanken über HTML 5 und die dazugehörigen "Technologien" (JavaScript und CSS) gemacht. In der heutigen Zeit bedeutet Internet und World Wide Web mehr als nur statische Seiten und Bilder auszuliefern, es werden komplette Endbenutzeranwendungen im Browser umgesetzt. Dem möchte HTML 5 gerecht werden, allerdings empfinde ich, dass das auf Kosten einer sauberen Architektur basiert.
Zu diesem Schluss komme ich, da HTML 5 im neuen Standard festschreiben möchte, wie Fehler richtig zu behandeln und zu beheben sind. Nur stellt sich mir dabei die Frage, warum eine Fehlerbehandlung spezifiziert wird, wenn man sie durch fehlerfreies Schreiben umgehen könnte. Diesen Ansatz fand ich bei XHTML auf Basis von XML (natürlich per "Content-Type: application/xhtml+xml" oder vergleichbarem ausgeliefert) sehr schön, da der Parser fest vorgegebene Regeln hat. Wenn nun ein Dokument diese nicht einhält, ist es automatisch ungültig, also wird jeder, der XHTML schreiben möchte, wird dadurch wenigstens einmal syntaktisch korrektes HTML liefern. Es ist zwar durchaus verständlich, dass man die Eintrittshürde für Publizierende im Internet möglichst gering halten will, nur stelle ich mir auch die Frage, warum diese Leute dann selbst HTML schreiben wollten. Dabei gibt es doch so viele schöne vorgefertigte Programme (CMS) und Rich-Text-Editoren, die mehr oder weniger gut eine Möglichkeit zur Publikation von Inhalten im Internet ermöglichen. Alles, was darüber hinausgeht, bedarf doch dann vermutlich sowieso mehr Einarbeitung in das Thema, sodass man auch davon ausgehen könnte, dass dann auch valider Code geschrieben werden könnte.
HTML 5 versucht außerdem abwärtskompatibel zu sein, was einerseits auch wieder verständlich ist, da ja Benutzer älterer Browser wenigstens noch das sehen können möchten, was nicht erst durch neue Features eingeführt wurde, aber andererseits damit auf einer Basis steht, die nicht mehr zeitgemäß ist (erinnert beinahe etwas an den Zwang der Abwärtskompatibilität bei x86-Prozessoren, aber auch das möchte ich nicht schlecht reden!). Einige der Schritte in XHTML 2 hatten mir da besser gefallen. Da war die Tag-Basis sauberer (wenn man auch hätte weiter gehen können), wobei mir die neuen Multimediafunktionalitäten gefehlt hätten. Aber vielleicht wären diese noch in den Standard gekommen. Nach 20 Jahren vielleicht…
Zur "Technologie" HTML 5 gehört ja auch noch JavaScript, was wiederum seine Macken hat. Es heißt so schön, dass Java-Programmierer ohne Einarbeitung kaum gutes JavaScript schreiben können, da es ja auf ganz anderen Gerüsten basiert (ich muss zugeben, dass ich das Funktions- und Objektmodell von JavaScript noch nicht ganz durchblickt habe). Dann stelle ich mir aber auch hier die Frage, wie komplette Anfänger damit sauberen Code schreiben können sollen.
Dazu kommt noch, dass für die komplexen Internetanwedungen JavaScript wohl eine sehr langsame Sprache ist (bzw. durch die Interpretation langsam ist). Es werden zwar viele erfolgreiche Bemühungen getroffen, sie zu beschleunigen, aber wenn ich da an Smartphones denke (nicht an die High-End-Geräte), könnte ich mir schon einen enormen Geschwindigkeitsunterschied zwischen HTML 5 und einem Java-Applet oder gar Flash (so nervig ich es auch selbst finde) zu Gunsten der letzten beiden vorstellen. Leider gibt es aber wohl keine leicht portable Alternative für schnellen Code (man kann ja davon ausgehen: Je portabler, desto langsamer).
Als letzten Punkt möchte ich noch ansprechen, dass Animationen in HTML 5 irgendwie nicht so wirklich "harmonieren". Ein Div-herumzuschieben (z.B. wenn man per Drag & Drop einen Artikel in einen Einkaufswagen zieht), verändert unter Umständen die Bedeutung des Divs (von "nicht auf dem Einkaufszettel" zu "auf den Einkaufzettel"), was unter Umständen nur grafisch aber nicht semantisch umgesetzt wird. Da empfinde ich die Idee, ein Canvas zu nehmen und darauf die Ausgabe zu erledigen (inklusive Animation), während im Hintergrund die Datenstruktur unanimiert angepasst wird schöner. Allerdings weiß ich hier nicht, wie das in der Realität gehandhabt wird.
Dieser Post soll eigentlich nur als Anstoss einer Diskussion dienen, denn mich interessieren die Meinungen von Profis zu diesem Thema. Auch wenn mir HTML 5 nicht gefällt, muss ich zugeben, dass es wohl das nötige Potenzial hat, der führende Standard zu werden (wenn es das nicht schon ist!), auch bei Smartphones (siehe Boot to Gecko).
Zu CSS habe ich mich nicht geäußert und auch viele weitere Aspekte habe ich noch außen vorgelassen. Vielleicht greift das ja jemand anderes auf. Falls jemand Fehler oder Unstimmigkeiten in meinen Ausführungen findet, bitte ich darum, mich auch zu belehren!
Ansonsten möchte ich noch den Administratoren danken, dass das Forum wieder läuft. Auf welchem anderen könnte man sonst so einen Diskussionsanstoss machen?
Viele Grüße,
Rachus