Artigo do tipo Exemplos Práticos

O que preciso saber sobre HTML 5?
Este artigo apresenta o HTML 5 como uma alternativa ao desenvolvimento baseado exclusivamente no server-side. Esta tecnologia introduz e padroniza diversas funcionalidades inovadoras no navegador ou dispositivo móvel cliente, de forma segura, portável e nativa.

Em que situação o tema é útil
Este tema é útil para os desenvolvedores Java que desejam aprender como trazer a experiência desktop para suas aplicações web, reduzindo o tempo de resposta e navegação, trabalhando sem depender de plugins e possuindo apenas uma base de código-fonte client-side independente de dispositivo e plataforma.

E a bola da vez é o HTML 5. Se você ainda não ouviu falar sobre HTML 5, confesse: você não se preocupa em estar atualizado. Atualmente, é difícil encontrar um blog respeitável de tecnologia que não tenha abordado HTML 5. Saiba que atualmente você tem à disposição uma infinidade de materiais como sites, livros, artigos, eventos e fóruns a respeito destes temas (sim, não é um erro de português, logo mais será explicado por que “temas” foi escrito no plural) que vêm sendo trabalhados desde alguns anos atrás, mesmo antes de surgir o nome HTML 5.

Muitos desenvolvedores Java, quando ouvem falar de HTML 5, mantêm uma certa distância. “Não preciso gastar tempo com isso, pois eu sou um desenvolvedor back-end e este papo é coisa de web designer.” ou então “Não me importo, pois quem gera o código-fonte HTML e JavaScript é o meu servidor de aplicações através de JSF e jQuery, então não preciso me preocupar com HTML 5, pois aposto que isto logo aparecerá no JSF e jQuery.”. Errado e errado. Quem não vencer o preconceito contra tecnologias client-side continuará defasado, construindo aplicações que logo serão passadas para trás, pois não aprenderá sobre as diversas técnicas em HTML 5 para a diminuição do tempo de resposta em aplicações web. Também não aprenderá sobre as vantagens de ter o mesmo código-fonte funcionando bem tanto em computadores quanto em dispositivos móveis. Ainda, continuará dependendo mais e mais de plug-ins e frameworks, quando há suporte nativo para a realização de diversas funcionalidades. Se você ainda acha que não precisa se preocupar com HTML 5, fica a sugestão para você voltar a programar em Swing.

Para quem está interessado em HTML 5, saiba que o autor está muito satisfeito de lhe ter como leitor, pois é preciso ter a cabeça aberta para abraçar novas ideias. Pode parecer estranho no início, mas tenha os seguintes pontos em mente:

· Aplicações web, mesmo sendo compostas por diversas camadas e componentes, representam um único conceito para o usuário final (assim como a maioria das aplicações em geral). Desta forma, o desenvolvedor deve estar aberto para deslocar o esforço do desenvolvimento de cada funcionalidade à camada que proporcionar a melhor experiência ao usuário (leia-se: pode ser melhor mover algumas funcionalidades do server-side para o client-side);

· Usuários de dispositivos móveis querem navegar em aplicações web que se comportem como aplicações móveis, então é especialmente importante realizar uma parte significativa dessas aplicações no client-side. Mesmo podendo oferecer ao usuário aplicações móveis nativas ao invés de aplicações web, há diversos motivos para investir em aplicações web para dispositivos móveis (será explicado mais adiante);

· O navegador web é a interface definitiva para aplicações nos dias de hoje, pois é acessível a todos os dispositivos, possui conceitos universais de interação com o usuário como os hyperlinks e os botões voltar, avançar, ir e parar, além de oferecer mobilidade, pois o usuário pode acessar a mesma aplicação de onde quer que ele esteja;

· HTML 5 possibilita criar aplicações web com funcionalidade, velocidade, performance e a experiência de aplicações desktop, e ao mesmo tempo atingindo uma grande variedade de dispositivos e plataformas.

Estas ideias ajudam a justificar a importância do HTML 5 em aplicações web sobre Java. Com base neste cenário, este artigo busca apresentar o HTML 5 e seus componentes para desenvolvedores Java, analisar os benefícios de implementar determinadas funcionalidades no client-side e discutir tendências e frameworks para a web que vão além do HTML 5.

O que é HTML 5?

Segundo o site HTML 5 Rocks (disponível na seção Links deste artigo), o termo HTML 5 não representa uma coisa só. É, na realidade, um conjunto de funcionalidades e tecnologias que reúnem a nova versão da linguagem HTML, CSS 3 e diversas APIs de JavaScript, com o objetivo de possibilitar a criação de aplicações complexas para a web que anteriormente só podiam ser feitas em plataformas desktop. Esta nova geração de aplicações web permite renderizar computação gráfica de alta performance, trabalhar offline, armazenar grandes porções de dados, realizar processamento em multithreading, expandir a comunicação em rede e elevar a interatividade e a colaboração um nível acima.

“O HTML 5 não é uma tecnologia monolítica, mas uma coleção de funcionalidades, tecnologias e APIs que trazem o poder de aplicações desktop e a vibração da experiência multimídia à web – ao mesmo tempo em que amplifica os principais pontos fortes da web: interatividade e conectividade.” – HTML 5 Rocks.

Outra grande vantagem do HTML 5 é ser um padrão aberto que não pertence a uma determinada empresa ou navegador. Foi criado por uma comunidade de pessoas interessadas em evoluir a web e desde Julho de 2009 é administrado pelo W3C, um consórcio de empresas de alta tecnologia como Google, Microsoft, Apple, Mozilla, Facebook, IBM, HP, Adobe e outras. Este grupo de interessados está constantemente trabalhando os padrões e as funcionalidades do HTML 5 para serem devidamente implementados nos navegadores e dispositivos móveis disponíveis no mercado.

...
Quer ler esse conteúdo completo? Tenha acesso completo