SlideShare ist ein Scribd-Unternehmen logo
1 von 34
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
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 sensores
 Acelerômetro
 GPS
 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
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
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
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
Análise de desempenho
0
10
20
30
40
50
60
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
Consumo de memória no Android
Análise de desempenho
Consumo de memória no iOS
0
5
10
15
20
25
30
35
40
45
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
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
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
 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%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.
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 !

Weitere ähnliche Inhalte

Was ist angesagt?

E tertulia paol-rq
E tertulia paol-rqE tertulia paol-rq
E tertulia paol-rq
KMILT
 
Desenvolvendo aplicações em Java para o Google Android - Ranieri de Souza Fer...
Desenvolvendo aplicações em Java para o Google Android - Ranieri de Souza Fer...Desenvolvendo aplicações em Java para o Google Android - Ranieri de Souza Fer...
Desenvolvendo aplicações em Java para o Google Android - Ranieri de Souza Fer...
Tchelinux
 
Sistema Operacional Android
Sistema Operacional AndroidSistema Operacional Android
Sistema Operacional Android
Lucas Damasceno
 
Introdução à plataforma Android
Introdução à plataforma AndroidIntrodução à plataforma Android
Introdução à plataforma Android
Natanael Fonseca
 

Was ist angesagt? (20)

Curso de Android Aula 4
Curso de Android Aula 4Curso de Android Aula 4
Curso de Android Aula 4
 
Android Aula 2
Android Aula 2Android Aula 2
Android Aula 2
 
Palestra Desenvolvimento de Apps Móveis: Iniciando no iOS e Android
Palestra Desenvolvimento de Apps Móveis: Iniciando no iOS e AndroidPalestra Desenvolvimento de Apps Móveis: Iniciando no iOS e Android
Palestra Desenvolvimento de Apps Móveis: Iniciando no iOS e Android
 
Android - Conceito e Arquitetura
Android - Conceito e ArquiteturaAndroid - Conceito e Arquitetura
Android - Conceito e Arquitetura
 
Entenda porque seu aplicativo de Android não deve ser igual ao de iPhone
Entenda porque seu aplicativo de Android não deve ser igual ao de iPhoneEntenda porque seu aplicativo de Android não deve ser igual ao de iPhone
Entenda porque seu aplicativo de Android não deve ser igual ao de iPhone
 
PALESTRA :: Desenvolvimento para plataforma Android
PALESTRA :: Desenvolvimento para plataforma Android PALESTRA :: Desenvolvimento para plataforma Android
PALESTRA :: Desenvolvimento para plataforma Android
 
E tertulia paol-rq
E tertulia paol-rqE tertulia paol-rq
E tertulia paol-rq
 
Desenvolvendo para Android
Desenvolvendo para AndroidDesenvolvendo para Android
Desenvolvendo para Android
 
Curso de Android - aula 3
Curso de Android - aula 3Curso de Android - aula 3
Curso de Android - aula 3
 
Sistema Operacional Android
Sistema Operacional AndroidSistema Operacional Android
Sistema Operacional Android
 
Desenvolvendo aplicações em Java para o Google Android - Ranieri de Souza Fer...
Desenvolvendo aplicações em Java para o Google Android - Ranieri de Souza Fer...Desenvolvendo aplicações em Java para o Google Android - Ranieri de Souza Fer...
Desenvolvendo aplicações em Java para o Google Android - Ranieri de Souza Fer...
 
Android Aprendiz
Android AprendizAndroid Aprendiz
Android Aprendiz
 
Introdução à programação em Android Senac 15/05/2012
Introdução à programação em Android Senac 15/05/2012Introdução à programação em Android Senac 15/05/2012
Introdução à programação em Android Senac 15/05/2012
 
Introdução ao Android Studio
Introdução ao Android StudioIntrodução ao Android Studio
Introdução ao Android Studio
 
Introdução ao Desenvolvimento Android
Introdução ao Desenvolvimento AndroidIntrodução ao Desenvolvimento Android
Introdução ao Desenvolvimento Android
 
Programando Android - Aula 1
Programando Android - Aula 1Programando Android - Aula 1
Programando Android - Aula 1
 
Android
AndroidAndroid
Android
 
Sistema Operacional Android
Sistema Operacional AndroidSistema Operacional Android
Sistema Operacional Android
 
Android
AndroidAndroid
Android
 
Introdução à plataforma Android
Introdução à plataforma AndroidIntrodução à plataforma Android
Introdução à plataforma Android
 

Andere mochten auch

Projeto isabel linux
Projeto isabel linuxProjeto isabel linux
Projeto isabel linux
Deli Almeida
 
E-Book O Novo Mundo Convergente E-Consulting Corp. 2011
E-Book O Novo Mundo Convergente E-Consulting Corp. 2011E-Book O Novo Mundo Convergente E-Consulting Corp. 2011
E-Book O Novo Mundo Convergente E-Consulting Corp. 2011
E-Consulting Corp.
 
Aula Planejamento de Mídia
Aula Planejamento de MídiaAula Planejamento de Mídia
Aula Planejamento de Mídia
Lucas Pelaez
 

Andere mochten auch (20)

Evolução dispositivos móveis e pc
Evolução dispositivos móveis e pcEvolução dispositivos móveis e pc
Evolução dispositivos móveis e pc
 
Projeto isabel linux
Projeto isabel linuxProjeto isabel linux
Projeto isabel linux
 
Planejamento de Projetos em Mídias Móveis
Planejamento de Projetos em Mídias MóveisPlanejamento de Projetos em Mídias Móveis
Planejamento de Projetos em Mídias Móveis
 
Apresentação de Monografia - Formatos Publicitários Móveis
Apresentação de Monografia - Formatos Publicitários MóveisApresentação de Monografia - Formatos Publicitários Móveis
Apresentação de Monografia - Formatos Publicitários Móveis
 
:: Conect Mídia ::
:: Conect Mídia :::: Conect Mídia ::
:: Conect Mídia ::
 
Apresentação Institucional
Apresentação InstitucionalApresentação Institucional
Apresentação Institucional
 
Espm.transmidia.inovadores
Espm.transmidia.inovadoresEspm.transmidia.inovadores
Espm.transmidia.inovadores
 
Mídias locativas
Mídias locativasMídias locativas
Mídias locativas
 
I B O P E Connectmidia
I B O P E  ConnectmidiaI B O P E  Connectmidia
I B O P E Connectmidia
 
conect-mídia (Ibope Mídia)
conect-mídia (Ibope Mídia)conect-mídia (Ibope Mídia)
conect-mídia (Ibope Mídia)
 
E-Book O Novo Mundo Convergente E-Consulting Corp. 2011
E-Book O Novo Mundo Convergente E-Consulting Corp. 2011E-Book O Novo Mundo Convergente E-Consulting Corp. 2011
E-Book O Novo Mundo Convergente E-Consulting Corp. 2011
 
Dos dispositivos móveis como plataforma para conteúdo transmídia
Dos dispositivos móveis como plataforma para conteúdo transmídiaDos dispositivos móveis como plataforma para conteúdo transmídia
Dos dispositivos móveis como plataforma para conteúdo transmídia
 
Semana cultural
Semana culturalSemana cultural
Semana cultural
 
Mídias Sociais em Dispositivos Móveis
Mídias Sociais em Dispositivos MóveisMídias Sociais em Dispositivos Móveis
Mídias Sociais em Dispositivos Móveis
 
Apresentação Intercom 2011
Apresentação Intercom 2011Apresentação Intercom 2011
Apresentação Intercom 2011
 
Producao de Conteudo para Dispositivos Moveis
Producao de Conteudo para Dispositivos MoveisProducao de Conteudo para Dispositivos Moveis
Producao de Conteudo para Dispositivos Moveis
 
Aula Mídia - Novas Mídias
Aula Mídia - Novas MídiasAula Mídia - Novas Mídias
Aula Mídia - Novas Mídias
 
Tecnologia da Informação Aplicada a Sistemas de Informação Empresariais
Tecnologia da Informação Aplicada a Sistemas de Informação EmpresariaisTecnologia da Informação Aplicada a Sistemas de Informação Empresariais
Tecnologia da Informação Aplicada a Sistemas de Informação Empresariais
 
Aula Planejamento de Mídia
Aula Planejamento de MídiaAula Planejamento de Mídia
Aula Planejamento de Mídia
 
Excel lista de exercicios básicos
Excel   lista de exercicios básicosExcel   lista de exercicios básicos
Excel lista de exercicios básicos
 

Ähnlich wie Apresentação de minha Monografia do curso de Sistema e Mídias Digitais

Asoso tipos de aplicações móveis (1)
Asoso   tipos de aplicações móveis (1)Asoso   tipos de aplicações móveis (1)
Asoso tipos de aplicações móveis (1)
grupouro
 
Asoso tipos de aplicações móveis (1)
Asoso   tipos de aplicações móveis (1)Asoso   tipos de aplicações móveis (1)
Asoso tipos de aplicações móveis (1)
grupouro
 
Desenvolvimento de aplicações para dispositivos móveis módulo i - aula 2
Desenvolvimento de aplicações para dispositivos móveis   módulo i - aula 2Desenvolvimento de aplicações para dispositivos móveis   módulo i - aula 2
Desenvolvimento de aplicações para dispositivos móveis módulo i - aula 2
Carlos Eugenio Torres
 
Aplicativos para dispositivos móveis
Aplicativos para dispositivos móveisAplicativos para dispositivos móveis
Aplicativos para dispositivos móveis
Ygor Castro
 
Windows Phone 7 Camp MICBH + MSPs
Windows Phone 7 Camp MICBH + MSPsWindows Phone 7 Camp MICBH + MSPs
Windows Phone 7 Camp MICBH + MSPs
Microsoft
 

Ähnlich wie Apresentação de minha Monografia do curso de Sistema e Mídias Digitais (20)

Introdução ao desenvolvimento de aplicativos com PhoneGap e Sencha Touch
Introdução ao desenvolvimento de aplicativos com PhoneGap e Sencha TouchIntrodução ao desenvolvimento de aplicativos com PhoneGap e Sencha Touch
Introdução ao desenvolvimento de aplicativos com PhoneGap e Sencha Touch
 
Asoso tipos de aplicações móveis (1)
Asoso   tipos de aplicações móveis (1)Asoso   tipos de aplicações móveis (1)
Asoso tipos de aplicações móveis (1)
 
Asoso tipos de aplicações móveis (1)
Asoso   tipos de aplicações móveis (1)Asoso   tipos de aplicações móveis (1)
Asoso tipos de aplicações móveis (1)
 
Desenvolvimento de aplicações para dispositivos móveis módulo i - aula 2
Desenvolvimento de aplicações para dispositivos móveis   módulo i - aula 2Desenvolvimento de aplicações para dispositivos móveis   módulo i - aula 2
Desenvolvimento de aplicações para dispositivos móveis módulo i - aula 2
 
Ciclo de palestras da JFRJ - Aplicativos Móveis
Ciclo de palestras da JFRJ - Aplicativos MóveisCiclo de palestras da JFRJ - Aplicativos Móveis
Ciclo de palestras da JFRJ - Aplicativos Móveis
 
Rich Internet Applications
Rich Internet ApplicationsRich Internet Applications
Rich Internet Applications
 
Construindo Aplicativos móveis conectados com Xamarin e Azure Mobile Services
Construindo Aplicativos móveis conectados com Xamarin e Azure Mobile ServicesConstruindo Aplicativos móveis conectados com Xamarin e Azure Mobile Services
Construindo Aplicativos móveis conectados com Xamarin e Azure Mobile Services
 
Desenvolvimento Multiplataforma com Appcelerator Titanium
Desenvolvimento Multiplataforma com Appcelerator TitaniumDesenvolvimento Multiplataforma com Appcelerator Titanium
Desenvolvimento Multiplataforma com Appcelerator Titanium
 
Desenvolvimento de Aplicações para Dispositivos Móveis: Aplicativos Nativos, ...
Desenvolvimento de Aplicações para Dispositivos Móveis: Aplicativos Nativos, ...Desenvolvimento de Aplicações para Dispositivos Móveis: Aplicativos Nativos, ...
Desenvolvimento de Aplicações para Dispositivos Móveis: Aplicativos Nativos, ...
 
Aplicativos para dispositivos móveis
Aplicativos para dispositivos móveisAplicativos para dispositivos móveis
Aplicativos para dispositivos móveis
 
A vez do mobile - Dev in Bahia #3
A vez do mobile - Dev in Bahia #3A vez do mobile - Dev in Bahia #3
A vez do mobile - Dev in Bahia #3
 
Restaurante
RestauranteRestaurante
Restaurante
 
Novidades no Windows Mobile Line of Business Solution Accelerator 2008
Novidades no Windows Mobile Line of Business Solution Accelerator 2008Novidades no Windows Mobile Line of Business Solution Accelerator 2008
Novidades no Windows Mobile Line of Business Solution Accelerator 2008
 
Mobile Apps Cross-Platform
Mobile Apps Cross-PlatformMobile Apps Cross-Platform
Mobile Apps Cross-Platform
 
Mobile Dev - Aplicativos
Mobile Dev - AplicativosMobile Dev - Aplicativos
Mobile Dev - Aplicativos
 
Desenvolvimento multiplataforma em ambientes de programação nativos e abstr...
Desenvolvimento multiplataforma em ambientes de programação nativos e abstr...Desenvolvimento multiplataforma em ambientes de programação nativos e abstr...
Desenvolvimento multiplataforma em ambientes de programação nativos e abstr...
 
Windows Phone 7 Camp MICBH + MSPs
Windows Phone 7 Camp MICBH + MSPsWindows Phone 7 Camp MICBH + MSPs
Windows Phone 7 Camp MICBH + MSPs
 
Introdução intel XDK
Introdução intel XDKIntrodução intel XDK
Introdução intel XDK
 
Tecnologias ria2
Tecnologias ria2Tecnologias ria2
Tecnologias ria2
 
Desenvolvimento de Aplicativos Móveis Multiplataforma
Desenvolvimento de Aplicativos Móveis MultiplataformaDesenvolvimento de Aplicativos Móveis Multiplataforma
Desenvolvimento de Aplicativos Móveis Multiplataforma
 

Mehr von Édipo Souza

Framework MVC - vRaptor
Framework MVC - vRaptorFramework MVC - vRaptor
Framework MVC - vRaptor
Édipo Souza
 
XP - eXtreme Programming
XP - eXtreme ProgrammingXP - eXtreme Programming
XP - eXtreme Programming
Édipo Souza
 

Mehr von Édipo Souza (12)

Estudo comparativo das linguagens kotlin e java no desenvolvimento de aplicac...
Estudo comparativo das linguagens kotlin e java no desenvolvimento de aplicac...Estudo comparativo das linguagens kotlin e java no desenvolvimento de aplicac...
Estudo comparativo das linguagens kotlin e java no desenvolvimento de aplicac...
 
Android, Gradle & Dependecies
Android, Gradle & DependeciesAndroid, Gradle & Dependecies
Android, Gradle & Dependecies
 
Android studio build variants
Android studio build variantsAndroid studio build variants
Android studio build variants
 
Testing android apps with espresso
Testing android apps with espressoTesting android apps with espresso
Testing android apps with espresso
 
Next Step, Android Studio!
Next Step, Android Studio!Next Step, Android Studio!
Next Step, Android Studio!
 
Introdução a Plataforma Android
Introdução a Plataforma AndroidIntrodução a Plataforma Android
Introdução a Plataforma Android
 
Android - Frameworks de Testes
Android - Frameworks de TestesAndroid - Frameworks de Testes
Android - Frameworks de Testes
 
Android - Frameworks para Gráficos
Android - Frameworks para GráficosAndroid - Frameworks para Gráficos
Android - Frameworks para Gráficos
 
Logging Patterns & Anti-Patterns
Logging Patterns & Anti-PatternsLogging Patterns & Anti-Patterns
Logging Patterns & Anti-Patterns
 
Android - Frameworks de Persistência
Android - Frameworks de PersistênciaAndroid - Frameworks de Persistência
Android - Frameworks de Persistência
 
Framework MVC - vRaptor
Framework MVC - vRaptorFramework MVC - vRaptor
Framework MVC - vRaptor
 
XP - eXtreme Programming
XP - eXtreme ProgrammingXP - eXtreme Programming
XP - eXtreme Programming
 

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
  • 3. COMPUTAÇÃO MÓVEL Evolução dos dispositivos móveis
  • 4. 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
  • 5. 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
  • 6. Ecossistema Heterogêneo de Desenvolvimento Tamanho de Tela Processamento Teclado Físico Sensores Fabricante Sistema Operacional APIs de Desenvolvimento 04
  • 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)
  • 10. PROBLEMÁTICA DE DESENVOLVIMENTO Visar uma Única Plataforma Dividir a Equipe Desenvolvimento Multiplataforma 08
  • 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
  • 15. Frameworks Escolhidos  Phonegap  Sencha Touch  Appcelerator Titanium 13
  • 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
  • 26. Análise de desempenho Consumo de memória no iOS 0 5 10 15 20 25 30 35 40 45 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
  • 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.