Image Image Image Image Image
Scroll to Top

Topo

25

ago
2011

Sem Comentários

Em Blog

Por Allison

HTML 5: Já podemos usá-lo?

Em 25, ago 2011 | Sem Comentários | Em Blog | Por Allison

Os trabalhos de especificação do HTML 5 estão em andamento há quase quatro anos e boa parte dos desenvolvedores web já conhece e deseja as novidades. Entretanto, o termo HTML 5 é usado como um “guarda-chuva” para diversas melhorias em HTML, JavaScript e CSS, o que dificulta a tarefa de avaliar sua maturidade e adoção. Existem tanto os que defendem que o HTML 5 deva ser adotado, quanto os que apresentam controvérsias, principalmente os problemas de segurança do JavaScript e as diferenças entre os navegadores.

A adoção do HTML 5 certamente depende das necessidades de cada aplicação, mas considerando as funcionalidades mais desejadas nos navegadores modernos, já podemos usá-lo?

Funcionalidades

Para responder a essa pergunta precisamos definir claramente o que significam “funcionalidades mais desejadas” e “navegadores modernos”. As primeiras são aquelas que tornam possível ou facilitam muito a implementação dos requisitos de aplicações ricas para a web. É o caso das funcionalidades definidas pelos conjuntos de tecnologias e especificações, que são apresentados a seguir.

Aplicações Offline

  • Cache da aplicação
  • Persistência chave-valor

As funcionalidades para aplicações online são importantes para trazer a experiência de aplicações desktop para a web, principalmente em ambientes onde a conexão com a internet é lenta ou eventual. A persistência ainda é limitada a 5 MB na maioria dos navegadores, mas é importante notar que esses “bancos de dados do navegador” não têm o objetivo de armazenar todos os dados do usuário indefinidamente; apenas de retê-los até a próxima sincronização com o servidor ou acelerar a carga de páginas.

Novas APIs JavaScript

  • Web Sockets
  • Web Workers
  • Geolocalização
  • Histórico do navegador

As novas APIs JavaScript simplificam o desenvolvimento de diversas funcionalidades que hoje dependem de tecnologias proprietárias não padronizadas ou de particularidades dos navegadores.

Estilo e semântica

  • Tags Semânticas (article, nav, section etc.)
  • Layout em colunas
  • Opacidade
  • Cantos arredondados e bordas

As tags semânticas e o CSS3 são muito importantes para os web designers, que com elas poderão reduzir e melhorar a codificação de layouts de páginas, além de fazer com estilos o que hoje é feito de forma muito mais trabalhosa com imagens, ou mesmo código JavaScript.

Multimídia

  • Tags audio e video
  • Gráficos 2D (tag canvas )

Usando as tags multimídia e para desenho em 2D, o desenvolvedor pode reduzir muito a necessidade de plugins externos, como Java e Flash. Há ganhos em produtividade, desempenho e segurança.

Para conhecer mais sobre estas funcionalidades e diversas outras propostas pelo HTML 5, recomendo esta excelente apresentação do grupo html5rocks.

Navegadores

Para verificar o suporte dos navegadores, vamos considerar a versão mais recente e uma anterior dos três navegadores mais usados no desktop (IE, Firefox e Chrome) e os navegadores padrão dos dispositivos iOS (iPhone/iPad/iTouch) e Android. A tabela abaixo detalha o suporte às funcionalidades selecionadas. Os dados vêm do site caniuse.com, que rastreia a implementação do HTML5 pelos browsers.

IE Firefox Chrome iOS Android
9 8 6 5 13 12 4.3 4.1 2.3 2.2
Cache da aplicação N N S S S S S S S S
Persistência chave-valor S S S S S S S S S S
Web Sockets N N S P S S S N N N
Web Workers N N S S S S N N N N
Geolocalização S N S S S S S S S S
Histórico N N S S S S P N S S
Tags semânticas S N S S S S S S S S
Multimídia S N S S S S S S S N
Gráficos 2D S N S S S S S S S S
Layout em colunas N N S S S S S S S S
Opacidade S P S S S S S S S S
Cantos arredondados S N S S S S S S S S

Pode-se ver que o suporte dos navegadores às funcionalidades fundamentais destacadas nesse artigo já é razoável. As principais deficiências estão no Internet Explorer e no suporte a Web Sockets e Web Workers, principalmente nos smartphones.

Os Web Workers, que são scripts executados em background, juntamente com com os Web Sockets (canais de comunicação bidirecionais com o servidor), são importantes para aplicações onde os usuários interagem entre si, como em chats e jogos. Para contornar a falta de suporte no IE e nos smartphones, pode-se usar AJAX Reverso (Comet) ou frameworks como o Atmosphere e o Kaazing, que permitem que se desenvolva a comunicação bidirecional usando as funcionalidades disponíveis em cada navegador.

As deficiências do Internet Explorer são mais difíceis de se contornar. Além de sugerir que o usuário atualize o navegador, uma alternativa para ter maior suporte ao HTML5 no IE é recomendar a instalação do Chrome Frame, um plugin que faz com que o IE (6 ou mais recente) apresente as páginas usando o engine do Google Chrome.

Conclusão

Claramente, o suporte ao HTML 5 melhora a cada versão dos navegadores e, nos casos em que não é totalmente suportado, existem alternativas. Decidir se o HTML 5 está maduro o suficiente e se as alternativas são aceitáveis ainda é muito particular para cada aplicação. Mas nos casos em que pode ser usado, o HTML 5 certamente torna possível (ou muito mais simples) o desenvolvimento de aplicações ricas para a web.

Fonte: InfoQ

Redes Sociais

Tags | , , , , , , , , , , , ,

Enviar um Comentário