SlideShare ist ein Scribd-Unternehmen logo
1 von 30
Downloaden Sie, um offline zu lesen
Desenvolvimento Mobile Multiplataforma
Fernando del Rio, 22 anos Computação, Unesp RC 
http://br.linkedin.com/in/fernandohenriquedelrio 
https://www.facebook.com/fernandomdr 
http://pt.stackoverflow.com/users/1419/fernandodelrio 
https://github.com/fernandodelrio
Desenvolvimento Mobile 
A mobilidade ganhou força nos últimos anos e o conceito de aplicação mobile mudou. Antes aplicações mobile eram aplicações de propósito muito específico e muita coisa que se tinha para desktop e web jamais fariam sentido em um celular.
Desenvolvimento Mobile 
Hoje em dia isso tem mudado. Um usuário quer que sua aplicação funcione independente do dispositivo que ele esteja usando. E atualmente com a capacidade de processamento dos dispositivos e a alta disponibilidade da internet, as maiores preocupações das aplicações mobile são de usabilidade:
Desenvolvimento Mobile 
•Tela menor 
•Diferentes tamanhos de tela 
•Navegação utilizando a touch screen 
Uma aplicação mobile deve propiciar a melhor experiência de usuário possível. É muito importante que o conteúdo da aplicação possa ser visualizado de forma fácil, independente do tamanho da tela e da orientação do dispositivo.
Desenvolvimento Mobile 
Quando deve-se considerar um smartphone e um tablet essas diferenças se tornam ainda maiores. Além do conteúdo se adaptar à tela do dispositivo, pode ser necessário alterar a forma de navegação na aplicação.
Plataformas
Plataformas
Plataformas 
Muitas plataformas disponíveis: 
•Arquiteturas diferentes 
•Sistemas Operacionais diferentes 
•Linguagens de programação diferentes 
•Ambientes de desenvolvimento diferentes
Plataformas 
Desenvolver uma aplicação para várias plataformas: 
•Maior complexidade de desenvolvimento e manutenção da aplicação 
•Maior custo (tempo e dinheiro)
Plataformas 
•Mac 
•Objective-C ou Swift
Plataformas 
•Windows, Linux, Mac 
•Java
Plataformas 
•Windows 
•C#
Multiplataforma 
Uma forma de solucionar esse problema é buscando uma alternativa multiplataforma. Existem várias opções no mercado. 
Uma ideia é tentar converter todo o código gerado na linguagem nativa de uma plataforma, para o correspondente nas outras plataformas. 
Muitas vezes isso é complicado, devido às diferenças de arquiteturas entre elas.
Multiplataforma 
Por sorte na maioria dos dispositivos já existe algo multiplataforma: 
Aplicações Web 
Desenvolvedores Web sempre tiveram que se preocupar com uma aplicação sendo exibida em diferentes navegadores e diferentes sistemas operacionais.
Multiplataforma 
Hoje em dia a Web vem caminhado para uma padronização, o que torna mais fácil para uma aplicação Web funcionar de maneira uniforme em diferentes plataformas, incluindo em dispositivos mobile.
App Nativo 
•Acesso completo aos recursos do dispositivo 
•Maior desempenho 
•Loja 
•Dificuldade para desenvolver para várias plataformas. 
•Mais caro
Web App 
•Mais barato 
•Multiplataforma 
•Limitado ao que uma aplicação web pode fazer (não possui acesso à todas as funcionalidades do dispositivo) 
•Não tem loja
Multiplataforma 
Seria possível unir o melhor das aplicações nativas, com a característica multiplataforma das aplicações Web?
Multiplataforma 
Resposta: SIM 
E uma das alternativas é o
Multiplataforma 
PhoneGap é um framework da Adobe baseado no projeto open source Apache Cordova que permite criar apps nativos pra diversos dispositivos utilizando uma base de código única com tecnologias web: HTML, CSS, Javascript. 
O framework também serve de interface entre a Web e o Nativo, permitindo que qualquer recurso do dispositivo possa ser acessado pela aplicação.
PhoneGap
PhoneGap Build 
Além disso o PhoneGap disponibiliza um serviço na nuvem que permite o compilar o código da aplicação para qualquer plataforma disponível.
PhoneGap Build
PhoneGap na vida real 
Claro, nem tudo são flores. Em muitas situações uma aplicação PhoneGap tradicional (Uma Single View Application) pode ter um desempenho inaceitável, geralmente quando é necessário dar suporte a versões antigas de S.O., como Android 2.3, por exemplo. O gargalo normalmente aparece, quando é necessário fazer transições de tela, que podem ficar muito lentas, considerando que antigamente a WebView não possuía aceleração de hardware.
PhoneGap na vida real 
Nesse caso talvez seja interessante desenvolver parte da aplicação de forma híbrida e parte da aplicação (transições de tela) de forma nativa, para ganhar desempenho. 
Obviamente, isso diminui os benefícios de uma aplicação multiplataforma. Mas ainda sim é vantajoso se a maior parte das regras de negócio estiverem de forma híbrida.
PhoneGap na vida real 
Outro uso interessante do PhoneGap é a utilização como componente. Imagine a situação de uma aplicação desenvolvida de forma nativa para várias plataformas e um determinado componente precisa ser adicionado nessa aplicação. Dependendo da complexidade do componente vai ser muito trabalhoso implementá-lo em todas as plataformas.
PhoneGap na vida real 
Para solucionar esse problema a Cordova Web View do PhoneGap pode ser facilmente adicionada na aplicação como um componente, tornando essa nova funcionalidade da aplicação, multiplataforma. 
Nesse contexto, não só a Web View tem acesso aos recursos do nativo, como o nativo também consegue acessar as informações da Web View.
PhoneGap 
•Instalação 
•Criando um projeto 
•Compilando 
•Debugando 
•Music App 
Mas vamos ver isso na prática :)

Weitere ähnliche Inhalte

Was ist angesagt?

Curso de Desenvolvimento de Aplicativos Híbridos com PhoneGap/Cordova, e Ionic
Curso de Desenvolvimento de Aplicativos Híbridos com PhoneGap/Cordova, e IonicCurso de Desenvolvimento de Aplicativos Híbridos com PhoneGap/Cordova, e Ionic
Curso de Desenvolvimento de Aplicativos Híbridos com PhoneGap/Cordova, e IonicFelipe Blini
 
Aplicações Híbridas para Dispositivos Móveis com AngularJS e PhoneGap
Aplicações Híbridas para Dispositivos Móveis com AngularJS e PhoneGapAplicações Híbridas para Dispositivos Móveis com AngularJS e PhoneGap
Aplicações Híbridas para Dispositivos Móveis com AngularJS e PhoneGapThiago Colares
 
Minicurso de Desenvolvimento Híbrido utilizando Ionic Framework
Minicurso de Desenvolvimento Híbrido utilizando Ionic FrameworkMinicurso de Desenvolvimento Híbrido utilizando Ionic Framework
Minicurso de Desenvolvimento Híbrido utilizando Ionic FrameworkCristian Dean
 
SESTINFO 2011 Apresentacao Android
SESTINFO 2011 Apresentacao AndroidSESTINFO 2011 Apresentacao Android
SESTINFO 2011 Apresentacao AndroidRafael Sakurai
 
Introdução ao PhoneGap e Sencha Touch
Introdução ao PhoneGap e Sencha TouchIntrodução ao PhoneGap e Sencha Touch
Introdução ao PhoneGap e Sencha TouchRafael Neri
 
Desenvolvimento de Aplicativos Móveis Multiplataforma
Desenvolvimento de Aplicativos Móveis MultiplataformaDesenvolvimento de Aplicativos Móveis Multiplataforma
Desenvolvimento de Aplicativos Móveis MultiplataformaJose Augusto Cintra
 
Phonegap autorefresh - app direto no celular sem emulador
Phonegap autorefresh - app direto no celular sem emuladorPhonegap autorefresh - app direto no celular sem emulador
Phonegap autorefresh - app direto no celular sem emuladorAfonso Fernandes
 
Desenvolvimento Mobile com Ionic
Desenvolvimento Mobile com IonicDesenvolvimento Mobile com Ionic
Desenvolvimento Mobile com IonicFelipe Renan Vieira
 
Curso: Desenvolvimento de aplicativos híbridos (dia 1)
Curso: Desenvolvimento de aplicativos híbridos (dia 1)Curso: Desenvolvimento de aplicativos híbridos (dia 1)
Curso: Desenvolvimento de aplicativos híbridos (dia 1)Wennder Santos
 
Curso: Desenvolvimento de aplicativos híbridos (dia 2)
Curso: Desenvolvimento de aplicativos híbridos (dia 2)Curso: Desenvolvimento de aplicativos híbridos (dia 2)
Curso: Desenvolvimento de aplicativos híbridos (dia 2)Wennder Santos
 
Adobe Phonegap
Adobe PhonegapAdobe Phonegap
Adobe Phonegapwlsilva
 
[Curso Phonegap / Cordova] Aula 01: Introdução ao Phonegap
[Curso Phonegap / Cordova] Aula 01: Introdução ao Phonegap[Curso Phonegap / Cordova] Aula 01: Introdução ao Phonegap
[Curso Phonegap / Cordova] Aula 01: Introdução ao PhonegapLoiane Groner
 
Ionic + Cordova para Desenvolvimento Mobile
Ionic + Cordova para Desenvolvimento MobileIonic + Cordova para Desenvolvimento Mobile
Ionic + Cordova para Desenvolvimento MobileWaldyr Felix
 
Apresentação JAVOU 5
Apresentação JAVOU 5Apresentação JAVOU 5
Apresentação JAVOU 5Bruno Muniz
 
Desenvolvendo APPs Com Angular.JS + Cordova
Desenvolvendo APPs Com Angular.JS �+ CordovaDesenvolvendo APPs Com Angular.JS �+ Cordova
Desenvolvendo APPs Com Angular.JS + CordovaGustavo Costa
 
Desmistificando o desenvolvimento de mobile híbrido
Desmistificando o desenvolvimento de mobile híbridoDesmistificando o desenvolvimento de mobile híbrido
Desmistificando o desenvolvimento de mobile híbridoWilliam Ribeiro da Silva
 

Was ist angesagt? (20)

Curso de Desenvolvimento de Aplicativos Híbridos com PhoneGap/Cordova, e Ionic
Curso de Desenvolvimento de Aplicativos Híbridos com PhoneGap/Cordova, e IonicCurso de Desenvolvimento de Aplicativos Híbridos com PhoneGap/Cordova, e Ionic
Curso de Desenvolvimento de Aplicativos Híbridos com PhoneGap/Cordova, e Ionic
 
Phonegap
PhonegapPhonegap
Phonegap
 
Aplicações Híbridas para Dispositivos Móveis com AngularJS e PhoneGap
Aplicações Híbridas para Dispositivos Móveis com AngularJS e PhoneGapAplicações Híbridas para Dispositivos Móveis com AngularJS e PhoneGap
Aplicações Híbridas para Dispositivos Móveis com AngularJS e PhoneGap
 
Minicurso de Desenvolvimento Híbrido utilizando Ionic Framework
Minicurso de Desenvolvimento Híbrido utilizando Ionic FrameworkMinicurso de Desenvolvimento Híbrido utilizando Ionic Framework
Minicurso de Desenvolvimento Híbrido utilizando Ionic Framework
 
SESTINFO 2011 Apresentacao Android
SESTINFO 2011 Apresentacao AndroidSESTINFO 2011 Apresentacao Android
SESTINFO 2011 Apresentacao Android
 
Introdução ao PhoneGap e Sencha Touch
Introdução ao PhoneGap e Sencha TouchIntrodução ao PhoneGap e Sencha Touch
Introdução ao PhoneGap e Sencha Touch
 
Desenvolvimento de Aplicativos Móveis Multiplataforma
Desenvolvimento de Aplicativos Móveis MultiplataformaDesenvolvimento de Aplicativos Móveis Multiplataforma
Desenvolvimento de Aplicativos Móveis Multiplataforma
 
Phonegap autorefresh - app direto no celular sem emulador
Phonegap autorefresh - app direto no celular sem emuladorPhonegap autorefresh - app direto no celular sem emulador
Phonegap autorefresh - app direto no celular sem emulador
 
Desenvolvimento Mobile com Ionic
Desenvolvimento Mobile com IonicDesenvolvimento Mobile com Ionic
Desenvolvimento Mobile com Ionic
 
Introdução intel XDK
Introdução intel XDKIntrodução intel XDK
Introdução intel XDK
 
Firefox OS
Firefox OSFirefox OS
Firefox OS
 
Curso: Desenvolvimento de aplicativos híbridos (dia 1)
Curso: Desenvolvimento de aplicativos híbridos (dia 1)Curso: Desenvolvimento de aplicativos híbridos (dia 1)
Curso: Desenvolvimento de aplicativos híbridos (dia 1)
 
Curso: Desenvolvimento de aplicativos híbridos (dia 2)
Curso: Desenvolvimento de aplicativos híbridos (dia 2)Curso: Desenvolvimento de aplicativos híbridos (dia 2)
Curso: Desenvolvimento de aplicativos híbridos (dia 2)
 
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
 
Adobe Phonegap
Adobe PhonegapAdobe Phonegap
Adobe Phonegap
 
[Curso Phonegap / Cordova] Aula 01: Introdução ao Phonegap
[Curso Phonegap / Cordova] Aula 01: Introdução ao Phonegap[Curso Phonegap / Cordova] Aula 01: Introdução ao Phonegap
[Curso Phonegap / Cordova] Aula 01: Introdução ao Phonegap
 
Ionic + Cordova para Desenvolvimento Mobile
Ionic + Cordova para Desenvolvimento MobileIonic + Cordova para Desenvolvimento Mobile
Ionic + Cordova para Desenvolvimento Mobile
 
Apresentação JAVOU 5
Apresentação JAVOU 5Apresentação JAVOU 5
Apresentação JAVOU 5
 
Desenvolvendo APPs Com Angular.JS + Cordova
Desenvolvendo APPs Com Angular.JS �+ CordovaDesenvolvendo APPs Com Angular.JS �+ Cordova
Desenvolvendo APPs Com Angular.JS + Cordova
 
Desmistificando o desenvolvimento de mobile híbrido
Desmistificando o desenvolvimento de mobile híbridoDesmistificando o desenvolvimento de mobile híbrido
Desmistificando o desenvolvimento de mobile híbrido
 

Andere mochten auch

Introdução ao Titanium Mobile
Introdução ao Titanium MobileIntrodução ao Titanium Mobile
Introdução ao Titanium MobileEric Cavalcanti
 
A nova geração da arquitetura web para a era da nuvem
A nova geração da arquitetura web para a era da nuvemA nova geração da arquitetura web para a era da nuvem
A nova geração da arquitetura web para a era da nuvemCloves Moreira Junior
 
Usando PushWoosh com Ionic Framework
Usando PushWoosh com Ionic FrameworkUsando PushWoosh com Ionic Framework
Usando PushWoosh com Ionic FrameworkEmerson Thompson
 
Porque você deveria usar IONIC
Porque você deveria usar IONICPorque você deveria usar IONIC
Porque você deveria usar IONICDan Jesus
 
ECMAScript 6 / ECMAScript 2015 no Node.js
ECMAScript 6 / ECMAScript 2015 no Node.jsECMAScript 6 / ECMAScript 2015 no Node.js
ECMAScript 6 / ECMAScript 2015 no Node.jsWaldyr Felix
 
Performance do ASP.NET Core, um comparativo com Node.js
Performance do ASP.NET Core, um comparativo com Node.jsPerformance do ASP.NET Core, um comparativo com Node.js
Performance do ASP.NET Core, um comparativo com Node.jsWaldyr Felix
 

Andere mochten auch (7)

Introdução ao Titanium Mobile
Introdução ao Titanium MobileIntrodução ao Titanium Mobile
Introdução ao Titanium Mobile
 
A nova geração da arquitetura web para a era da nuvem
A nova geração da arquitetura web para a era da nuvemA nova geração da arquitetura web para a era da nuvem
A nova geração da arquitetura web para a era da nuvem
 
Usando PushWoosh com Ionic Framework
Usando PushWoosh com Ionic FrameworkUsando PushWoosh com Ionic Framework
Usando PushWoosh com Ionic Framework
 
Porque você deveria usar IONIC
Porque você deveria usar IONICPorque você deveria usar IONIC
Porque você deveria usar IONIC
 
Front end architecture
Front end architectureFront end architecture
Front end architecture
 
ECMAScript 6 / ECMAScript 2015 no Node.js
ECMAScript 6 / ECMAScript 2015 no Node.jsECMAScript 6 / ECMAScript 2015 no Node.js
ECMAScript 6 / ECMAScript 2015 no Node.js
 
Performance do ASP.NET Core, um comparativo com Node.js
Performance do ASP.NET Core, um comparativo com Node.jsPerformance do ASP.NET Core, um comparativo com Node.js
Performance do ASP.NET Core, um comparativo com Node.js
 

Ähnlich wie PhoneGap - Desenvolvimento mobile multiplataforma - SECCOMP 2014

Aplicativos para dispositivos móveis
Aplicativos para dispositivos móveisAplicativos para dispositivos móveis
Aplicativos para dispositivos móveisYgor Castro
 
Mobile Marketing - Agência Mateada
Mobile Marketing - Agência MateadaMobile Marketing - Agência Mateada
Mobile Marketing - Agência MateadaMateada
 
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: 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, ...Pedro Edson Silva Barros
 
Apresentação de minha Monografia do curso de Sistema e Mídias Digitais
Apresentação de minha Monografia do curso de Sistema e Mídias DigitaisApresentação de minha Monografia do curso de Sistema e Mídias Digitais
Apresentação de minha Monografia do curso de Sistema e Mídias DigitaisÉdipo Souza
 
Hangout Tempo Real Eventos - Android - Os primeiros passos do desenvolviment...
Hangout  Tempo Real Eventos - Android - Os primeiros passos do desenvolviment...Hangout  Tempo Real Eventos - Android - Os primeiros passos do desenvolviment...
Hangout Tempo Real Eventos - Android - Os primeiros passos do desenvolviment...Jackson F. de A. Mafra
 
Introdução ao Desenvolvimento Móvel
Introdução ao Desenvolvimento MóvelIntrodução ao Desenvolvimento Móvel
Introdução ao Desenvolvimento MóvelIury Lira
 
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 2Carlos Eugenio Torres
 
Sencha Touch, RhoMobile, AppMobi e jQuery Mobile um comparativo entre platafo...
Sencha Touch, RhoMobile, AppMobi e jQuery Mobile um comparativo entre platafo...Sencha Touch, RhoMobile, AppMobi e jQuery Mobile um comparativo entre platafo...
Sencha Touch, RhoMobile, AppMobi e jQuery Mobile um comparativo entre platafo...Leonardo Melo Santos
 
Aula 01 - Apresentaçã e Conceitos.pptx
Aula 01 - Apresentaçã e Conceitos.pptxAula 01 - Apresentaçã e Conceitos.pptx
Aula 01 - Apresentaçã e Conceitos.pptxRoberto Aragy
 
Palestra sobre android
Palestra sobre androidPalestra sobre android
Palestra sobre androidReuel Lopes
 
Desenvolvendo aplicações móveis
Desenvolvendo aplicações móveisDesenvolvendo aplicações móveis
Desenvolvendo aplicações móveiscedulio
 

Ähnlich wie PhoneGap - Desenvolvimento mobile multiplataforma - SECCOMP 2014 (20)

Aplicativos para dispositivos móveis
Aplicativos para dispositivos móveisAplicativos para dispositivos móveis
Aplicativos para dispositivos móveis
 
Web Mobile
Web MobileWeb Mobile
Web Mobile
 
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
 
Mobile
MobileMobile
Mobile
 
Mobile Marketing - Agência Mateada
Mobile Marketing - Agência MateadaMobile Marketing - Agência Mateada
Mobile Marketing - Agência Mateada
 
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: 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, ...
 
Apresentação de minha Monografia do curso de Sistema e Mídias Digitais
Apresentação de minha Monografia do curso de Sistema e Mídias DigitaisApresentação de minha Monografia do curso de Sistema e Mídias Digitais
Apresentação de minha Monografia do curso de Sistema e Mídias Digitais
 
Apps Hibridos
Apps HibridosApps Hibridos
Apps Hibridos
 
Hangout Tempo Real Eventos - Android - Os primeiros passos do desenvolviment...
Hangout  Tempo Real Eventos - Android - Os primeiros passos do desenvolviment...Hangout  Tempo Real Eventos - Android - Os primeiros passos do desenvolviment...
Hangout Tempo Real Eventos - Android - Os primeiros passos do desenvolviment...
 
Introdução ao Desenvolvimento Móvel
Introdução ao Desenvolvimento MóvelIntrodução ao Desenvolvimento Móvel
Introdução ao Desenvolvimento Móvel
 
Restaurante
RestauranteRestaurante
Restaurante
 
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
 
Os caminhos para o desenvolvimento mobile
Os caminhos para o desenvolvimento mobileOs caminhos para o desenvolvimento mobile
Os caminhos para o desenvolvimento mobile
 
Sencha Touch, RhoMobile, AppMobi e jQuery Mobile um comparativo entre platafo...
Sencha Touch, RhoMobile, AppMobi e jQuery Mobile um comparativo entre platafo...Sencha Touch, RhoMobile, AppMobi e jQuery Mobile um comparativo entre platafo...
Sencha Touch, RhoMobile, AppMobi e jQuery Mobile um comparativo entre platafo...
 
Aula 01 - Apresentaçã e Conceitos.pptx
Aula 01 - Apresentaçã e Conceitos.pptxAula 01 - Apresentaçã e Conceitos.pptx
Aula 01 - Apresentaçã e Conceitos.pptx
 
PhoneGap
PhoneGapPhoneGap
PhoneGap
 
Palestra sobre android
Palestra sobre androidPalestra sobre android
Palestra sobre android
 
Desenvolvendo aplicações móveis
Desenvolvendo aplicações móveisDesenvolvendo aplicações móveis
Desenvolvendo aplicações móveis
 

PhoneGap - Desenvolvimento mobile multiplataforma - SECCOMP 2014

  • 2. Fernando del Rio, 22 anos Computação, Unesp RC http://br.linkedin.com/in/fernandohenriquedelrio https://www.facebook.com/fernandomdr http://pt.stackoverflow.com/users/1419/fernandodelrio https://github.com/fernandodelrio
  • 3. Desenvolvimento Mobile A mobilidade ganhou força nos últimos anos e o conceito de aplicação mobile mudou. Antes aplicações mobile eram aplicações de propósito muito específico e muita coisa que se tinha para desktop e web jamais fariam sentido em um celular.
  • 4. Desenvolvimento Mobile Hoje em dia isso tem mudado. Um usuário quer que sua aplicação funcione independente do dispositivo que ele esteja usando. E atualmente com a capacidade de processamento dos dispositivos e a alta disponibilidade da internet, as maiores preocupações das aplicações mobile são de usabilidade:
  • 5. Desenvolvimento Mobile •Tela menor •Diferentes tamanhos de tela •Navegação utilizando a touch screen Uma aplicação mobile deve propiciar a melhor experiência de usuário possível. É muito importante que o conteúdo da aplicação possa ser visualizado de forma fácil, independente do tamanho da tela e da orientação do dispositivo.
  • 6. Desenvolvimento Mobile Quando deve-se considerar um smartphone e um tablet essas diferenças se tornam ainda maiores. Além do conteúdo se adaptar à tela do dispositivo, pode ser necessário alterar a forma de navegação na aplicação.
  • 9. Plataformas Muitas plataformas disponíveis: •Arquiteturas diferentes •Sistemas Operacionais diferentes •Linguagens de programação diferentes •Ambientes de desenvolvimento diferentes
  • 10. Plataformas Desenvolver uma aplicação para várias plataformas: •Maior complexidade de desenvolvimento e manutenção da aplicação •Maior custo (tempo e dinheiro)
  • 14. Multiplataforma Uma forma de solucionar esse problema é buscando uma alternativa multiplataforma. Existem várias opções no mercado. Uma ideia é tentar converter todo o código gerado na linguagem nativa de uma plataforma, para o correspondente nas outras plataformas. Muitas vezes isso é complicado, devido às diferenças de arquiteturas entre elas.
  • 15. Multiplataforma Por sorte na maioria dos dispositivos já existe algo multiplataforma: Aplicações Web Desenvolvedores Web sempre tiveram que se preocupar com uma aplicação sendo exibida em diferentes navegadores e diferentes sistemas operacionais.
  • 16. Multiplataforma Hoje em dia a Web vem caminhado para uma padronização, o que torna mais fácil para uma aplicação Web funcionar de maneira uniforme em diferentes plataformas, incluindo em dispositivos mobile.
  • 17. App Nativo •Acesso completo aos recursos do dispositivo •Maior desempenho •Loja •Dificuldade para desenvolver para várias plataformas. •Mais caro
  • 18. Web App •Mais barato •Multiplataforma •Limitado ao que uma aplicação web pode fazer (não possui acesso à todas as funcionalidades do dispositivo) •Não tem loja
  • 19. Multiplataforma Seria possível unir o melhor das aplicações nativas, com a característica multiplataforma das aplicações Web?
  • 20. Multiplataforma Resposta: SIM E uma das alternativas é o
  • 21. Multiplataforma PhoneGap é um framework da Adobe baseado no projeto open source Apache Cordova que permite criar apps nativos pra diversos dispositivos utilizando uma base de código única com tecnologias web: HTML, CSS, Javascript. O framework também serve de interface entre a Web e o Nativo, permitindo que qualquer recurso do dispositivo possa ser acessado pela aplicação.
  • 23.
  • 24. PhoneGap Build Além disso o PhoneGap disponibiliza um serviço na nuvem que permite o compilar o código da aplicação para qualquer plataforma disponível.
  • 26. PhoneGap na vida real Claro, nem tudo são flores. Em muitas situações uma aplicação PhoneGap tradicional (Uma Single View Application) pode ter um desempenho inaceitável, geralmente quando é necessário dar suporte a versões antigas de S.O., como Android 2.3, por exemplo. O gargalo normalmente aparece, quando é necessário fazer transições de tela, que podem ficar muito lentas, considerando que antigamente a WebView não possuía aceleração de hardware.
  • 27. PhoneGap na vida real Nesse caso talvez seja interessante desenvolver parte da aplicação de forma híbrida e parte da aplicação (transições de tela) de forma nativa, para ganhar desempenho. Obviamente, isso diminui os benefícios de uma aplicação multiplataforma. Mas ainda sim é vantajoso se a maior parte das regras de negócio estiverem de forma híbrida.
  • 28. PhoneGap na vida real Outro uso interessante do PhoneGap é a utilização como componente. Imagine a situação de uma aplicação desenvolvida de forma nativa para várias plataformas e um determinado componente precisa ser adicionado nessa aplicação. Dependendo da complexidade do componente vai ser muito trabalhoso implementá-lo em todas as plataformas.
  • 29. PhoneGap na vida real Para solucionar esse problema a Cordova Web View do PhoneGap pode ser facilmente adicionada na aplicação como um componente, tornando essa nova funcionalidade da aplicação, multiplataforma. Nesse contexto, não só a Web View tem acesso aos recursos do nativo, como o nativo também consegue acessar as informações da Web View.
  • 30. PhoneGap •Instalação •Criando um projeto •Compilando •Debugando •Music App Mas vamos ver isso na prática :)