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
FORTALEZA2014
ORIENTADOR: WINDSON VIANA DE CARVALHO
AGENDA
Introdução Referencial Teórico Problemática Objetivo Metodologia de desenvolvimento Trabalhos Relacionados Resultados Discussão e Conclusão
COMPUTAÇÃO MÓVEL
Evolução dos dispositivos móveis
COMPUTAÇÃO MÓVEL
iPhone 3G
Lançamento em julho de 2008
Aplicativo Móvel (App)
Primeira App Store
iPhone e a Mudança de Paradigma
02
Padrão de Smartphone
SmartphoneSistema Operacional
Comunicação GSM e Acesso
a Internet
Gerenciamento de Aplicações
Tela Sensível ao Toque
Teclado Virtual (qwerty)
GPS
Câmera
Acelerômetro
03
Ecossistema Heterogêneo de Desenvolvimento
Tamanho de Tela
Processamento
Teclado Físico
Sensores
Fabricante
Sistema Operacional
APIs de Desenvolvimento
04
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
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).
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)
PROBLEMÁTICA DE DESENVOLVIMENTO
Visar uma Única Plataforma
Dividir a Equipe
Desenvolvimento Multiplataforma
08
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
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
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
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
Frameworks Escolhidos
Phonegap
Sencha Touch
Appcelerator Titanium
13
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.
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
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.
Proposta do Aplicativo
Uso de recursos multimídia
Leitura de sensoresAcelerômetroGPS
Comunicação com serviços
externos de internet
Aplicação desenvolvida
Versões para Android
RESULTADOS
Versões para iOS
Comparação entre as plataformas
Análise Qualitativa – Experiência de Desenvolvimento
Análise Quantitativa
Medidas de softwares empregats
Análise de desempenho
1º E
xecu
ção
2º E
xecu
ção
3º E
xecu
ção
4º E
xecu
ção
5º E
xecu
ção
6º E
xecu
ção
7º E
xecu
ção
8º E
xecu
ção
9º E
xecu
ção
10º E
xecu
ção
0
10
20
30
40
50
60
PhoneGap
Sencha Touch
Titanium
Consumo de memória no Android
Análise de desempenho
Consumo de memória no iOS
1º E
xecu
ção
2º E
xecu
ção
3º E
xecu
ção
4º E
xecu
ção
5º E
xecu
ção
6º E
xecu
ção
7º E
xecu
ção
8º E
xecu
ção
9º E
xecu
ção
10º E
xecu
ção
0
5
10
15
20
25
30
35
40
45
PhoneGap
Sencha Touch
Titanium
Análise de desempenho
Tempo de carregamento no Android
1º E
xecu
ção
2º E
xecu
ção
3º E
xecu
ção
4º E
xecu
ção
5º E
xecu
ção
6º E
xecu
ção
7º E
xecu
ção
8º E
xecu
ção
9º E
xecu
ção
10º E
xecu
ção
0
0.5
1
1.5
2
2.5
PhoneGap
Sencha Touch
Titanium
Análise de desempenho
Tempo de carregamento no iOS
1º E
xecu
ção
2º E
xecu
ção
3º E
xecu
ção
4º E
xecu
ção
5º E
xecu
ção
6º E
xecu
ção
7º E
xecu
ção
8º E
xecu
ção
9º E
xecu
ção
10º E
xecu
ção
0
0.1
0.2
0.3
0.4
0.5
0.6
PhoneGap
Sencha Touch
Titanium
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:
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.
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.
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%20Support>. 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.
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.
OBRIGADO !
Recommended