Às vezes as coisas não dão certo na primeira vez, nem na terceira. Quem sabe na nona! Pelo menos é isso que a Microsoft espera conseguir com o Internet Explorer 9, que eles anunciaram na feira Mix 2010. Ele tem suporte a HTML5 (com vídeo em HTML5!), renderização acelerada por hardware para imagens e texto, e uma engine de JavaScript totalmente nova.

A Microsoft fez uma demonstração do último build do IE9, a versão final de algo que parece ainda não ter data para ser lançado, e para algo chatinho como um navegador, esse é bem legal. O que há de novo no IE9?

HTML5

O HTML5 é basicamente o assunto na boca de todo mundo agora, assumindo que "todo mundo" são só desenvolvedores web e viciados em Apple, dizendo que não precisam de Flash. O HTML5 vai salvar a internet! Etc. Mas, na verdade, ele é algo mais sutil que isso: ele é a próxima versão de toda a linguagem que está por trás da web — o HTML — e ele tem suporte a diversas coisas interessantes, que farão os websites se comportarem mais como apps. O Firefox, Safari, Chrome e Opera praticamente deixaram a Microsoft comendo poeira em termos de suporte a HTML5. Até agora! Estas são as funções HTML5 que o IE9 terá, segundo a Microsoft:

  • Vídeo H.264: Quando as pessoas falam que o HTML5 vai matar o Flash, é disso que elas estão falando. Alguns sites de vídeos, como o YouTube e o Vimeo, vêm experimentando com reprodução de vídeo que não requer um plugin. O H.264 é o formato padrão que os grandes sites decidiram escolher, e agora o Internet Explorer vai suportá-lo.

  • Audio incorporado: Assim como a tag <video> permite incorporar vídeos diretamente em uma página, sem um plugin, a tag <audio> permite que arquivos de audio sejam incorporados em websites. O IE9 tem suporte a arquivos MP3 e AAC.

  • SVG (Scalable Vector Graphics): o SVG permite criar certos tipos de gráficos que podem ser ampliados ou reduzidos sem perda na qualidade, porque eles são desenhados como vetores, não como imagens. Ele também permite animações rudimentares, ao estilo do Flash.

  • CSS3: o CSS é essencialmente a forma pela qual a web é formatada, e os diversos problemas de compatibilidade que o Internet Explorer apresenta em relação ao CSS vêm enlouquecendo desenvolvedores desde, bem, sempre. O IE9 tem suporte ao CSS3, mais padronizado — incluindo suporte a seletores, cores, valores, planos de fundo e bordas e fontes — e deve suportar mais propriedades antes do lançamento. Enfim: desta vez, eles estão se esforçando.

A nova engine de JavaScript

Os web apps modernos são carregados com JavaScript, e chegamos ao ponto de medir a velocidade de um navegador através da velocidade em renderizar JavaScript. (Uma engine JavaScript mais rápida significa que sites como o Gmail, Facebook e até mesmo o Gizmodo não só carregam mais rápido, como funcionam mais rápido.) Aqui está a posição do IE9 em relação ao JS, de acordo com a Microsoft:

Lembre que este é um teste feito para navegadores que usam WebKit (o que não é o caso do IE9), e que o IE9 ainda não está pronto para ser lançado: a Microsoft diz que eles ainda vão melhorar a velocidade de renderização. E, sinceramente, o IE9 não ultrapassa alguns outros navegadores mais rápidos, mas pelo menos chega perto. E ele é beeeem mais rápido que o IE8. Na demonstração ao vivo, o IE9 não foi terrivelmente mal no teste Acid3, e marcou medíocres 55/100, que a Microsoft prometeu melhorar. Mas, de novo, eles pelo menos estão tentando, e se você tem uma participação de mercado enorme (e um histórico de ignorar padrões da web), como é o caso da Microsoft, isso vale muito a pena.

Aceleração 2D

O Internet Explorer Nove conta com aceleração de vídeo via DirectX para gráficos SVG e até mesmo para renderização de texto, o que vai tornar mais rápida a renderização de CSS3 e de alguns gráficos em SVG, mas também vale para renderização de texto, o que torna todo o processo de navegação um pouco mais fluido.

A renderização de vídeo HTML5 é muito, muito mais fluida que no Google Chrome (demonstrado no evento), simplesmente por causa da aceleração de vídeo via Direct2D: a Microsoft conseguiu exibir dois vídeos em alta definição rodando liso na mesma tela do navegador, enquanto o Chrome engasgava com um vídeo só. Esta aceleração não depende de mais código no site, mas os desenvolvedores web não poderão depender deste tipo de aceleração por hardware, já que ele é restrito ao IE9 no Windows, por enquanto. Além de permitir demonstrações meio absurdas como a mostrada acima, isso quer dizer que qualquer vídeo que use a tag <video> no IE9 vai usar menos CPU do que qualquer outro navegador, o que é uma grande melhora. (Ah, isto não vai funcionar no Windows XP.)

Além disso, parte da renderização do JavaScript também pode ser delegada para a placa de vídeo, o que ajuda na renderização e tempo de resposta de web apps complicadas.

Muito do que a Microsoft está fazendo aqui é, na verdade, tentar alcançar a concorrência. E, além da aceleração 2D, não há muito de novo aqui, em relação aos outros navegadores. Mas a adoção do Internet Explorer é inevitável, e ver a Microsoft adotando padrões modernos da web — pelo menos mais que no passado — vai ter um efeito mensurável e positivo na internet, e nas pessoas que a navegam. (No trabalho, muito provavelmente o único lugar onde quem sabe de computadores usa o IE.)

Preview

Se você quiser, pode testar o IE9 agora, mas algumas das funções — principalmente o vídeo em HTML5 — ainda não estão aqui, e a interface ainda está bem básica. (Não há uma barra de endereços de fato, só uma janela pop-up chamada "Ir Para". Esta é uma ferramenta para desenvolvedores, na verdade.) O download pode ser feito aqui.

[Primeira imagem via]