Warum dauert es so lange, bis die HTML 5-Spezifikation fertig ist? [geschlossen]


25

Ich las dies und ein Satz fiel mir auf (meine Betonung):

Ian Hickson, der größte Kritiker von XHTML, hat HTML 5 entwickelt, eine actionorientierte Spezifikation für Kleinkinder, die erst 2022 das Erwachsenenalter erreicht , obwohl einige davon heute verwendet werden können.

Ist das wahr? Ist das wirklich der HTML 5-Entwicklungszyklus? Warum dauert das so lange? Was macht es so schwierig, es richtig zu machen, dass es erst in 11 Jahren endgültig ist?


35
Haben Sie jemals versucht, eine Gruppe von Menschen dazu zu bringen, sich auf etwas zu einigen?
George Marian

2
@ George - Sollte das eine Antwort gemacht haben.
Ben L

Haben Sie nebenbei gesehen, wie groß die Spezifikation ist und wie komplex sie ist?
JB King

@ben Anscheinend hätte ich. Ich fand es nicht fleischig genug. :)
George Marian

Antworten:


19

Der für den Finalisierungsprozess genannte Termin wurde so weit in die Zukunft verschoben, da der Standardprozess für die HTML-Spezifikation so eingerichtet wurde, dass eine breite Akzeptanz der Spezifikation gewährleistet ist.

Hintergrund: Es gibt zwei Normungsgremien, die sich mit Entwürfen zu dem befassen, was wir allgemein als "HTML5" bezeichnen: das World Wide Web Consortium (W3C) und die Arbeitsgruppe Web Hypertext Application Technology (WHATWG). Vor Juli 2012 arbeiteten beide Gruppen (meistens) zusammen, um HTML zu entwickeln.

Der Hauptprozess bestand darin, eine Reihe von Meilensteinen zu durchlaufen:

  • Working Draft:  spec befindet sich in aktiver Entwicklung und Diskussion
  • Last Call Working Draft (LCWD): Die Spezifikation ist größtenteils vollständig, und Implementierer haben die Möglichkeit, letzte Einwände gegen die Spezifikation zu erheben, bevor sie in den Finalisierungsprozess eintritt
  • Empfehlung des Kandidaten: Die  Spezifikation ist effektiv fertiggestellt und für Implementierer und Autoren von Inhalten sicher zu verwenden
  • Empfehlung: Zwei unabhängige, vollständig interoperable Implementierungen der Spezifikation wurden vollständig abgeschlossen

Der LCWD-Meilenstein begann im Jahr 2011 und die Phase der Kandidatenempfehlung sollte im Jahr 2014 relativ bald beginnen. Es war der letzte Meilenstein, die Empfehlung, die zwei vollständige Implementierungen der Spezifikation erforderte, die mehrere Jahre gedauert hätten und der Grund für das Jahr 2022 sind Datum.

In diesem Modell war der LCWD der erste echte Meilenstein, der Inhaltsautoren betraf (nicht Ersteller von Benutzeragenten wie Browser), da die Spezifikation größtenteils finalisiert werden sollte. Nach Fertigstellung des LCWD hätte HTML5 den Meilenstein der Kandidatenempfehlung erreicht, und es wäre eine endgültige Spezifikation mit Ausnahme des Namens gewesen: Sie hätten es ungestraft umsetzen können, wie dies der letzte Meilenstein, die Empfehlung, getan hätte haben keinen Einfluss auf den Inhalt des Standards und sind für Autoren von Inhalten weitgehend uninteressant.

Im Juli 2012 legten das W3C und die WHATWG jedoch eine Aufteilung der Art und Weise fest, wie der HTML5-Entwurf entwickelt werden soll. Diese Aufteilung, die seit ein paar Jahren funktioniert, erstellt zwei verschiedene HTML- "Spuren":

  • Ein Lebensstandard, der von der WHATWG entwickelt wurde und einfach "HTML" genannt wird, wobei die Spezifikation niemals vollständig ist. Es besteht ein angemessener Konsens für den Standard, es ist jedoch nicht erforderlich, alles umzusetzen.

  • Periodische, stabile Schnappschüsse des vom W3C als HTML5-Spezifikation entwickelten Standards. Ab September 2012 schlägt das W3C vor , den Meilenstein der Empfehlung für "HTML 5.0" im Jahr 2014 zu erreichen, wobei alle zwei Jahre Punkt-Snapshots erstellt werden sollen (z. B. "HTML 5.1" im Jahr 2016).

Aufgrund des ersteren ist HTML5, so wie wir es verstanden haben, jetzt verwendbar . Da es sich um einen lebendigen Standard handelt, ist es leider erforderlich, die Implementierung jedes Benutzeragenten zu verstehen, um es als Inhaltsautor zu verwenden.


Während Windows XP immer noch 60-75% des Marktes ausmacht und Win7 (oder Vista) erforderlich ist, damit IE9 funktioniert, glaube ich nicht, dass die Akzeptanz im Jahr 2012 mehr als 20-30% betragen wird. Ich meine die Annahme einer kaum funktionierenden Lösung, anstatt etwas, das produktionsbereit ist, wie HTML4 oder Flash.
Slawek

@Slawek Unabhängig davon, welche Verwendungsfreigabennummern Sie glauben möchten , wird mehr als die Hälfte der Benutzeragenten zum Zeitpunkt der Kandidatenempfehlung eine angemessene, wenn nicht fast vollständige Unterstützung für HTML5 haben.

2
Nun, ich lerne lieber aus der Geschichte als auf die Gebete einiger Microsoft-Vertreter und Marketing-FUD Bezug zu nehmen. DOM Level1 - Spezifikation von 1998, keine anständige Unterstützung in jeder Microsoft-Browser-Release-Version bis jetzt (IE9 wird es wahrscheinlich unterstützen, ich habe nicht überprüft). Ich sage nicht, dass 75% der Browser HTML5 aufgrund von Windows XP nicht unterstützen, aber 75% der IE-Benutzer können HTML5 nicht zum Laufen bringen. IE Update ist so schmerzhaft, weil es notwendig ist, das Betriebssystem zu wechseln, bevor Sie den Browser wechseln können :) Ich kann nur darüber lachen, weil das Wahnsinn ist. Besser als reden, sie würden das verdammte DOM zum Laufen bringen.
Slawek

2
Kommentar zum letzten Kommentar: Wenn wir uns mit Microsoft-Browsern befassen, müssen wir uns mit der schleppenden Leistung von Mozilla abfinden. Ich bin eine sehr "ergebnisorientierte" Person. Ich würde HTML5 (wie Canvas, SVG) in den nächsten 3-4 Jahren nicht mehr anfassen. Grundsätzlich bringt es im Vergleich zu Flash keinen Gewinn, und Sie müssen sowieso dasselbe in Flash codieren, damit es mit einer vernünftigen Anzahl von Browsern Ihres Autdition kompatibel ist. Sie müssen sich bereits mit HUNDERT Inkompatibilitäten im IE mit dem heutigen, eher einfachen HTML4 auseinandersetzen. Ich kümmere mich nur um "Ergebnisse" und den heutigen Zustand, nicht um FUD und Ideologie.
Slawek

1
+1 für den abschließenden Absatz: "Die Verwendung als Inhaltsautor erfordert das Verständnis der Implementierung jedes Benutzeragenten." Ähh ... ALPTRAUM !!!
GlenPeterson

12

Die einfache Antwort: Design by Committee

Der Vorteil der Menschenmenge, die sich das Design ansieht, besteht darin, dass die gesamte Gruppe verschiedene Aspekte vorstellt, an die der ursprüngliche Designer nicht gedacht hat. Das ist ein Plus.

Wenn der Designer eine große Menge ist, haben sie alle unterschiedliche Agenden und Haustierdinge, die sie aus irgendeinem Grund in den Standard aufnehmen möchten. Manchmal widersprechen sich die Merkmale, manchmal gibt es politische Gründe für Entscheidungen usw. Es dauert lange, bis sich eine große Gruppe von Menschen einig ist. Das ist ein Minus.

Das W3C hat sich entschieden, seine Standards auf diese Weise zu entwickeln.


19
Und dann, als das Komitee sich endgültig auf etwas geeinigt hat, hat die Industrie bereits ihren Spezifikationsentwurf übernommen, Teile davon implementiert und den Rest auf eine Weise erweitert, die mit der endgültigen Spezifikation unvereinbar ist.
Robert Harvey

Ja, stimmt, was passiert, wenn Sie eine transparente DIV über diese Leinwand legen? Sieht einfach und sehr kompliziert aus.
Slawek

9

Weil es wichtig ist, dass es stimmt.

  • Es braucht Zeit, um Abhilfe zu schaffen - Der einmal festgelegte HTML5-Standard wird noch lange bestehen. Es muss das Beste sein, was es sein kann, und es muss richtig sein. Dies erfordert Expertengespräche, Versuche und Irrtümer, Beiträge von Benutzern und Entwicklern sowie statistische Analysen

  • Wenn sich ein Standard ändert, bricht irgendwo jemandes App - Standards müssen beim ersten Mal stimmen. Mit jeder Änderung an einem Standard bricht irgendwo auf der Welt eine App mit der neuen Version. Dafür müssen wir als Entwickler Abhilfe schaffen, was Zeit und Geld kostet. Es muss beim ersten Mal richtig sein.

  • Unbestimmtheit muss beseitigt werden - Es ist einfach zu sagen, dass das Canvas-Tag dies tut, wenn sich nur das Canvas-Tag auf der Seite befindet, aber was ist, wenn es sich in einem anderen Tag befindet? Was ist mit Tag-Kombinationen? Wie sollen sie rendern? Wie sollen sie mit X-Stilattributen gerendert werden, die in bestimmten Kombinationen festgelegt sind?

Bonus: Werfen Sie einen Blick auf die HTML5-Spezifikation in ihrer aktuellen Form und Sie werden sehen, was darin steckt.


7

Lange? Es dauerte fast 8 Jahre, bis Microsoft einfaches CSS2 in IE7 zum Erliegen brachte, während die DOM1-Unterstützung in Javascript in IE8 immer noch fehlerhaft ist. Das ist die Spezifikation von 1998.

Aus diesem Grund wird HTML5 in den nächsten 20 Jahren nicht in großem Umfang in Multimedia-Anwendungen eingesetzt. Es ist sehr kompliziert, unvollendet, Leistung saugt. Auch einfache Dinge wie Websockets sind aus Sicherheitsgründen ausgeschaltet.

Manche Dinge funktionieren nicht als offene Standards. Machen Sie Spiele oder MMs in einer Umgebung, die auf Thin Clients funktionieren und eine vollständige Verschlechterung unterstützen sollen? Das ist Wahnsinn.

BEARBEITET: Ja, zuerst ist Überkomplikation. Sie haben ein Flash-Plugin, das in jedem Browser gleich ist und jedes Mal auf die gleiche Weise funktioniert. Das ist eine einfache und effektive Lösung. Eine Benutzeroberfläche, Sie nehmen die Änderung einmal vor, kompilieren sie neu und viola - Sie haben ein Plugin für alle Browser auf dem Markt, indem Sie eine Zwischenschicht zwischen Browser und Plugin verwenden.

Auf der anderen Seite haben Sie 10 Browser und möchten diese zB hinzufügen. Multimedia- / Filmunterstützung. Das bedeutet, dass jedes Unternehmen den Media Player von Grund auf neu implementieren muss und dass jeder etwas anderes möchte. Apple wünscht sich H.264, damit Website-Besitzer Lizenzgebühren für den Codec für das Abspielen von Filmen zahlen können. Google und Mozilla wollen VP8, damit ihr Unternehmen nicht von Apples Patenten usw. betroffen ist.

Es endet also damit, dass Dinge implementiert werden, die jeder möchte (während VP8 oder H.264 dies zunächst tun würden).

Bevor sie also ihre Unterschiede überwinden können, wird Adobe H.264 in Flash implementieren. Verwenden Sie ihren bereits verfügbaren Streaming- und DRM-Stack und ... es ist fertig. 3-4 Monate und Sie haben eine funktionierende Technologie mit einer Akzeptanzrate von 98%.

Ganz einfach, ein Unternehmen entscheidet, so dass es schnell massive Änderungen vorantreiben kann und nicht die "Ideen" von 20 anderen Mitgliedern des "Standardisierungsgremiums" hinzufügen muss. Neben HTML5 liegt Flash in Multimedia vielleicht 10-15 Jahre zurück. Die Lücke wird nur größer. In der letzten Version von MAX Avant wurden Gamecontroller unterstützt und 3D-Renn-Apps im Vollbildmodus, die auf Flash mit voller Geschwindigkeit und Unterstützung für Hardwarebeschleunigung usw. ausgeführt wurden. In der Zwischenzeit kann Mozilla jetzt H.246-Videos abspielen, ohne den Browser zum Absturz zu bringen, sondern nur abspielen. Zusätzliche Funktionen (wie Vollbild, Streaming, schneller Vorlauf) fehlen noch!

Außerdem denke ich, dass W3C nur Ressourcen verschwendet, indem es versucht, HTML5 zu einer halbherzigen Kopie von Flash zu machen. Es wird nicht funktionieren ... es ist wie der Versuch, eine Kopie von HTML zu erstellen. Wird nicht funktionieren.


+1 für eine ziemlich klare Erklärung der beteiligten Politik.
Michael K

5

Grundsätzlich ist es ziemlich schwierig, eine Gruppe von Menschen dazu zu bringen, sich auf etwas zu einigen. Ganz zu schweigen davon, dass es verschiedene Probleme zu lösen gibt. Zum Beispiel gibt es (war?) Viele Diskussionen darüber, welcher Codec für Videos verwendet werden soll.

Ob gut oder schlecht, die meisten Spezifikationen brauchen eine Weile, bis sie fertig sind.


2

Mark Pilgrim spricht darüber in seinem "Dive Into HTML5" hier: http://diveintohtml5.org/past.html Scheint, dass viele Leute die Buchversion nicht mögen, weil sie nicht technisch genug ist, aber in diesem Abschnitt die Editorial ist ziemlich gerechtfertigt.

(Bearbeiten: Ich wollte nur eine Referenz für meinen Kommentar zu Leuten bereitstellen, die die "gesprächige" Qualität des Buches nicht mögen: Überprüfen Sie die Rezensionen auf Amazon . Ich persönlich habe es jedoch genossen, es zu lesen und fand es informativ, so dass die Laufleistung variieren kann. )


2

Ein Teil des Problems ist, dass die Spezifikation erst finalisiert wird, wenn mindestens zwei Hauptimplementierungen der Spezifikation vorliegen - mindestens zwei separate Browser, die sie vollständig unterstützen. Die Spezifikation muss also für die vollständige Implementierung vollständig genug sein, dann muss sie tatsächlich implementiert werden, und dann kann sie finalisiert werden.


1
Das klassische
Henne

@tnolan Ganz so!
Grant Palin

2

Teil des Problems: Ich möchte ogg theora im Browser. Sind Sie einverstanden? Nein, Sie wollen H.264. Aber stimme ich zu? Nein. Das ist das Problem bei Google, Mozilla, Microsoft, Apple, Adobe und allen Unternehmen, die hinter HTML 5 stehen. Sie versuchen, ihre Einnahmen zu maximieren und Monopolist zu sein. Sein intensiver Wettbewerb. So wird es länger zu vervollständigen.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.