SlideShare uma empresa Scribd logo
1 de 17
Baixar para ler offline
Nativo vs. Cross-Platform
Caminhos e Alternativas
@SuelenGC
Obrigada!
@SuelenGC | www.suelengc.com.br
Arquiteta de Software no MapLink
Instrutora na Caelum
Suelen Goularte Carvalho
Quando pensamos em
desenvolvimento mobile,
temos que considerar pelo
menos 2 plataformas.
IDC: Android, Windows Phone see robust growth, iOS plateaus, BlackBerry and others flailing
IDC - Top Smartphones Operating Systems,
Shipments and Market Share
Device APIs
010110101010100
101010100010001
001001001111010
101110100011110
101010110101000
10001000101...
Aplicação Nativa
Nativo
Browser Mobile
<html>
<body>
…
</body>
</html>
Código Web
Device APIs
Híbrido
Container Nativo
<html>
<body>
…
</body>
</html>
Código Web
Web
Cross-Plataform
Basicamente, temos 3 formas de
desenvolver app’s mobile
The obvious route is to build a native
app for each device.
Martin Fowler, QConSP 2012
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#
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!
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
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.
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
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
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...
Conclusão:
Hoje temos diversas opções e
ferramentas, para todos os
bolsos e objetivos.
Pense sobre eles e
escolha o seu!
Dúvidas?
@SuelenGC | www.suelengc.com.br
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

Mais conteúdo relacionado

Mais de Suelen Carvalho

Git Merge e Rebase - The goal and differences
Git Merge e Rebase - The goal and differencesGit Merge e Rebase - The goal and differences
Git Merge e Rebase - The goal and differencesSuelen Carvalho
 
Dynamic Programming and Reinforcement Learning applied to Tetris Game
Dynamic Programming and Reinforcement Learning applied to Tetris GameDynamic Programming and Reinforcement Learning applied to Tetris Game
Dynamic Programming and Reinforcement Learning applied to Tetris GameSuelen Carvalho
 
Desenvolvimento de Novos Líderes - Paidéia Educação
Desenvolvimento de Novos Líderes - Paidéia EducaçãoDesenvolvimento de Novos Líderes - Paidéia Educação
Desenvolvimento de Novos Líderes - Paidéia EducaçãoSuelen Carvalho
 
O sucesso do seu app está nos detalhes!
O sucesso do seu app está nos detalhes!O sucesso do seu app está nos detalhes!
O sucesso do seu app está nos detalhes!Suelen Carvalho
 
Supporting Coding and Testing
Supporting Coding and TestingSupporting Coding and Testing
Supporting Coding and TestingSuelen Carvalho
 
Intercon Android 2014 - Google Play In App Billing
Intercon Android 2014 - Google Play In App BillingIntercon Android 2014 - Google Play In App Billing
Intercon Android 2014 - Google Play In App BillingSuelen Carvalho
 
Semana da Computação USP São Carlos 2014 - Carreira Mobile
Semana da Computação USP São Carlos 2014 - Carreira MobileSemana da Computação USP São Carlos 2014 - Carreira Mobile
Semana da Computação USP São Carlos 2014 - Carreira MobileSuelen Carvalho
 
TDC 2014 - Tudo sobre GCM Push Notifications
TDC 2014 - Tudo sobre GCM Push NotificationsTDC 2014 - Tudo sobre GCM Push Notifications
TDC 2014 - Tudo sobre GCM Push NotificationsSuelen Carvalho
 
Mobile Conf 2014 - Sua carreira e o que o desenvolvimento mobile tem a ver co...
Mobile Conf 2014 - Sua carreira e o que o desenvolvimento mobile tem a ver co...Mobile Conf 2014 - Sua carreira e o que o desenvolvimento mobile tem a ver co...
Mobile Conf 2014 - Sua carreira e o que o desenvolvimento mobile tem a ver co...Suelen Carvalho
 
Conexao Java - Sua primeira app Android
Conexao Java - Sua primeira app AndroidConexao Java - Sua primeira app Android
Conexao Java - Sua primeira app AndroidSuelen Carvalho
 
A história do surgimento da plataforma móvel Android.
A história do surgimento da plataforma móvel Android.A história do surgimento da plataforma móvel Android.
A história do surgimento da plataforma móvel Android.Suelen Carvalho
 
O fantástico mundo de Android
O fantástico mundo de AndroidO fantástico mundo de Android
O fantástico mundo de AndroidSuelen Carvalho
 
Usando o Poder da API Fragments
Usando o Poder da API FragmentsUsando o Poder da API Fragments
Usando o Poder da API FragmentsSuelen Carvalho
 
Primeiros Passos com Android
Primeiros Passos com AndroidPrimeiros Passos com Android
Primeiros Passos com AndroidSuelen Carvalho
 
DevFest 2012 - Esquartejando sua Activity com Fragments
DevFest 2012 - Esquartejando sua Activity com FragmentsDevFest 2012 - Esquartejando sua Activity com Fragments
DevFest 2012 - Esquartejando sua Activity com FragmentsSuelen Carvalho
 
Agile Brazil 2012 - Padrões Para Implantar Métodos Ágeis
Agile Brazil 2012 - Padrões Para Implantar Métodos ÁgeisAgile Brazil 2012 - Padrões Para Implantar Métodos Ágeis
Agile Brazil 2012 - Padrões Para Implantar Métodos ÁgeisSuelen Carvalho
 
TDC2012 Android - Deixando Sua Interface mais Bonita com Shapes
TDC2012 Android - Deixando Sua Interface mais Bonita com ShapesTDC2012 Android - Deixando Sua Interface mais Bonita com Shapes
TDC2012 Android - Deixando Sua Interface mais Bonita com ShapesSuelen Carvalho
 
TDC2012 Agile - 7 Padrões Para Implantar Métodos Ágeis
TDC2012 Agile - 7 Padrões Para Implantar Métodos ÁgeisTDC2012 Agile - 7 Padrões Para Implantar Métodos Ágeis
TDC2012 Agile - 7 Padrões Para Implantar Métodos ÁgeisSuelen Carvalho
 

Mais de Suelen Carvalho (20)

Git Merge e Rebase - The goal and differences
Git Merge e Rebase - The goal and differencesGit Merge e Rebase - The goal and differences
Git Merge e Rebase - The goal and differences
 
Dynamic Programming and Reinforcement Learning applied to Tetris Game
Dynamic Programming and Reinforcement Learning applied to Tetris GameDynamic Programming and Reinforcement Learning applied to Tetris Game
Dynamic Programming and Reinforcement Learning applied to Tetris Game
 
Desenvolvimento de Novos Líderes - Paidéia Educação
Desenvolvimento de Novos Líderes - Paidéia EducaçãoDesenvolvimento de Novos Líderes - Paidéia Educação
Desenvolvimento de Novos Líderes - Paidéia Educação
 
O sucesso do seu app está nos detalhes!
O sucesso do seu app está nos detalhes!O sucesso do seu app está nos detalhes!
O sucesso do seu app está nos detalhes!
 
Go lang
Go langGo lang
Go lang
 
Supporting Coding and Testing
Supporting Coding and TestingSupporting Coding and Testing
Supporting Coding and Testing
 
Intercon Android 2014 - Google Play In App Billing
Intercon Android 2014 - Google Play In App BillingIntercon Android 2014 - Google Play In App Billing
Intercon Android 2014 - Google Play In App Billing
 
Semana da Computação USP São Carlos 2014 - Carreira Mobile
Semana da Computação USP São Carlos 2014 - Carreira MobileSemana da Computação USP São Carlos 2014 - Carreira Mobile
Semana da Computação USP São Carlos 2014 - Carreira Mobile
 
TDC 2014 - Tudo sobre GCM Push Notifications
TDC 2014 - Tudo sobre GCM Push NotificationsTDC 2014 - Tudo sobre GCM Push Notifications
TDC 2014 - Tudo sobre GCM Push Notifications
 
Mobile Conf 2014 - Sua carreira e o que o desenvolvimento mobile tem a ver co...
Mobile Conf 2014 - Sua carreira e o que o desenvolvimento mobile tem a ver co...Mobile Conf 2014 - Sua carreira e o que o desenvolvimento mobile tem a ver co...
Mobile Conf 2014 - Sua carreira e o que o desenvolvimento mobile tem a ver co...
 
Conexao Java - Sua primeira app Android
Conexao Java - Sua primeira app AndroidConexao Java - Sua primeira app Android
Conexao Java - Sua primeira app Android
 
7 Masters sobre Android
7 Masters sobre Android7 Masters sobre Android
7 Masters sobre Android
 
A história do surgimento da plataforma móvel Android.
A história do surgimento da plataforma móvel Android.A história do surgimento da plataforma móvel Android.
A história do surgimento da plataforma móvel Android.
 
O fantástico mundo de Android
O fantástico mundo de AndroidO fantástico mundo de Android
O fantástico mundo de Android
 
Usando o Poder da API Fragments
Usando o Poder da API FragmentsUsando o Poder da API Fragments
Usando o Poder da API Fragments
 
Primeiros Passos com Android
Primeiros Passos com AndroidPrimeiros Passos com Android
Primeiros Passos com Android
 
DevFest 2012 - Esquartejando sua Activity com Fragments
DevFest 2012 - Esquartejando sua Activity com FragmentsDevFest 2012 - Esquartejando sua Activity com Fragments
DevFest 2012 - Esquartejando sua Activity com Fragments
 
Agile Brazil 2012 - Padrões Para Implantar Métodos Ágeis
Agile Brazil 2012 - Padrões Para Implantar Métodos ÁgeisAgile Brazil 2012 - Padrões Para Implantar Métodos Ágeis
Agile Brazil 2012 - Padrões Para Implantar Métodos Ágeis
 
TDC2012 Android - Deixando Sua Interface mais Bonita com Shapes
TDC2012 Android - Deixando Sua Interface mais Bonita com ShapesTDC2012 Android - Deixando Sua Interface mais Bonita com Shapes
TDC2012 Android - Deixando Sua Interface mais Bonita com Shapes
 
TDC2012 Agile - 7 Padrões Para Implantar Métodos Ágeis
TDC2012 Agile - 7 Padrões Para Implantar Métodos ÁgeisTDC2012 Agile - 7 Padrões Para Implantar Métodos Ágeis
TDC2012 Agile - 7 Padrões Para Implantar Métodos Ágeis
 

Nativo vs. Cross-Plataform: Caminhos e Alternativas

  • 1. Nativo vs. Cross-Platform Caminhos e Alternativas @SuelenGC
  • 2. Obrigada! @SuelenGC | www.suelengc.com.br Arquiteta de Software no MapLink Instrutora na Caelum Suelen Goularte Carvalho
  • 3. Quando pensamos em desenvolvimento mobile, temos que considerar pelo menos 2 plataformas.
  • 4.
  • 5. IDC: Android, Windows Phone see robust growth, iOS plateaus, BlackBerry and others flailing IDC - Top Smartphones Operating Systems, Shipments and Market Share
  • 6. Device APIs 010110101010100 101010100010001 001001001111010 101110100011110 101010110101000 10001000101... Aplicação Nativa Nativo Browser Mobile <html> <body> … </body> </html> Código Web Device APIs Híbrido Container Nativo <html> <body> … </body> </html> Código Web Web Cross-Plataform Basicamente, temos 3 formas de desenvolver app’s mobile
  • 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