Desenvolver uma aplicação que rode em diversas plataformas é um sonho de consumo antigo para empresas e profissionais que trabalham com o desenvolvimento de sistemas. O Java foi a primeira tentativa com certo sucesso de transformar isso em realidade. Também podemos citar alguns frameworks, como o PhoneGap e o projeto Mono – que disponibilizou alguns recursos do .NET Framework para ambientes Linux.
Entretanto, o mercado parece estar convergindo para uma tecnologia até então pouco promissora para a construção de aplicativos multiplataforma: o HTML. Mas para que isso fosse possível o HTML teve de se reinventar. Fugir das limitações das versões iniciais e incorporar recursos que se tornaram indispensáveis em praticamente qualquer website. Questões de compatibilidade/renderização entre os browsers, utilização de áudio e vídeo e validação de formulários se tornaram drasticamente mais simples a partir do momento em que foram incorporadas à linguagem HTML. Não são necessários mais plugins, controles, applets e toda a infinidade de macetes que os desenvolvedores eram obrigados a utilizar para fazer com que as páginas Web funcionassem como deveriam.
O HTML5 foi resultado de uma observação detalhada de como as páginas Web estavam sendo construídas: com muita repetição de código e utilização de artifícios para compatibilização entre browsers. Uma vez terminada a especificação do HTML 5 (em dezembro de 2012), espera-se que os principais browsers – pelo menos os mais sérios – implementem à risca a espeficiação do W3C e que surja uma nova fase no desenvolvimento de aplicações Web. A partir de então, desenvolver esse tipo de aplicação torna-se uma experiência integrada e não uma batalha contra os browsers.
Conforme avançar meus estudos sobre HTML 5 farei novos posts no blog. Mas deixo aqui uma pergunta que pode ser bem aproveitada se discutida em grupo: Muito embora seja possível detectar se determinada funcionalidade do HTML 5 é suportada pelo browser do usuário, como podemos garantir a confiabilidade da aplicação sendo que muito do trabalho de desenvolvimento foi incorporado ao HTML5? Se o usuário utilizar um Browser que não suporta determinada funcionalidade devemos ter um plano de backup e oferecer uma versão desenvolvida especificamente para browsers antigos (o que implica o mesmo esforço de desenvolvimento anterior ao HTML5) ou pedimos gentilmente que ele atualize seu browser (o que, eventualmente, pode ser uma decisão do administrador de redes e que depende de homologação por parte da empresa, tornando seu site inacessível por um determinado grupo de usuários)?
Por enquanto, só posso dizer que estou animado com as possibilidades da tripla (HTML5; CSS3; JavaScript). Parece que finalmente estamos convergindo para uma plataforma única para o desenvolvimento de aplicações!
Caso você queira aprender mais sobre HTML5 e CSS3 seguem deixo aqui uma sugestão de material bem bacana: curso (em inglês) do Microsoft Virtual Academy Developing in HTML5 with JavaScript and CSS3 Jump Start e para praticar e desenvolver suas primeiras aplicações (de graça!) você pode utilizar o Visual Studio Express 2012 for Web.
Muito interessante o post, parabéns.
mto massa o post. realmente o desenvolvimento em HTML5 e CSS3 está crescendo demais. aqui na nossa agência lançamos um cartão de natal em forma de game, seguem os links:
jogue no facebook: facebook.com/appcenter/esquinoel
jogue pelo navegador: http://www.daksa.com.br/cartao_natal
espero q gostem! bom divertimento!