Warum hat Internet Explorer so viele Inkompatibilitäten mit anderen Browsern?

10

Internet Explorer verfügt über eine Reihe von proprietären Funktionen, die in anderen Browsern nicht vorhanden sind, sowie eine Reihe von Inkompatibilitäten mit den Standards. Hat jemand eine Idee, was die Ursache für diese Inkompatibilitäten ist?

Zum Beispiel: Ich entwickle eine Browser-Erweiterung mit dem Crossrider- Framework. Die Erweiterung funktioniert gut mit allen Kombinationen von [Windows | Mac OS | Linux] und [Chrome | Firefox], aber es funktioniert nicht mit IE, weil IE behandelt $(window).height()und $(window).scrollTop()ein bisschen anders.

Gibt es eine bekannte gründliche Analyse dieser Situation oder ein Interview mit einem Insider, das die Ursache klären würde? Ist es die Unternehmenskultur, der Designprozess, ein QS-Fehler oder ein schreckliches unbekanntes Erbe?

Jakub M.
quelle
4
Höchstwahrscheinlich Abwärtskompatibilität. IE ist der älteste von allen.
Manoj R
20
Ich denke, es ist die Kultur bei Microsoft, nicht allgemein anerkannten Standards zu folgen, um ihre eigenen Standards und ihre eigene kleine Welt zu schaffen. Sie haben dies in der Vergangenheit in allen Bereichen getan, von Netzwerkprotokollen bis hin zu Softwareentwicklungsumgebungen.
maple_shaft
16
@ManojR IE ist nicht der älteste: en.wikipedia.org/wiki/History_of_the_web_browser
Paul
14
Das Schlüsselwort lautet Umarmen, Erweitern und Löschen .
SF.
10
Groß. Ich verbringe 15 Minuten damit, eine Erklärung darüber zu verfassen, wie MS ihre Bemühungen mit dem IE in eine enge Betriebssystemintegration über ActiveX anstatt in Forschung und Entwicklung in CSS / HTML / JS umwandelt, und finde die Frage geschlossen, wenn ich zurückkehre, um sie in mein Magnum Opus einzufügen: (
Graham

Antworten:

23

Warum ist Microsoft® Internet Explorer® nicht mit anderen Browsern und veröffentlichten Standards kompatibel?

  1. Hinzufügen von Funktionen, die andere Browser nicht haben
  2. Wenn Programmierer Webseiten schreiben, die nur IE-Funktionen verwenden, funktioniert der Code in anderen Browsern nicht. Dies ermutigt Endbenutzer, diese Websites im IE anzuzeigen (und daher verwenden mehr Benutzer den IE, und da dieser nur unter Windows ausgeführt wird, verwenden mehr Benutzer Windows).
  3. Microsoft-Tools (FrontPage ist dafür am bekanntesten) erzeugen in der Regel Code, der nur im IE oder am besten im IE funktioniert. Dies fördert zwar die Nummer 2 oben, verdient jedoch eine eigene Aufzählung, da der nächste Entwickler, der an dieser Website oder Webanwendung arbeitet, jetzt dieselben Microsoft-Technologien verwenden muss, die ursprünglich für die Erstellung verwendet wurden, oder das gesamte Projekt in a neu schreiben muss andere Technologie.

Unternehmens-Intranets sind besonders anfällig für diese Strategie, da sie eine Umgebung bieten, in der sich alle Benutzer im selben Browser befinden (bis eine neue Version herauskommt). Wenn eine Website nicht kundenorientiert ist, gibt es auch für die geringen Kosten für die Unterstützung mehrerer Browser kein Budget. Im Laufe der Zeit verhindern die älteren Intranetsites eines Unternehmens, dass das gesamte Unternehmen den IE (oder sogar eine bestimmte Version des IE) für einen anderen Browser aufgibt.

Microsofts Ansatz ist ein zweischneidiges Schwert. Einerseits wurde die asynchrone XML / HTTP-Anforderungsfunktionalität erstellt, die AJAX (und andere positive Innovationen) ermöglichte, die andere Browser schnell kopierten. Microsoft produziert jedoch auch Versionen von IE, die nicht miteinander kompatibel sind, und beißt damit genau die Entwickler, die am meisten an den Plänen von Microsoft beteiligt waren.

Mein Lieblingsbeispiel für die Inkompatibilität von IE innerhalb der Version ist Micrsofts eigene IE6- Countdown-Kampagne, mit der Benutzer dazu ermutigt werden, keinen eigenen Browser zu verwenden. Die Theorie besagt, dass Microsoft Benutzer dazu ermutigen kann, auf eine neuere Version von IE zu aktualisieren, während andere, die "IE6 Must Die" rufen, Benutzer eher dazu ermutigen, eine andere Marke von Browser anstelle von IE zu verwenden.

Kurz gesagt, es ist eine ziemlich erfolgreiche Marktbeherrschungsstrategie von Microsoft, die manchmal den Rest der Branche verletzt und manchmal geholfen hat. Für mich selbst versuche ich, nur validiertes, standardkonformes HTML zu erstellen, das auf der neuesten Version eines Browsers mit einem Marktanteil von 2% oder mehr (plus den neuesten 3 Versionen von IE) getestet wird.


Microsoft und Internet Explorer sind eingetragene Marken der Microsoft Corporation in den USA und / oder anderen Ländern.

GlenPeterson
quelle
2
Ich würde den meisten davon zustimmen, wenn wir über IE6 sprechen würden. Was ist mit 9 und später?
Billy ONeal
11

Wie immer geht es um Anreize. Wenn Sie wissen müssen, warum tatsächlich etwas passiert (im Gegensatz zu dem, was die Leute behaupten oder glauben möchten), folgen Sie dem Geld.

Stellen Sie sich die Situation vor, in der Sie eine komfortable Marktposition in einer Schlüsseltechnologie (Personal Computing) haben. Der Wert von Netzwerken liegt in hohem Maße in der Größe, sodass Sie mit Ihren Produkten so viele Benutzer wie möglich erreichen möchten. Da sie Ihr System höchstwahrscheinlich bereits verwenden, lohnt es sich, neue Funktionen einzuführen und sich nur um die Abwärtskompatibilität mit Ihren eigenen Produkten zu bemühen. Die Kompatibilität mit den Produkten der Wettbewerber ist auf der Prioritätenliste niedriger, da sie nicht so viel Wertpotenzial für Sie schafft. in der Tat kann es, kostet Sie Wert , wenn Konkurrenten Produkte interoperabel genug, dass jemand tun könnte , ohne ganz Ihr System.

Beachten Sie, dass Sie hier nicht einmal bewusste Bosheit seitens der Entwickler oder des Managements aufstellen müssen. Ihr eigenes Ding zu machen und Ihre eigenen Protokolle, Standards usw. zu fördern, anstatt zu allgemeinen beizutragen, ist für einen dominanten Spieler einfach ein natürliches Verhalten und wahrscheinlich unvermeidlich ohne sehr strenge rechtliche Maßnahmen, die die Öffentlichkeit im Allgemeinen offenbar nicht zu genehmigen bereit ist. In der Tat, die meisten , was ich glaube , um die Einstellung zu Microsoft führt mich zu hören und lesen , dass die meisten ihrer Leute wirklich , ehrlich Ich denke, dass ihre Produkte so wunderbar und überlegen sind, dass nur unangenehme Unzufriedene überhaupt etwas anderes verwenden möchten, und dass sie ihren treuen Kunden einen großen Nachteil erweisen würden, wenn sie sich um Interoperabilität bemühen würden, anstatt coole neue Dinge zu „innovieren“.

Was zu Schmerzen auf dem Web - Entwickler , die keine unterschiedlichen Produkte unterstützen ist einfach ein Nebeneffekt dieser Einstellung müssen. Es scheint uns außerhalb der Praktizierenden sehr gefühllos und sogar böse zu sein, aber ich vermute, dass viele von uns die gleiche Haltung einnehmen würden, wenn die Tische auf magische Weise umgekehrt würden.

Kilian Foth
quelle
2

Die Trauer, die der IE verursacht, ist ein zweiteiliges Problem. Beide sind wirklich darauf zurückzuführen, dass der IE den ersten Browserkrieg gewonnen hat. Früher war es der beste und fortschrittlichste Browser, aber sie saßen lange Zeit im Leerlauf und spielen jetzt Aufholjagd. Jetzt haben sie eine enorme Belastung für andere Browser, da viele Unternehmen Millionen in interne Websites investiert haben, die nur funktionieren eine bestimmte Version von IE. MS würde Selbstmord begehen, wenn sie den Übergang zwischen den Versionen nicht so schmerzfrei wie möglich gestalten würden. Zweitens, weil sie den ersten Browserkrieg gewonnen hatten und sich dem totalen Monopol näherten, schrieb das W3C aktiv Standards, die im Widerspruch zur bestehenden IE-Funktionalität standen, um als Standardkörper für Browser relevant zu bleiben, und dank neuerer Browser, die diesen Standards folgten hat funktioniert.

Ryathal
quelle
2
Können Sie diese zweite Behauptung mit einigen nachprüfbaren Fakten belegen?
Bart van Ingen Schenau
@Bart Ich bezweifle, dass so etwas wie ein tatsächliches Mitglied, das angibt, dass es tatsächlich existiert. Ich glaube, das w3c-Box-Modell ist ein ziemlich guter Beweis dafür, dass sie dies bis zu einem gewissen Grad getan haben.
Ryathal
2
In diesem Fall würde ich zögern, dem W3C die vorsätzliche Absicht der Inkompatibilität zuzuschreiben. Dann könnte es genauso gut sein, dass der W3C dachte, dass der IE konform sein würde oder dass der Unterschied klein genug war, dass der IE leicht genug auf den Standard konvertiert werden konnte.
Bart van Ingen Schenau
1
@Bart, der Hauptkonkurrent von IE im ersten Browserkrieg, Netscape, war nicht wesentlich konformer mit W3C. Erst in späteren Versionen von Mozilla und frühen Firefoxes war ein einigermaßen konformer Browser verfügbar. Aber diese Browser datieren IE6 nach.
Billy ONeal
@ BillyONeal: Danke. Das stärkt meine Überzeugung, dass W3C nicht versucht hat, den IE zu verprügeln, es sei denn, sie wollten jeden Browser dieser Ära verprügeln.
Bart van Ingen Schenau