O documento faz uma análise comparativa de três frameworks de desenvolvimento multiplataforma para dispositivos móveis: PhoneGap, Sencha Touch e Titanium. Descreve as funcionalidades, modelos de desenvolvimento e resultados de uma aplicação prova de conceito feita com cada um. O documento conclui que o Titanium foi o framework mais eficiente considerando fatores como curva de aprendizado, desempenho e esforço de desenvolvimento.
Apresentação de minha Monografia do curso de Sistema e Mídias Digitais
1. UMA ANÁLISE COMPARATIVA DE FERRAMENTAS DE
DESENVOLVIMENTO MULTIPLATAFORMA PARA
DISPOSITIVOS MÓVEIS
UNIVERSIDADE FEDERAL DO CEARÁ
INSTITUTO UFC VIRTUAL
CURSO DE SISTEMAS E MÍDIAS DIGITAIS
ÉDIPO DA SILVA SOUZA
FORTALEZA
2014
ORIENTADOR: WINDSON VIANA DE CARVALHO
2. AGENDA
Introdução
Referencial Teórico
Problemática
Objetivo
Metodologia de desenvolvimento
Trabalhos Relacionados
Resultados
Discussão e Conclusão
7. Sistemas Operacionais Móveis - MOS
OPERATING
SYSTEM
1Q13 SHIPMENT
VOLUME
1Q13 MARKET
SHARE
1Q12 SHIPMENT
VOLUME
1Q12 MARKET
SHARE
YEAR OVER
YEAR CHANGE
ANDROID 162.1 75.0% 90.3 59.1% 79.5%
IOS 37.4 17.3% 35.1 23.0% 6.6%
WINDOWS PHONE 7.0 3.2% 3.0 2.0% 133.3%
BLACKBERRY OS 6.3 2.9% 9.7 6.4% -35.1%
LINUX 2.1 1.0% 3.6 2.4% -41.7%
SYMBIAN 1.2 0.6% 10.4 6.8% -88.5%
OTHERS 0.1 0.0% 0.6 0.4% -83.3%
TOTAL 216.2 100.0% 152.7 100.0% 41.6%
Top Five Smartphone Operating Systems, Shipments, and Market
Share, 1Q-2013 (Millions)
Fonte: IDC Worldwide Quarterly Mobile Phone Tracker, May 2013. (IDC, 2013)
05
8. REFERENCIAL TEÓRICO
Sistemas Operacionais Móveis (MOS)
Sistema operacional similar aos padrões Windows e Linux,
porém mais simples e leve sendo responsável por identificar e definir
as características e funções do dispositivo (JANSSEN, 2010).
06
Aplicação Móvel
Software destinado a ser executado executado em um
dispositivo móvel. Normalmente instalado através das lojas de
aplicativos existentes em cada sistema.
Frameworks
Framework é um aplicação semi-completa, reusável que
pode ser especializada para produzir aplicações costumizadas
(FAYAD E e SCHMIDT D., 1997).
9. Aplicação Nativa
São aplicações instaladas a partir das lojas de aplicativos oficiais
e desenvolvidas utilizando a linguagem e ferramentas de cada plataforma
(BAYTECH SERVICES, 2012).
07
REFERENCIAL TEÓRICO
Aplicação Web
Desenvolvidas utilizando tecnologias web como HTML, JavaScript
e CSS, são aplicações web comum, mas especialmente desenhadas para
se adaptarem a telas menores.
Aplicação Híbrida
Assim como aplicações nativas, estas são baixadas e instaladas
através das lojas oficiais. Tendo como diferencial não serem desenvolvidas
utilizando a linguagem e SDK oficial. (BAYTECH SERVICES, 2012)
11. Visar Única Plataforma
Vantagens
• Agilidade no desenvolvimento
• Facilidade de manutenção
• Equipe direcionada
• Menor custo
• Única linguagem de programação
09
Desvantagens
• Publico alvo menor
• Menos usuário
12. Dividir a Equipe
Vantagens
• Publico alvo maior
• Muitos usuário
10
Desvantagens
• Desenvolvimento longo
• Manutenção complexa
• Equipes distintas
• Maior custo
• Diversas linguagens de programação
13. Desenvolvimento Multiplataforma
Vantagens
• Agilidade no desenvolvimento
• Facilidade de manutenção
• Equipe direcionada
• Única linguagem de programação
• Público alvo maior
11
Desvantagens
• Limitações de desenvolvimento
• Novo método de programação
14. OBJETIVOS
Objetivos Específicos
• Fazer um comparativo das funcionalidades de cada framework.
• Comparar os diferentes modelos de desenvolvimento utilizado pelos
frameworks
• Criar uma aplicação prova de conceito utilizando cada framework
abordado
• Estudar e selecionar medidas no desenvolvimento de software
• Analisar o desempenho nas aplicações resultantes do desenvolvimento
utilizando os frameworks estudados a partir das métricas escolhidas
Objetivo Principal
Analisar as diferenças e limitações de três frameworks de
desenvolvimento multiplataforma mais populares em 2012 (VISION
MOBILE, 2012).
12
16. METODOLOGIA DE DESENVOLVIMENTO
14
1. Pesquisa bibliográfica sobre estudos na área de
desenvolvimento móvel multiplataforma.
2. Estudo a respeito das metodologias de desenvolvimento
adotadas nos três frameworks.
3. Elaboração de uma aplicação como prova de conceito.
4. Discussão a partir das medidas de software adotadas ,
quadro comparativo e dos resultados obtidos.
17. Mobile Application Development: Web vs. Native
(CHARL e LEROUX, 2011)
15
• Pontos fortes e fracos de abordagens nativas e web
• Importância do javaScript como meio de comunicação com o sistema
• Distância entre a camada nativa e o navegador embutido na
aplicação é de apenas um nível de compilação
• Se um navegador não suporta uma capacidade nativa, não é porque
ele não pode ou que não irá, mas significa apenas que ela não esta
feita ainda
TRABALHOS RELACIONADOS
18. TRABALHOS RELACIONADOS
Cross-Platform Development Tools for Smartphone Applications
(OHRT e TURAU, 2012)
16
• Foco numa visão geral sobre nas ferramentas de desenvolvimento
multiplataforma (XMT) atuais com um comparativo de suas vantagens
e desvantagens.
• Definem três aspectos sobre aplicações em smartphones que são
importantes para o entendimento dos XMTs:
O modo como aplicações são instaladas
Sua estrutura interna
Seus elementos de interface com usuário
• Avaliação de desempenho dos 9 XMTs utilizando-se de uma aplicação
bem básica.
19. Proposta do Aplicativo
Uso de recursos multimídia
Leitura de sensores
Acelerômetro
GPS
Comunicação com serviços
externos de internet
22. Comparação entre as plataformas
PhoneGap Sencha Touch Titanium
Licença Open Source
Closed Source
com versão grátis
Open Source
Look and fell Web
Web customizado
com Temas
Nativo
Renderização de
Interface
WebView WebView
Sistema
Operacional
API para Interface HTML5 e CSS JavaScript JavaScript
API para Acesso a
recursos Nativos
Apache Cordova
Sencha SDK
Apache Cordova
Titanium SDK
Linguagem de
Programação
HTML5/CSS/JavaScript JavaScript JavaScript
Suporte a
Bibliotecas
JavaScript
Sim Sim Não
IDE Não Sim Sim
Disponibilidade da
IDE
- Paga Gratuita
Sensores
Acelerômetro, Câmera,
Compasso,
Conexão HTTP,
Contatos,
Geolocalização,
Notificação,
Armazenamento
Acelerômetro,
Câmera,
Compasso,
Conexão HTTP,
Contatos,
Geolocalização,
Notificação,
Armazenamento
Acelerômetro,
Câmera,
Compasso,
Conexão HTTP,
Contatos,
Geolocalização,
Notificação,
Armazenamento
Plataformas Alvo
iOS, Android,
Windows Phone,
BlackBerry,
Bada, WebOS,
Symbian, Firefox OS e
Tizen
iOS,
Android,
Windows Phone,
BlackBerry e
Tizen
iOS,
Android e
Tizen
23. Análise Qualitativa – Experiência de Desenvolvimento
Ambiente de
desenvolviment
o (IDE)
Curva de
aprendizage
m
Vantagens Desvantagens Código
fonte
PhoneGap
Editor de texto
Sublime
Baixa
Definição da
interface com
HTML e CSS.
Diversidade de
plugins.
Falta de uma
IDE dedicada e
oficial.
Anexo
A
Sencha
Touch
Editor de texto
Sublime
Média/Alta
Temas que
simulam a
interface
nativa. Suporte
ao Cordova.
API para
definição de
interfaces
confusa e
pouco
exemplificada.
Anexo
B
Titanium Titanium Studio Baixa
Auxílio da IDE
e exemplos na
documentação
Não poder
remover a
SplashScreen
pois nela
ocorre o
carregamento
da biblioteca
do Titanium.
Anexo
C
24. Análise Quantitativa
Medidas de softwares empregats
Tamanho da aplicação
Android .apk (MB)
Tamanho da aplicação
iOS .ipa (MB)
LOC NOF
Titanium 9,5 2,6 ~120 3
PhoneGap 1,7 2,4 ~170 3
SenchaTouch 2,1 2,7 ~190 2
27. Análise de desempenho
Tempo de carregamento no Android
0
0.5
1
1.5
2
2.5
1º
Execução
2º
Execução
3º
Execução
4º
Execução
5º
Execução
6º
Execução
7º
Execução
8º
Execução
9º
Execução
10º
Execução
PhoneGap
Sencha Touch
Titanium
28. Análise de desempenho
Tempo de carregamento no iOS
0
0.1
0.2
0.3
0.4
0.5
0.6
1º
Execução
2º
Execução
3º
Execução
4º
Execução
5º
Execução
6º
Execução
7º
Execução
8º
Execução
9º
Execução
10º
Execução
PhoneGap
Sencha Touch
Titanium
29. Baixa curva de aprendizado
Riqueza de exemplificações na documentação
Menor esforço de desenvolvimento
Desempenho das aplicações finais
Melhor imersão com o look and feel
do sistema
DISCUSSÃO E CONCLUSÃO
Para o desenvolvimento da aplicação proposta
neste estudo, o Framework Titanium foi considerado
como o mais eficiente com base nos critérios:
30. REFERÊNCIAS BIBLIOGRÁFICAS
BAYTECH SERVICES. Native, Hybrid or Mobile Web – What’s Best for your
Mobile Apps. North Andover, MA - USA, p. 6. 2012.
CHARL, A.; LEROUX, B. Mobile Application Development: Web vs. Native.
Communic Ations of the Acm, Maio 2011. 49-53.
FAYAD E, M.; SCHMIDT D., C. Object-oriented Application frameworks.
Communications of the ACM, 1997. 10.
IDC. Android and iOS Combine for 92.3% of All Smartphone Operating
System Shipments in the First Quarter While Windows Phone Leapfrogs
BlackBerry, According to IDC, 16 Maio 2013. Disponivel em:
<http://www.idc.com/getdoc.jsp?containerId=prUS24108913>. Acesso em: 25 Maio
2013.
HTC. HTC-8XT. HTC, 2014. Disponivel em:
<http://www.htc.com/us/smartphones/htc-8xt/>. Acesso em: 20 maio 2014.
IBM CORPORATION. Native, web or hybrid mobile-app development. Somers,
NY - USA, p. 10. 2012.
31. REFERÊNCIAS BIBLIOGRÁFICAS
JANSSEN, C. Mobile Operating System (Mobile OS). Techopedia, 2010. Disponivel
em: <http://www.techopedia.com/definition/3391/mobile-operating-system-mobile-os>.
Acesso em: 24 Junho 2013.
INTEL. The Development of Mobile Applications using HTML5 and PhoneGap* on
Intel® Architecture-Based Platforms. Intel Developer Zone, 2012. Disponivel em:
<http://software.intel.com/en-us/articles/the-development-of-mobile-applications-using-
html5-and-phonegap-on-intel-architecture-based>. Acesso em: 30 Março 2014.
MICROSOFT. Windows Phone Dev Center, 2013. Disponivel em:
<http://msdn.microsoft.com/library/windowsphone/develop/ff402529(v=vs.105).aspx>.
Acesso em: 01 Junho 2013.
NOKIA. Cross Platform Mobile Architecture. Nokia Developers, 2013. Disponivel em:
<http://developer.nokia.com/community/wiki/Cross_Platform_Mobile_Architecture>.
Acesso em: 23 maio 2014.
OGLIARI, R. BlackBerry e Android usam Java, mas JavaME? itWeb, 2011. Disponivel
em: <http://itweb.com.br/blogs/blackberry-e-android-usam-java-mas-javame/>. Acesso
em: 26 maio 2014.
32. REFERÊNCIAS BIBLIOGRÁFICAS
OHRT, J.; TURAU, V. Cross-Platform Development Tools for Smartphone
Applications. Computing Practices, Setembro 2012. 72-79.
PHONEGAP. Platform Support. PhoneGap Documentation, 2013. Disponivel em:
<http://docs.phonegap.com/en/edge/guide_support_index.md.html#Platform%20S
upport>. Acesso em: 30 Março 2014.
RICKER, T. Microsoft announces ten Windows Phone 7 handsets for 30 countries:
October 21 in Europe and Asia, 8 November in US (Update: Video!). Engadget,
2010. Disponivel em: <http://www.engadget.com/2010/10/11/microsoft-announces-
ten-windows-phone-7-handsets-for-30-countrie/>. Acesso em: 29 Março 2014.
RUBINO, D. Microsoft officially announces Windows Phone 8. WP Central, 2012.
Disponivel em: <http://www.wpcentral.com/microsoft-officially-announces-windows-
phone-8>. Acesso em: 29 Março 2014.
SENCHA. Sencha Touch - Features. Sencha, 2013. Disponivel em:
<http://www.sencha.com/products/touch/features/>. Acesso em: 30 Março 2014.
33. REFERÊNCIAS BIBLIOGRÁFICAS
VIANA, W. C. Mobilité et sensibilité au contexte pour la gestion de documments
multimédias personnels: CoMMediA., Universit´e Joseph-Fourier - Genoble, 02
Fevereiro 2010.
VISION MOBILE. Cross-Platform Developer Tools 2012. Vision Mobile Reserach.
Londres, p. 97. 2012.
WASSERMAN, A. Software Engineering Issues for Mobile Application Development.
Proc. FSE/SDP Workshop Future of Software Eng. Research (FoSER 10),
Moffett Field, 2010.
WEINBERG, D. Considerations for Developing Applications for Smartphones.
Opposing Views, 2011. Disponivel em:
<http://science.opposingviews.com/considerations-developing-applications-
smartphones-12052.html>. Acesso em: 19 jun. 2013.
WILSON, M. T-Mobile G1: Full Details of the HTC Dream Android Phone. gizmodo,
2008. Disponivel em: <http://gizmodo.com/5053264/t+mobile-g1-full-details-of-the-
htc-dream-android-phone>. Acesso em: 24 Março 2014.