Por que o Internet Explorer foi a pior coisa que já aconteceu para a Web

Leandro Pires de Souza
7 min readJan 26, 2015

O Mundo tecnológico agitou-se semana passada com o anuncio oficial da Microsoft sobre seu novo Browser que deve integrar o ainda em desenvolvimento Windows 10 sob o codinome “Spartan”. Bem, a Microsoft já tem um Browser há alguns anos, a saber, o Internet Explorer, que durante mais de uma década possuiu um monopólio sobre a navegação na Web e neste artigo pretendo explicar porque isto foi a pior coisa que já aconteceu para a Web até hoje.

A Web é livre por natureza, nenhuma empresa ou organização poderia dizer que possui a Web, pois esta é na verdade um emaranhado de servidores e usuários de modo que se um deles cai isto não terá qualquer impacto sobre a internet como um todo, a internet é o modelo mais democrático que temos até hoje. No entanto, para ser tecnicamente viável a internet precisa de padrões técnicos, para isto existem algumas organizações que têm como papel centralizar as discussões acerca destes padrões, a exemplo da W3C presidida pelo venerável Tim Berners-Lee, o cara que criou os primeiros padrões técnicos que tornaram a Web possível. Como disse, no entanto, esta organização não possui a Web, ela apenas centraliza algumas discussões acerca de padrões a serem implementados pelos desenvolvedores de browsers e outros dispositivos de modo que a Web possa falar “a mesma língua” e assim evitar diversos conflitos que possam ocorrer por incompatibilidades técnicas, O que significa que ela não tem poder legal para punir quem quer que decida não seguir suas recomendações ou até mesmo implementar uma versão deturpada destas. Cabe a cada browser decidir quais padrões irá adotar.

Por isso os browsers têm um papel tão importante, pois são os browsers quem realmente decidem os rumos da Web, já que os desenvolvedores vão naturalmente preferir construir um site ou serviço que funcione para a maioria dos usuários (e seus browsers) a ter um site que cumpra perfeitamente todas as recomendações da W3C. Mas, o que acontece quando um único browser detêm mais do que 80% dos usuários por 8 anos? Bem, poderíamos dizer que o rumo da Web esteve em suas mãos, certo? Mas e se a Empresa por trás deste Browser estiver mais interessada em aumentar seu monopólio lançando seus próprios padrões proprietários que dificilmente seriam implementados por outros browsers e ainda se negasse a implementar várias recomendações da W3C? Seria um desastre, certo? Pois esse é o cenário que encontramos entre os anos 2000 e 2009 quando a Microsoft ainda possuía monopólio quase absoluto sobre o setor.

Há 20 anos a Microsoft apresentou ao mundo seu próprio navegador, A internet havia acabado de se popularizar e o mercado já possuía alguns navegadores com certa relevância como o Netscape (lançado um ano antes) e o Mosaic, considerado primeiro navegador da Web, nenhum dos dois iria resistir ao Internet Explorer e a prática da Microsoft (posteriormente considerada ilegal pela justiça norte-americana) de embutir este software nas suas versões do Windows. Com isto o Internet Explorer ganha cada vez mais relevância e se torna cada vez mais importante para a Web.

A incompetência do Internet Explorer em acompanhar os novos padrões da W3C da mesma forma que era acompanhado pelos seus colegas (Firefox e Opera) punha os desenvolvedores em uma situação delicada, usar um novo e excitante recurso em seu site e vê-lo simplesmente não funcionar para a a maioria de seus usuários ou simplesmente não usa-lo, o que acabava sendo a melhor opção na maioria dos casos. O problema se torna ainda mais sério por causa do Internet Explorer 6, lançado em 2002, junto com o Windows XP se tornando logo o browser mais usado de todos os tempos, com um suporte tão pobre aos padrões da Web e tão inseguro que posteriormente quando já estava entrando em decadência gerou uma campanha de desenvolvedores que numa tentativa desesperada para acabar de vez com o navegador criaram um código JavaScript capaz de reconhecer o navegador do usuário e sabotar o site caso um usuário do IE6 acessasse a página, o usuário então veria apenas uma mensagem recomendando usar um outro browser sem conseguir acessar o conteúdo da página propriamente dita(ainda que seja suportada pelo navegador). A própria Microsoft festejou quando o IE6 passou a ser usado por menos de 1% dos usuários nos EUA(o que só aconteceu em 2012).

Com isso o Internet Explorer causou o adiamento da implementação de diversos recursos que apesar de já adotados por outros browsers ainda eram rejeitados por este navegador, o que obviamente causou a ira dos desenvolvedores, ira esta que até mesmo a Microsoft admitiu sofrer pondo no Internet Explorer 9 o slogan “O Navegador que Você Amava Odiar” (The Browser You Loved to Hate), prometendo que nesta versão tudo seria diferente e que o Internet Explorer provaria ser um navegador “moderno”, o que não aconteceu. Sim, houveram melhorias expressivas em relação as versões anteriores, mas o suporte do IE aos novos padrões continuava bem abaixo do esperado para qualquer browser que chamasse a si mesmo de “moderno”, por exemplo, o Internet Explorer 9 fez menos da metade dos pontos da versão 10 do Chrome (lançado 6 dias antes) no HTML5test, site que pontua o suporte de cada versão dos Browsers ao HTML5.

Os desenvolvedores que além de tudo ainda sofriam ao ver seu código ser interpretado de forma diferente pelo Internet Explorer (sim, era possível que um código banal fosse interpretado de maneira correta pelos outros browsers e errada pelo Internet Explorer fazendo o seu site ter aparência diferente entre os outros browsers e o IE) criaram e descobriram alternativas para lidar com o mesmo, alternativas essas que quase sempre iam contra os padrões da W3C mas que ainda funcionavam, por exemplo, comentários condicionais, toda lingua de programação (ou quase todas) te possibilitam por comentários no código, textos que não serão interpretados pelo programa mas que estão lá, talvez para auxiliar alguém a entender o código ou por qualquer outro motivo, mas o Internet Explorer consegue interpretar o comentário como código comum caso se use uma sintaxe especial, é possível até mesmo fazer com que só uma versão específica do Internet Explorer interprete um determinado comentário usando esta mesma técnica, enquanto todos os outros browsers simplesmente ignoram o comentário como fazem com qualquer outro, possibilitando aos desenvolvedores (mesmo com grande limitação) ter um código que seja interpretado de modo diferente pelo Internet Explorer (ou pra uma versão deste). Isto contrariava completamente o princípio da W3C de que o mesmo código fosse interpretado da mesma forma por diferentes browsers. Haviam ainda os CSS Hacks que nada mais eram do que se aproveitar de bugs nos browsers (a maioria no Internet Explorer) que os faziam interpretar regras de CSS que outros browsers ignorariam ou ignorar certas regras que apesar de estarem perfeitamente de acordo com os padrões da web, eram sumariamente ignorados por alguns browsers (geralmente o Internet explorer). Isto certamente salvou a vida de muito desenvolvedor que possivelmente haviam surtado ao ver seu tão trabalhado layout ser completamente distorcido pelo Internet Explorer.

O Boom da internet mobile (que hoje já é mais usada que a internet convencional) encheu os desenvolvedores de esperança, é um novo começo para a internet longe das garras da Microsoft e seu Internet Explorer, uma vez que esta ainda é um tanto inexpressiva na área. A internet mobile fica então nas mãos do Webkit, um motor de renderização (motores de renderização são basicamente a parte mais importante de um browser, sendo responsáveis por renderizar o código de marcação, como HTML ou XML e de formatação, como o CSS, por exemplo em uma página com seu layout conforme especificado no código) aberto criado pela Apple para o Safari (sim, a Apple criando Software livre) e posteriormente adotado pelo Google no seu Android e em alguns outros projetos (sim a Google usando e apoiando algo feito pela Apple), o que deixou os desenvolvedores bem mais confortáveis visto que o Webkit é aberto, portanto hackeável, bastante amigável aos novos padrões da Web sobretudo quanto ao HTML5, Além de ser velho conhecido por sua presença no Safari e Google Chrome (e mais recentemente o Opera, que anunciou abrir mão de seu próprio motor, o Presto, em prol do Webkit). Isso fez da internet móvel um território fértil para a criação de aplicações e serviços que avança de forma muito mais ágil que a internet convencional. Imagine se os desenvolvedores não tivessem que ter lidado com o Internet Explorer e seus embargos às tecnologias modernas nos últimos 20 anos, será que a Web seria diferente? Quantas coisas deixaram de ser inventadas ou foram atrasadas pelo IE?

Por isso eu seriamente acredito (junto com vários outros desenvolvedores) que o Internet Explorer foi a pior coisa que já aconteceu a Web até hoje. Talvez não teria sido se a PIPA ou a SOPA tivessem sido aprovadas pelo Governo norte-americano mas isso é uma outra história. Apesar de tudo, eu, ao contrario dos outros desenvolvedores, não tenho ressentimentos contra a Microsoft e torço para que o Spartan realmente nos ajude a tornar a Web um lugar ainda mais incrível, o que infelizmente não parece ser a intenção da Microsoft uma vez que o Spartan ainda vai usar o Motor de Renderização Trident, o que possivelmente fará do Spartan apenas uma skin nova para o velho Internet Explorer. Se a Microsoft estivesse realmente interessada em reconquistar os desenvolvedores teria adotado o Webkit, motor amado pelos desenvolvedores, e que seria a escolha perfeita da Microsoft caso queira reconquista-los. Após tudo isso, hoje podemos respirar tranquilos assistindo o fim, cada vez mais próximos do Internet Explorer e poder admirar o crescimento de uma Web cada vez mais livre e preparada para novas mentes criativas.

--

--

Leandro Pires de Souza

Desenvolvedor que ama a Web e todas coisas legais que podemos fazer com ela.