Apresentação realizada na trilha de short talks de 15 minutos no QCon SP 2013.
Resumo:
Uma questão em pauta por desenvolvedores mobile e empresários é se devem desenvolver seus aplicativos móveis com a tecnologia nativa ou usar uma cross-platform, em que, em teoria, desenvolve-se uma vez e roda em vários dispositivos. Nessa palestra são analisadas de forma pragmática as vantagens e desvantagens de cada abordagem.
5. IDC: Android, Windows Phone see robust growth, iOS plateaus, BlackBerry and others flailing
IDC - Top Smartphones Operating Systems,
Shipments and Market Share
7. The obvious route is to build a native
app for each device.
Martin Fowler, QConSP 2012
8. Nativo
Aplicativos nativos são desenvolvidos para uma plataforma específica.
O desenvolvimento é feito utilizando linguagem, SDK e IDE de cada
plataforma.
xCode
+
ObjectiveC
Eclipse
+
Java
Visual Studio
+
C#
9. Padrões de UI e UX
Instalação pelas App Store’s
Acesso a recursos avançados
Ferramentas de testes
SDK facilita no desenvolvimento
Vantagens
Melhor usabilidade!
10. Tempo e esforço para lançar em todas as
plataformas
Conhecimento específico
Muitos projetos para manter
Atualização depende das App Store’s e do
usuário
Custo!
Desvantagens
11. Cross-Plataform
Aplicativo cross-plataform podem ser instalados em mais de uma
plataforma com pouco ou nenhum esforço. Basicamente são divididos
em híbridos e webapp’s.
Existem muitas ferramentas para o desenvolvimento e podem ser
usadas diversas linguagens, sendo muito comuns as web.
12. Por atender várias plataformas mobiles diferentes
Fácil disponibilizar novas funcionalidades
Não é necessário passar por Apple/Play Store ou ter que
esperar o usuário baixar uma versão nova
Não precisa se submeter a nenhuma regra específica das
app store’s
Vantagens
13. A UX do aplicativo não terá o tom característico do
dispositivo.
Testar aplicativos cross-platform pode ser considerado
mais complicado, uma vez que diferentes
Pode ser mais difícil ou até mesmo impossível trabalhar
offline
Plataformas possuem diferentes comportamentos e bugs
Desvantagens
14. Funcionalidade Nativo Híbrido Web
Linguagem de desenvolvimento Apenas nativo
Nativo e web ou
apenas web
Web apenas
Portabilidade - Alto Alto
Acesso a recursos específicos do
device (acelerômetro, GPS, câmera)
Alto Médio Baixo
Conhecimento prévio Baixo Alto Alto
Gráficos avançados Alto Médio Médio
Flexibilidade de deploy
Baixo (depende
da app store)
Baixo
(normalmente
pela appstore)
Alto
Experiências de instalação
Alto (pela
appstore)
Alto (pela
appstore)
Baixo (acesso
pelo browser)
Em resumo...
15. Conclusão:
Hoje temos diversas opções e
ferramentas, para todos os
bolsos e objetivos.
Pense sobre eles e
escolha o seu!
17. Referências:
Aplicações Mobile: Web ou Nativa?
http://blog.caelum.com.br/aplicacoes-mobile-web-ou-nativa/
Facebook for iOS goes native, waves goodbye to HTML 5
http://www.theverge.com/2012/8/23/3262782/facebook-for-ios-native-app
The FT web app
http://labs.ft.com/articles/the-ft-web-app/
Wikipidia - Cross-Pataform
http://en.wikipedia.org/wiki/Cross-platform#Challenges_to_cross-platform_development
Mobile applications: native v Web apps – what are the pros and cons?
http://mobithinking.com/native-or-web-app
Which Cross Platform Mobile Development Platform Should You Choose? (+)
http://simpleprogrammer.com/2013/07/01/cross-platform-mobile-development/
Benefits and Disadvantages of Developing Cross-Platform Mobile Apps (+)
http://socialmediatoday.com/node/1613271
Wikipidia - Mobile application development
http://en.wikipedia.org/wiki/Mobile_application_development#Mobile_application_testing
IDC: Android, Windows Phone see robust growth, iOS plateaus, BlackBerry and others flailing
http://www.phonearena.com/news/IDC-Android-Windows-Phone-see-robust-growth-iOS-plateaus-
BlackBerry-and-others-flailing_id46161