Warum ist es unrealistisch zu erwarten, dass alle Browser dieselben Standards unterstützen? [geschlossen]


12

Im Idealfall hätten wir verschiedene Browser, die dieselben Standards und denselben Code unterstützen und auf allen Browsern dasselbe Ergebnis erzielen.

Das ist noch nicht passiert. Was sind die Gründe warum?


1
"Der gleiche Code führt in allen Browsern zum gleichen Ergebnis." - Dafür gibt es keine Standards. "Der gleiche Code funktioniert vorhersehbar auf allen Browsern" ist näher.
tdammers

1
Ich habe diese Frage seit Jahren gestellt
billy.bob

1
Leider nein ... darauf habe ich schon lange gehofft.
Corv1nus

Nur einmal ist das Web, wie wir es kennen, so tot wie gopher.
dmckee --- Ex-Moderator Kätzchen

Weil das W3C eine schrecklich geführte Organisation ist, die mit dem Tempo der Technologie nicht Schritt halten kann. Das wars so ziemlich.
Jordanien

Antworten:


18

Nein, es ist nicht realistisch, da die technischen Daten manchmal verwirrend sind und jeder etwas anders versteht als andere. Wir sind doch nur Menschen. Es kann nur einen wahren Standard geben, wenn es nur einen Anbieter mit einer Version eines Produkts gibt.

Joel hat einen ausgezeichneten Artikel zu diesem Thema geschrieben, Martian Headsets .

Ich glaube, ich werde ihn hier zitieren, da dies die beste Erklärung dafür ist, warum wir dies niemals sehen werden, solange verschiedene Anbieter beteiligt sind:

Diese Dokumente sind sehr verwirrend. Die Spezifikationen sind voll von Aussagen wie „Wenn eine Geschwister-Blockbox (die nicht schwebt und nicht absolut positioniert ist) der Einlaufbox folgt, wird die Einlaufbox zur ersten Inline-Box der Blockbox. Ein Einlauf kann nicht in einen Block laufen, der bereits mit einem Einlauf beginnt oder der selbst ein Einlauf ist. “ Wenn ich solche Dinge lese, frage ich mich, wie jemand die Spezifikation korrekt einhält.

Es gibt auch Wettbewerb und Entwicklung auf dem Markt. Nehmen wir zum Beispiel Autocomplete-Boxen. Jeder große Browser hat sie bereits, aber es ist kein Standard definiert. Das W3C ist einfach zu langsam und zum Zeitpunkt des Eintreffens des Standards gibt es bereits 5 verschiedene Implementierungen mit unterschiedlichen Verhaltensweisen, die Sie auch unterstützen müssen, wenn Sie wettbewerbsfähig sein möchten. Ein weiteres Paradebeispiel für dieses Problem ist das Einbetten von Videos.

Das heißt: Solange Sie verschiedene Browser und Umgebungen unterstützen müssen, müssen Sie auf Anpassungen vorbereitet sein.


11

Nein, da W3C in vielen Spezifikationen die Verantwortung für die Implementierung irgendwo auf die UA-Implementierer (Browser-Implementierer) überträgt. Warum ich das sage, weil ich meine Artikel normalerweise direkt aus den W3C-Spezifikationen schreibe und diese Fälle sehe. Zum Beispiel sagt W3C, dass Browser die Zustimmung des Benutzers zur Freigabe ihrer Position (über die Geolocation-API ) einholen sollten , aber nicht, wie sie danach fragen sollen. Dies kann dazu führen, dass verschiedene Nachrichtentypen in verschiedenen Browsern unterschiedlich angezeigt werden (Popup, Slide-Down usw.).

Im Allgemeinen können wir sagen, dass:

Solange eine pluralistische Anforderungsimplementierung vorliegt, ist es schwierig, eine Konsistenz zwischen den Browsern zu erreichen .

Wir können nur dann konsistente Browser sehen, wenn W3C den Browser-Implementierern unbedingt mitteilt, was zu tun ist.


Gut, Saeed =) +1
Falcon

Vielen Dank, @Falcon. Das war irgendwie meine Frage zwei. Dieser erhielt jedoch viele Abwärtsstimmen und löschte: D. Ich denke, wir alle wissen, dass IE in dieser Hinsicht der nicht standardisierte Browser ist.
Saeed Neamati

7

Wird in der von Ihnen beschriebenen Form nicht passieren.

Jedoch; Wenn Sie konservativ codieren, ist das Schreiben von Code, der in allen neuen Browsern zuverlässig und vorhersehbar funktioniert, nicht sehr aufwändig. In den letzten zehn Jahren haben wir bereits einen langen Weg zurückgelegt. Selbst der Internet Explorer implementiert derzeit einen großen Teil der W3C-Empfehlungen korrekt, sodass tatsächlich browserunabhängige Websites erstellt werden.

Wenn Sie Dinge tun möchten, die nicht in den Empfehlungen aufgeführt sind, oder Funktionen verwenden möchten, die vage oder immer noch falsch (oder überhaupt nicht) implementiert sind, sind Sie auf sich allein gestellt.


1

Es ist äußerst unwahrscheinlich, dass es bald passieren wird - in der Tat würde ich sogar sagen, dass wenn / wenn es passiert, es ein starkes Zeichen dafür ist, dass die Welt sich weiterentwickelt hat und sich einfach nicht mehr viel um Webbrowser kümmert .

Das Problem ist recht einfach: Das meiste Limit beim Schreiben neuer Standards für noch coolere Dinge, die Browser tun könnten , liegt in der mangelnden (sogar vernünftigen) Übereinstimmung mit vorhandenen Standards. Mit Blick auf die von einer etwas anderen Richtung, entsprechen die Minute Browser mit bestehenden Standards (oder kommen sogar recht nahe an konform), ist es , dass ein paar Leute zumindest fast sicher ist Denken „starten gehen Aber wäre es nicht cool, wenn wir könnten ... ", und sie werden dann eines von zwei Dingen tun: entweder sie werden ihre Idee in einem Browser implementieren und dann daran arbeiten, ihre Idee zu standardisieren (fast unvermeidlich bevor irgendein anderer Browser sie implementiert), oder sie werden es tun Ich arbeite daran, einen Standard für dieses Verhalten zu schreiben, obwohl es noch kein Browser implementiert.

Das Fazit ist, dass die Implementierung von Standards in allen Browsern fast zwangsläufig hinter der Erfindung neuer Standards zurückbleibt, mit denen sie konform sein müssen. Die Browser können nur aufholen, wenn die Leute aufhören, neue Dinge für die Browser zu schreiben / zu entwerfen.

Gleichzeitig möchte ich Sie darauf hinweisen, dass auch mehr oder weniger das Gegenteil zutrifft: Dies ist ein ständig wachsender Satz von Standards, mit denen sich Browser immer enger anfreunden. Es ist noch nicht lange her, dass das beste Ergebnis, das ein Browser beim Acid3-Test erzielt hat, 93/100 war. Das ist übrigens genau die gleiche Punktzahl, die der IE derzeit erhält ...


0

Im Idealfall hätten wir verschiedene Browser, die dieselben Standards und denselben Code unterstützen und auf allen Browsern dasselbe Ergebnis erzielen.

Das wirft die Frage auf, warum wir unterschiedliche Browser benötigen. Wenn alle im Grunde dasselbe tun, wird ein Browser für alle ausreichen. Das wäre ja ideal. Keine unnötigen Doppelarbeiten mehr und kein browserspezifischer Code. Die Menschen konnten endlich auf einem soliden Fundament aufbauen.

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.