Pourquoi Internet Explorer présente-t-il autant d'incompatibilités avec d'autres navigateurs?

10

Internet Explorer possède un certain nombre de fonctionnalités propriétaires qui ne se trouvent pas dans d'autres navigateurs ainsi qu'un certain nombre d'incompatibilités avec les normes. Quelqu'un a-t-il une idée de la cause de ces incompatibilités?

Par exemple: je développe une extension de navigateur en utilisant le framework Crossrider . L'extension fonctionne bien avec toutes les combinaisons de [Windows | Mac OS | Linux] et [Chrome | Firefox] mais cela ne fonctionne pas avec IE car IE gère $(window).height()et $(window).scrollTop()un peu différemment.

Existe-t-il une analyse approfondie connue de cette situation, ou un entretien avec un initié qui clarifierait la cause? Est-ce la culture d'entreprise, le processus de conception, un défaut d'assurance qualité ou un héritage inconnu horrible?

Jakub M.
la source
4
Très probablement rétrocompatibilité. IE est le plus ancien de tous.
Manoj R
20
Je suppose que c'est la culture chez Microsoft de ne pas suivre les normes universellement acceptées dans la tentative de créer leurs propres normes et leur propre petit monde. Ils ont une histoire de le faire dans tout, des protocoles réseau aux environnements de développement logiciel.
maple_shaft
16
@ManojR IE n'est pas le plus ancien: en.wikipedia.org/wiki/History_of_the_web_browser
paul
14
Le mot-clé est Embrace, Extend et Extinction .
SF.
10
Génial. Je passe 15 minutes à taper une explication de la façon dont MS choisit de mettre ses efforts avec IE dans une intégration étroite du système d'exploitation via ActiveX, au lieu de la R&D dans CSS / HTML / JS, pour trouver la question fermée lorsque je reviens coller mon Magnum Opus: (
Graham

Réponses:

23

Pourquoi Microsoft® Internet Explorer® est-il incompatible avec d'autres navigateurs et normes publiées?

  1. Pour ajouter des fonctionnalités que les autres navigateurs ne possèdent pas
  2. Lorsque les programmeurs écrivent des pages Web qui utilisent des fonctionnalités IE uniquement, le code ne fonctionne pas sur les autres navigateurs. Cela encourage les utilisateurs finaux à afficher ces sites dans IE (et donc plus de gens utilisent IE, et comme il ne fonctionne que sur Windows, plus de gens utilisent Windows).
  3. Les outils Microsoft (FrontPage est le plus célèbre pour cela) ont tendance à produire du code qui ne fonctionne que sur IE ou qui fonctionne mieux sur IE. Bien que cela fasse la promotion du n ° 2 ci-dessus, il mérite sa propre puce, car le prochain développeur à travailler sur ce site Web ou cette application Web doit désormais utiliser les mêmes technologies Microsoft que celles utilisées à l'origine pour le produire, ou doit réécrire le projet dans son intégralité dans un technologie différente.

Les intranets d'entreprise sont particulièrement vulnérables à cette stratégie car ils fournissent un environnement où tous les utilisateurs sont sur le même navigateur (jusqu'à ce qu'une nouvelle version sorte). De plus, si un site n'est pas destiné aux clients, il n'y aura pas de budget, même pour le coût minime de la prise en charge de plusieurs navigateurs. Au fil du temps, les sites intranet hérités d'une entreprise empêchent toute cette entreprise d'abandonner IE (ou même une version spécifique d'IE) pour un autre navigateur.

L'approche de Microsoft est une arme à double tranchant. D'une part, il a produit la fonctionnalité de demande asynchrone XML / HTTP qui a rendu possible AJAX (et d'autres innovations positives) que d'autres navigateurs ont copié rapidement. Mais Microsoft finit également par produire des versions d'IE incompatibles entre elles, mordant ainsi les développeurs mêmes qui ont le plus joué dans les plans de Microsoft.

Mon exemple préféré d'incompatibilité intra-version IE est la propre campagne IE6 Countdown de Micrsoft où ils encouragent les gens à ne pas utiliser leur propre navigateur. La théorie étant que Microsoft peut encourager les gens à passer à une version plus récente d'IE, tandis que ceux qui crient "IE6 Must Die" sont plus susceptibles d'encourager les utilisateurs à utiliser une autre marque de navigateur au lieu d'IE.

En bref, c'est une stratégie de domination du marché assez réussie par Microsoft qui a parfois nui et parfois aidé le reste de l'industrie. Pour ma part, j'essaie de produire uniquement du HTML validé et conforme aux normes qui est testé sur la dernière version de tout navigateur avec 2% ou plus de part de marché (plus les 3 dernières versions d'IE).


Microsoft et Internet Explorer sont des marques déposées de Microsoft Corporation aux États-Unis et / ou dans d'autres pays.

GlenPeterson
la source
2
Je serais d'accord avec la plupart de cela si nous parlions d'IE6. Qu'en est-il de 9 et plus tard?
Billy ONeal
11

Comme d'habitude, la question est une incitation. Si vous avez besoin de savoir pourquoi quelque chose se passe réellement (par opposition à ce que les gens prétendent ou voudraient croire), suivez l'argent.

Imaginez la situation où vous avez une position confortable sur le marché dans une technologie clé (informatique personnelle). La valeur des réseaux est dans une large mesure dans sa taille, vous voulez donc pouvoir toucher autant d'utilisateurs que possible avec vos produits. Comme ils utilisent très probablement déjà votre système, il vaut la peine d'introduire de nouvelles fonctionnalités et de ne consacrer d'efforts qu'à la rétrocompatibilité avec vos propres produits. La compatibilité avec les produits concurrents est plus faible sur la liste des priorités, car elle ne crée pas autant de potentiel de valeur pour vous-même; en fait, il peut coûter vous de valeur si les produits concurrents deviennent assez interopérables que quelqu'un pourrait faire sans votre système tout à fait.

Notez que vous n'avez même pas besoin de poser de malveillance de la part des développeurs ou de la direction ici. Faire sa propre chose et promouvoir ses propres protocoles, normes, etc. plutôt que de contribuer à des principes généraux est tout simplement un comportement naturel pour un acteur dominant, et probablement inévitable sans mesures juridiques très strictes que le public en général n'est apparemment pas disposé à autoriser. En fait, la plupart de ce que j'ai entendu et lu sur l'état d'esprit chez Microsoft me porte à croire que la plupart de leurs employés sont véritablement et honnêtement pense que leurs produits sont si merveilleux et supérieurs que seuls les mécontents incommensurables voudraient utiliser autre chose en premier lieu, et qu'ils rendraient à leurs clients fidèles un très mauvais service s'ils consacraient des efforts à l'interopérabilité plutôt qu'à `` innover '' de nouvelles choses cool.

Douleur aux développeurs Causer Web qui ne doivent prendre en charge différents produits est tout simplement un effet secondaire de cette attitude. Cela semble très dur et même mauvais pour nous en dehors des pratiquants, mais je soupçonne que beaucoup d'entre nous prendraient la même position si les tableaux étaient inversés comme par magie.

Kilian Foth
la source
2

Le chagrin causé par IE est un problème en deux parties, les deux découlent vraiment du fait qu'IE a remporté la première guerre des navigateurs. Il était le navigateur le meilleur et le plus avancé, mais ils sont restés inactifs pendant longtemps et jouent maintenant au rattrapage, mais ils ont un énorme fardeau hérité maintenant d'autres navigateurs, car de nombreuses entreprises ont investi des millions dans des sites internes qui ne fonctionnent que sur une version spécifique d'IE. La SEP se suiciderait si elle ne faisait pas la transition entre les versions aussi indolore que possible. Deuxièmement, parce qu'ils ont remporté la première guerre des navigateurs et approchaient du monopole total, le W3C a activement écrit des normes qui entraient en conflit avec les fonctionnalités IE existantes afin de rester pertinent en tant qu'organisme de normalisation en ce qui concerne les navigateurs et grâce à des navigateurs plus récents qui suivaient ces normes, il travaillé.

Ryathal
la source
2
Pouvez-vous appuyer cette deuxième affirmation avec des faits vérifiables?
Bart van Ingen Schenau
@Bart Je doute que quelque chose comme un membre réel déclarant que cela existe réellement, je pense que le modèle de boîte w3c est une bonne preuve qu'ils l'ont fait dans une certaine mesure.
Ryathal
2
Dans ce cas, j'hésiterais à attribuer une intention délibérée d'incompatibilité au W3C. Ensuite, il pourrait tout aussi bien être que le W3C pensait qu'IE serait conforme ou que la différence était suffisamment petite pour qu'IE puisse être converti assez facilement en standard.
Bart van Ingen Schenau
1
@Bart, le principal concurrent d'IE dans la première guerre des navigateurs, Netscape, n'était pas beaucoup plus conforme au W3C. Ce n'est que dans les versions ultérieures de Mozilla et des premiers Firefoxes qu'un navigateur raisonnablement conforme était disponible. Mais ces navigateurs post-date IE6.
Billy ONeal
@BillyONeal: Merci. Cela renforce ma conviction que le W3C n'a pas décidé de bash IE, à moins qu'ils voulaient bash tous les navigateurs de cette époque.
Bart van Ingen Schenau