Ultimamente, os temas mais quentes são referentes a aplicativos móveis. Há alguns meses escrevi um texto falando do debate apps nativos versus HTML5 e volto ao assunto neste post.
O espaço dos aplicativos móveis é hoje dominado pelos aplicativos nativos ou apps. Como aplicativos nativos temos os desenvolvidos especificamente para explorar em sua plenitude os recursos e a UI (User Interface) dos dispositivos como smartphones ou tablets, em linguagens como Java ou Objective-C. Mas começamos a ver o HTML5 começando a abrir espaço, com novos aplicativos surgindo para dispositivos móveis baseados em browsers. A sua característica é ser baseado na linguagem HTML5 e ser independente de dispositivos. Por outro lado, um aplicativo HTML5 não poderá explorar plenamente os recursos especificos de determinados smartphones ou tablets. Com HTML5 a experiência do usuário tenderá a ser a mesma entre todos os dispositivos. Para determinadas aplicações será extremamente válido. Mas, para outras, principalmente para as que exploram características intrínsecas de determinados smartphones, como acelerômetros, giroscópios, câmeras etc, não será a melhor solução. Como resolver? De forma salomônica… adotando apps híbridas, ou aplicações com código HTML5 envolvido com código nativo.
Uma pesquisa que li recentemente mostrou isso. 79% do universo de desenvolvedores pretendem adotar HTML5 já neste ano em suas aplicações, mas apenas 6% pretendem usá-lo em 100% do código. A maioria vai adotar soluções híbridas, com parte do código em HTML5 e parte em código nativo. Os que pretendem ficar desenvolvendo apenas apps nativas somaram 22%. Claramente que HTML5 está conquistando corações e mentes, embora não seja adotado na forma de Big Bang, sua adoção será gradual.
Visualizando o futuro fica claro que HTML5 vai aos poucos conquistando mais e mais espaço. Este cenário deve, então, ficar no radar dos desenvolvedores de apps móveis. No cenário das aplicações web típicas, me parece que a adoção de HTML5 em substituição a Flash e Silverlight será bem mais rápido.
O desafio do HTML5 é que, como qualquer padrão aberto, tem que percorrer um caminho longo para ser implementado. O processo que envolve a evolução de um padrão aberto aglutina diversos atores, nem sempre com as mesmas ideias e, portanto, há uma maior demora em seu processo de aprovação. Mas no longo prazo os padrões abertos tendem a vencer. Eu não apostaria contra open standards.
Por outro lado, uma aplicação HTML5 pode ser usada na web tradicional e em dispositivos móveis como smartphones e tablets. Neste caso, o que os desenvolvedores começam a fazer é envolvê-lo com uma camada de código nativo para explorar os recursos do dispositivo. Com isso, ganha-se na redução do tempo de desenvolvimento, pois grande parte do código é o mesmo, seja web tradicional ou móvel, e aproveita-se as funcionalidades e as diferenciações que os smartphones e tablets permitem em relação a web tradicional, baseada em desktops ou laptops. Conclusão: é melhor começarmos a ganhar proficiência em HTML5.
Em tempo, recentemente a IBM adquiriu uma empresa voltada a desenvolvimento de apps móveis, sejam nativos ou HTML5, chamada Worklight. Esta solução foi incorporada a uma solução da IBM chamada Mobile Foundation.
Por fim recomendo a leitura de um paper muito interessante de Tim Berners-Lee, “Long Live the Web: a call for continued open standards and neutrality”, publicado na Scientific American. No paper ele mostra a importância de uma Web aberta e diz que HTML5 não é apenas uma markup language, mas uma plataforma que vai permitir escrever apps muito mais interessantes e inovadoras que a permitida pela Web atual.
Por: Cezar Taurion
Fonte: http://www.tiespecialistas.com.br/2012/08/apps-nativos-versus-html5/