HTML 5 – As novidades da nova versão do HTML
Está para sair do forno a quinta versão da linguagem padrão para criação de páginas na Internet: o HTML. Novas características foram introduzidas com foco na padronização dos navegadores, mas o verdadeiro foco, como veremos ao longo do texto, é facilitar o desenvolvimento de aplicações interativas na Web.
De novos elementos visuais para entrada de dados até a possibilidade de realização de chamadas assíncronas e suporte nativo ao modo offline, um grande poder está sendo disponibilizado aos programadores de aplicações web, muito em linha com as tendências do que conhecemos como Web 2.0. Veja a seguir quais são as modificações mais importantes introduzidas no HTML 5.
Pequenas Simplificações
Algumas pequenas modificações foram feitas na especificação, trazendo simplicidade em algumas definições obrigatórias nos documentos HTML.
A linha que especifica o doctype nos documentos HTML está muito mais simples na versão 5. Anteriormente, qualquer documento deveria trazer em sua primeira linha algo como:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">A versão 5 da especificação simplificou essa exigênca, substituindo o conteúdo acima por:
<!doctype html>A tag que traz a informação do conjunto de caracteres usado na página também foi simplificada, passando de:
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">para
<meta charset="UTF-8">Estrutura da Página
No HTML 3, a estrutura visual da página era definida com o uso de tabelas para agrupar e separar os elementos. Com o HTML 4, foi criado o conceito tableless, onde a estrutura é criada através de tags <div> e a aparência visual é parametrizada com folhas de estilo em cascata, o CSS. Agora, a versão 5 acrescenta à linguagem HTML elementos próprios para a definição dos elementos estruturais, como barra lateral, navegação, artigos e seções.
<body>
<header>...</header>
<nav>...</nav>
<article>
<section>
...
</section>
</article>
<aside>...</aside>
<footer>...</footer>
</body>Elementos de Mídia
É muito comum o uso de imagens embutidas em páginas web. O HTML 5 tenta agora tornar o uso de mídias como áudio e vídeo tão comum quanto o de imagens. Para isso foram criados os elementos e , que simplificam a tarefa de exibir um vídeo ou executar um arquivo de audio, sem a necessidade de parametrizações específicas de um plugin ou extensão do browser.
O navegador tem a responsabilidade de fornecer uma interface ao usuário que lhe permita controlar a execução do áudio ou vídeo. Porém, o desenvolvedor pode definir um script que controle a execução, dando flexibilidade às aplicações e permitindo uma gama de funcionalidades praticamente idêntica à de qualquer player desktop, só que funcionando dentro de uma página web.
Formulários e Entrada de Dados
Desenvolvedores de aplicações contarão com uma série de objetos nativos para entrada de dados. Além do já conhecido campo para digitação de senhas, foram criados campos específicos para e-mail, data, hora, data e hora, cor, intervalo de valores, entre outros. Todos são especializações do elemento <input >, modificado pelo atributo type
Novas Funcionalidades do HTML 5
Modo Offline
Antes da existência do AJAX, uma página não podia solicitar recursos depois de carregada, mas as páginas de hoje em dia são projetadas para serem leves e carregar rapidamente, buscando recursos adicionais de maneira assíncrona. Com HTML 5, pode-se especificar quais recursos uma página pode requerer e o browser os manterá em cache de antemão para que o usuário continue a usar a página mesmo que seja desconectado da Internet.
Banco de Dados Local
O HTML 5 especifica a existência de um banco de dados local persistente durante a sessão. A vantagem é que se pode buscar todos os dados necessários e armazená-los nesse banco local. A partir daí a página não precisará mais consultar o servidor para obter e atualizar dados. De vez em quando os dados da base local serão sincronizados com o servidor. Essa funcionalidade tem o objetivo de reduzir a carga no servidor e acelerar os tempos de resposta das aplicações.
JSON Nativo
JSON (JavaScript Simple Object Notation) é um formato popular para representação de objetos entre aplicações, principalmente na web. Até o HTML 5, era necessário incluir bibliotecas para codificar e decodificar objetos JSON. Agora, o motor JavaScript do HTML 5 tem suporte embutido à serialização de objetos JSON.
Cross Document Messaging
Outra adição interessante no HTML 5 é a capacidade de trocar mensagens entre documentos do mesmo site. Um bom exemplo prático seria uma ferramenta de blog. Numa janela o usuário cria um post e, em outra janela pode ver como vai ficar a versão final sem a necessidade de refresh na página. Quando o rascunho do post é salvo, a outra janela é atualizada, refletindo as alterações instantaneamente.
Cross Site XHR
Uma funcionalidade interessante do AJAX é poder trazer dados assincronamente não só do servidor, mas também recursos de outros sites, usando XMLHTTPRequest. Isso não fazia parte da especificação do HTML 4, então era necessário o uso de bibliotecas que implementassem essa funcionalidade. HTML 5 terá suporte nativo a XMLHTTPRequest, dispensando o uso de bibliotecas.
Multi-threaded JavaScript
Na maioria das aplicações web existentes, grande parte do código é escrito em Javascript, já que esta é a única linguagem disponível no lado cliente para essas aplicações. Uma das promessas do HTML 5 é que o JavaScript vai se tornar multi-threaded, sendo executado de moo mais eficiente. Mas isso só resolve parte do problema. O multithreading vai acelerar o tempo de execução uma vez que o script esteja carregado, mas os scripts tendem a crescer de tamanho, significando maior tempo de download da página e maior tempo de espera até a carga total. Para resolver esse porém, foi criado um atributo chamado async na tag <script>. Esse atributo diz ao navegador que o script não é necessário na carga da página, podendo ser buscado de forma assíncrona mesmo depois da página ter sido carregada. A sintaxe fica assim:
<script async src="jquery.js" mce_src="jquery.js">HTML 5 é futuro?
Tecnicamente sim, já que a especificação ainda está na fase de “draft”, ou seja, ainda vai sofrer pequenas alterações até a publicação definitiva. Mas os principais navegadores existentes já dão suporte aos elementos HTML 5, principalmente o Firefox 3.5 e Google Chrome. Além disso, aplicações famosas na web já são construídas com HTML 5, como o Google Wave e o YouTube, ou seja, já tem muita gente trabalhando com a nova versão.
Para saber mais:
A especificação no W3C: http://www.w3.org/TR/html5/
Site dedicado a HTML 5: http://html5doctor.com/
[...] This post was mentioned on Twitter by marcelocg and Ronald Caldeira, Ronald Caldeira. Ronald Caldeira said: Tecnologia e Conhecimento » HTML 5 – As novidades da nova versão …: Está para sair do forno a quinta versão d.. http://bit.ly/7mJIJ8 [...]