Por que o Internet Explorer tem tantas incompatibilidades com outros navegadores?


10

O Internet Explorer possui vários recursos proprietários que não são encontrados em outros navegadores, além de várias incompatibilidades com os padrões. Alguém tem uma idéia de qual é a causa dessas incompatibilidades?

Por exemplo: desenvolvo uma extensão de navegador usando a estrutura Crossrider . A extensão funciona bem com todas as combinações de [Windows | Mac OS | Linux] e [Chrome | Firefox], mas ele não funciona com o IE porque o IE alças $(window).height()e $(window).scrollTop()um pouco diferente.

Existe uma análise completa conhecida dessa situação ou uma entrevista com alguém que esclarecer a causa? É a cultura corporativa, o processo de design, uma falha no controle de qualidade ou algum legado desconhecido horrível?


4
Provavelmente compatibilidade com versões anteriores. O IE é o mais antigo de todos.
Manoj R

20
Eu acho que é a cultura da Microsoft não seguir padrões universalmente aceitos na tentativa de criar seus próprios padrões e seu próprio mundinho. Eles têm um histórico de fazer isso em tudo, desde protocolos de rede a ambientes de desenvolvimento de software.
maple_shaft

16
@ManojR IE não é o mais antigo: en.wikipedia.org/wiki/History_of_the_web_browser
paul

14
A palavra-chave é abraçar, estender e extinguir .
SF.

10
Ótimo. Passei 15 minutos digitando uma explicação de como a MS optou por colocar seus esforços com o IE em uma integração estreita do sistema operacional via ActiveX, em vez de pesquisa e desenvolvimento em CSS / HTML / JS, apenas para encontrar a pergunta encerrada quando eu voltar a colar no meu Magnum Opus: (
Graham

Respostas:


23

Por que o Microsoft® Internet Explorer® é incompatível com outros navegadores e padrões publicados?

  1. Para adicionar recursos que outros navegadores não possuem
  2. Quando os programadores escrevem páginas da Web que usam recursos apenas do IE, o código não funciona em outros navegadores. Isso incentiva os usuários finais a visualizar esses sites no IE (e, portanto, mais pessoas usam o IE e, como ele é executado apenas no Windows, mais pessoas usam o Windows).
  3. As ferramentas da Microsoft (o FrontPage é o mais famoso por isso) tendem a produzir código que funciona apenas no IE ou funciona melhor no IE. Embora isso promova o item 2 acima, ele merece seu próprio marcador, porque o próximo desenvolvedor a trabalhar nesse site ou aplicativo da Web agora precisa usar as mesmas tecnologias da Microsoft usadas originalmente para produzi-lo ou precisar reescrever o projeto inteiro em um tecnologia diferente.

As intranets corporativas são particularmente vulneráveis ​​a essa estratégia porque fornecem um ambiente em que todos os usuários estão no mesmo navegador (até que uma nova versão seja lançada). Além disso, se um site não estiver voltado para o cliente, não haverá orçamento nem para o pequeno custo de suporte a vários navegadores. Com o tempo, os sites de intranet herdados de uma empresa impedem que toda a empresa abandone o IE (ou mesmo uma versão específica do IE) para outro navegador.

A abordagem da Microsoft é uma faca de dois gumes. Por um lado, produziu a funcionalidade de solicitação assíncrona XML / HTTP que tornou possível o AJAX (e outras inovações positivas) que outros navegadores copiaram rapidamente. Mas a Microsoft também acaba produzindo versões do IE incompatíveis entre si, mordendo os próprios desenvolvedores que mais jogaram nos planos da Microsoft.

Meu exemplo favorito de incompatibilidade intra-versão IE é a campanha de contagem regressiva IE6 da Micrsoft, na qual incentiva as pessoas a não usar seu próprio navegador. A teoria é que a Microsoft pode incentivar as pessoas a atualizar para uma versão mais recente do IE, enquanto outros que gritam "IE6 Must Die" têm maior probabilidade de incentivar os usuários a usar outra marca de navegador em vez do IE.

Em suma, é uma estratégia de dominação de mercado bastante bem-sucedida da Microsoft, que às vezes prejudica e às vezes ajuda o resto da indústria. Por mim, tento produzir apenas HTML validado, compatível com os padrões, testado na versão mais recente de qualquer navegador com 2% ou mais de participação de mercado (além das 3 versões mais recentes do IE).


Microsoft e Internet Explorer são marcas comerciais registradas da Microsoft Corporation nos EUA e / ou em outros países.


2
Eu concordaria com a maior parte disso se estivéssemos falando sobre o IE6. E quanto às 9 e depois?
Billy ONeal

11

Como sempre, a questão é um incentivo. Se você precisa saber por que algo realmente acontece (em oposição ao que as pessoas afirmam ou gostariam de acreditar), siga o dinheiro.

Imagine a situação em que você tem uma posição confortável no mercado em uma tecnologia essencial (computação pessoal). O valor das redes é em grande parte em seu tamanho, portanto, você deseja alcançar o maior número possível de usuários com seus produtos. Como eles provavelmente já estão usando o seu sistema, vale a pena introduzir novos recursos e gastar esforços apenas na compatibilidade retroativa com seus próprios produtos. A compatibilidade com os produtos dos concorrentes é mais baixa na lista de prioridades, pois não cria tanto potencial de valor para você; de fato, pode custar seu valor se os produtos dos concorrentes se tornarem interoperáveis ​​o suficiente para que alguém possa ficar sem o seu sistema.

Observe que você nem precisa postar nenhuma malícia consciente por parte dos desenvolvedores ou da gerência aqui. Fazer o que quiser e promover seus próprios protocolos, padrões etc., em vez de contribuir para os gerais, é simplesmente um comportamento natural para um jogador dominante e provavelmente inevitável sem medidas legais muito rigorosas que o público em geral aparentemente não está disposto a autorizar. Na verdade, mais do que eu tenho ouvido e lido sobre a mentalidade da Microsoft me leva a crer que a maioria de seu povo realmente , honestamente pensam que seus produtos são tão maravilhosos e superiores que apenas descontentes desagradáveis ​​gostariam de usar qualquer outra coisa e, em primeiro lugar, fariam um grande desserviço a seus clientes fiéis se eles se empenhassem na interoperabilidade em vez de 'inovar' coisas novas e legais.

Causando dor para desenvolvedores web que não têm para apoiar diferentes produtos é simplesmente um efeito colateral dessa atitude. Parece muito insensível e até ruim para nós praticantes externos, mas suspeito que muitos de nós adotariam a mesma postura se as mesas fossem revertidas magicamente.


2

O luto causado pelo IE é um problema em duas partes, ambos realmente decorrentes do fato de o IE ter vencido a primeira guerra de navegadores. Ele costumava ser o melhor e mais avançado navegador, mas eles permaneceram ociosos por um longo tempo e agora estão em recuperação, mas eles têm uma enorme carga herdada agora que outros navegadores têm, porque muitas empresas investiram milhões em sites internos que só funcionam em uma versão específica do IE. A EM estaria cometendo suicídio se não fizesse a transição entre versões o mais livre de dor possível. Segundo, porque venceram a primeira guerra de navegadores e estavam se aproximando do monopólio total, o W3C escreveu ativamente padrões que conflitavam com a funcionalidade existente do IE, na tentativa de permanecer relevante como órgão de padrões no que diz respeito aos navegadores e, graças aos navegadores mais novos que seguiram esses padrões. trabalhou.


2
Você pode apoiar essa segunda afirmação com alguns fatos verificáveis?
Bart van Ingen Schenau

@ Bart Duvido que algo como um membro real afirmando que realmente exista, acredito que o modelo de caixa w3c é uma evidência muito boa de que eles fizeram isso em algum grau.
Ryathal

2
Nesse caso, hesitaria em atribuir intenção intencional de incompatibilidade ao W3C. Então poderia ser que o W3C pensasse que o IE estaria em conformidade ou que a diferença fosse pequena o suficiente para que o IE pudesse ser convertido no padrão com bastante facilidade.
Bart van Ingen Schenau

11
O @Bart, principal concorrente do IE na primeira guerra de navegadores, o Netscape, não era consideravelmente mais compatível com o W3C. Não foi até versões posteriores do Mozilla e Firefoxes iniciais que um navegador razoavelmente compatível estava disponível. Mas esses navegadores pós-IE6.
Billy ONeal

@ Billyilly: Obrigado. Isso reforça minha crença de que o W3C não se propôs a bater o IE, a menos que quisessem bater todos os navegadores daquela época.
Bart van Ingen Schenau
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.