Nativo vs. Cross-Plataform: Caminhos e Alternativas

Post on 01-Jul-2015

1.585 views 10 download

description

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.

Transcript of Nativo vs. Cross-Plataform: Caminhos e Alternativas

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