23 de maio de 2010

HTML5 aguça a guerra dos browsers

Bom dia amigos,

Vamos conversar sobre HTML5. A começar pelo ponto negativo. Isso mesmo, o único ponto negativo que venho enxergando dessa história toda, mas que é extremamente relevante. Nossa saga de desenvolvedores Web preocupados em saber se o que fizemos vai rodar em todos os browsers continua e, aparentemente, até que todos os fabricantes atualizem seus brinquedos para cobrir toda a especificação do W3C, só vai continuar.

Em posts atrás divulguei o FindMeByIp, um site que roda uma interessante biblioteca Javascript chamada Modernizr para informar quais features HTML5, CSS3 e Forms2.0 seu browser suporta. Ele divulga também uma lista com diversas versões diferentes dos browsers mais populares. A lista é baseada na coletânea dos resultados obtidos pelos próprios usuários do site. Resolvi dar minha contribuição por lá e testar alguns browsers em meu ambiente de trabalho. Já que ele só fala de Windows e Mac, achei que testar no meu Ubuntuzinho Hard Heron (tô defasado hein?)  seria valioso para as estatísticas dele. Testeis os browsers Firefox 3.6, Chrome 5.0 e Ópera 10.10. Eis os resultados:

  • Firefox 3.6

Firefox

Resultados:

Firefox1

Firefox2

Firefox3

Firefox4

Chrome 5.0

Chrome

Resultados:

Chrome1

Chrome2

Chrome3

Chrome4

Opera 10.10

Opera

Resultados

Opera1

Opera2

Opera3

Opera4

Verifiquei rapidamente que não divergem do que está publicado lá no site para Windows e Mac, mas as diferenças entre os navegadores é gritante. No sempre pioneiro Opera é onde percebem-se as maiores ausências (mesmo em minha versão 10.10, mais recente do que a divulgada no site). No entanto, ele implementa quase todos os campos Form 2.0, enquanto o Firefox os ignora por completo. Ambos ainda deixam de fora o Web Database, uma ausência bastante considerável.

O browser que mais (e talvez melhor) implementa os novos padrões da Web é o Chrome (nos meus testes foi único que suportou Web Database, por isso que só venho testando esse recurso nele). O que não significa que você deva passar a só usar o Chrome e desenvolver aplicativos apenas para ele. A verdade é que nós devemos ir aonde nossos consumidores estão. Falando nisso, fui pesquisar no site StatCounter o índice de uso de cada um nos últimos 2 anos. Veja que gráfico interessante:

Evolução do uso dos browsers

É notória a queda do market share do Internet Explorer, no entanto ele ainda figura como o mais utilizado e pasmem, sua versão 6 ainda não deve ser esquecida. Claro que tudo vai depender da finalidade e do cliente do seu sistema. O Firefox aparece em uma posição de destaque com um leve crescimento no longo prazo. O Firefox 3.5 chegou a estar em primeiro lugar no final do ano passado no ranking das versões dos browsers. O crescimento do Chrome vem sendo considerável, mas ele ainda não chegou nos 7% do mercado. O Opera e o Safari vêm se revezando no fim da fila dos mais populares.

Na tentativa de ser o que riu por último mas riu melhor, tio Bill já disponibilizou em fase de testes a versão 9.0 do IE com a promessa de encabeçar a lista dos mais bem cotados tanto em funcionalidade quanto em desempenho. Um detalhe no mínimo curioso. O IE 9.0 não poderá ser executado no Windows XP. Seria uma forçada de barra para todo mundo atualizar para o Vista ou o Seven ou alguma limitação detectada no XP?

No Microsoft Mix 2010, evento realizado em março passado, engenheiros da Microsoft apresentaram um browser que deixou o Chrome no chinelo. Resta esperar para ver quando ele sair do forno e em quanto tempo teremos um Chrome ainda mais rápido. Só para constar, o Chrome 6.0 já está em produção e a julgar pelo espaço de tempo entre cada versão sua, eu nem duvido que saia até antes do IE 9.0. Na briga, o novo Firefox deve ser lançado oficialmente já entre outubro e dezembro. Devido justamente às melhorias de desempenho e implementação do HTML5, deixou de ser 3.7 e será 4.0.

Layout Engines

Com o crescimento recente e a massificação potencial dos smartphones e tablets, mais ainda após a difusão das redes 4G (Wimax ou LTE),  outros browsers devem esquentar ainda mais a briga. Ora, a intenção não é justamente criar aplicativos Web portáveis (e portáteis =), se vira nos trinta meu amigo! Nos trinta mil browsers.

Uma dica antes que você tente se matar é procurar saber qual o layout engine de cada browser e partir do pressuposto de que browsers baseados no mesmo layout engine devem ter resultados semelhantes. Layout engines são os motores de renderização do conteúdo. É como na Fórmula 1, onde temos diversas escuderias compartilhando motores Mercedes, Ferrari ou Cosworth. Claro que assim como na Fórmula 1, existem outros fatores que tornam nossos “carros” diferentes, mas pelo menos é uma boa diretriz.

Acredito que os principais layout engines são:

- Gecko: Criado pela saudosa Netscape e mantido pela fundação Mozilla. Obviamente é o acolhido pelo Firefox (e pela maioria dos browsers mais antigos). Sua próxima versão 1.9.3 deve vir às pistas a bordo do Firefox 4.0.

- KHTML: Criado pelo desenvolvedores do KDE, utilizado pelo browser Konqueror, mas só citado aqui pela importância de seu filho pródigo Webkit.

- Webkit: O queridinho dos smartphones. É um fork do motor KHTML. Além de engenho do Safari, é a alma também do Chrome e dos navegadores dos IPhones, dos Androids e dos Symbian. Desenvolvido pelas empresas Apple, KDE, Nokia, Google, RIM, Palm e outras numa verdadeira suruba high tech. (O mundo corporativo de TI é rechado de fatos curiosos. Um produto comum a concorrentes vorazes como Nokia, Apple e Google. Pra botar ordem na casa nem se o W3C fosse a ONU).

- Presto: Engenho do Opera, também é bastante popular entre diversos dispositivos.

- Trident: Motor do Internet Explorer. Deve vir bastante tunado no IE 9.0

Como se não bastasse, o pessoal ainda inventa de criar certos mutantes. IETab para rodar o IE por dentro do Firefox, Google Frame para inserir o Webkit no IE e outros seres de outros planetas.

Resumo da ópera, explore chromo cada browser FFunciona e agradeça a Deus e aos amigos do JQuery por seu emprego, por mais safarido e sofrido que seja.

Tardes na Especializa

Na primeira semana de junho, voltaremos com o projeto Tardes na Especializa. Uma rodada de minicursos durante uma semana em cada mês. Na volta, vamos tocar em assuntos referentes à interfaces Web e realizaremos um minicurso na quinta-feira, 03 de junho sobre HTML5.

Mais informações em http://tardes.especializa.com.br.

Deixe um comentário