Aplicações mobile: Web ou Nativa?
Na semana passada a notícia de que o Facebook abandonou sua aplicação Web Mobile para lançar uma versão totalmente nativa com iOS, reascendeu a discussão sobre construir aplicações mobile usando linguagens nativas (Android, iOS, Windows Phone, outros) ou Web. Vale lembrar que outros já fizeram o caminho contrário: o Finantial Times chegou a ter sua aplicação removida da App Store para ter como única opção a versão web.
Quando devemos construir uma aplicação com web ou nativa? Diversos posts e artigos abordam essa questão.
Se escolher construir uma aplicação com Web teremos como vantagens e desvatagens:
- A aplicação que pode rodar em múltiplas plataformas.
- Atualização rápida e abrangente. Não é necessário passar por Apple/Play Store ou ter que esperar o usuário baixar uma versão nova.
- Por atender várias plataformas mobiles diferentes, a UX do aplicativo não terá o tom característico do dispositivo.
Já uma aplicação nativa:
- Necessita de tempo para desenvolver código diferente para cada plataforma.
- UX mais específica
- SDK pode facilitar o desenvolvimento e teste dos aplicativos.
- A atualização do aplicativo depende de Apple/Play Store e do usuário.
Essa resposta depende da definição do aplicativo. Olhando para os pontos positivios e negativos conseguimos ter uma idéia do melhor caminho a seguir.
No QConSP de 2012, Martin Fowler abordou esse tema em sua palestra, chegando a discutir a criação de aplicações híbridas que usam a linguagem nativa com HTML 5. Aliás, esse era o caso do Facebook, onde uma casca em iOS envelopava uma aplicação HTML5.
Mas às vezes é até difícil dizer o que é ou não uma aplicação. Quais critérios você utiliza para essa decisão? Qual aplicação voce acha que deveria ser transformada de nativa para web ou vice-versa? Não deixe de comentar.
A Editora Casa do Código publicou recentemente o primeiro livro em português sobre Web Design Responsivo, recomendado para quem quer iniciar nesse mundo.
Se você tem interesse em se aprofundar na web, saiba mais do nosso curso Desenvolvimento Web com HTML, CSS e JavaScript. Se quer aprender a criar uma aplicacação nativas, conheça nosso curso de desenvolvimento móvel com Android e desenvolvimento móvel com iOS.