SlideShare uma empresa Scribd logo
Aplicações Híbridas para 
Dispositivos Móveis com 
AngularJS e PhoneGap. 
Thiago Colares Chaves 
@thicolares 
www.agilize.com.br 
Creative Commons License 
Biolab by Adobe / Yohei Shimomae is licensed under a Creative Commons Attribution-NonCommercial 3.0 Unported License. 
03/12/2014
Agenda 
● Motivação 
● O que é AngularJS? 
● O que é PhoneGap? 
● Criando um app com PhoneGap: visão geral 
● Considerações
Motivação
“Desenvolver aplicativo 
móvel: nativo ou não?“ 
Quem nunca?
Depende, óbvio.
Aplicação Nativa 
Prós 
● Acesso completo às 
funcionalidades do 
dispositivo; 
● Ótima Performance; 
● Elementos de interface; 
● Pacote pra Loja de apps. 
Contras 
● Desenvolvimento caro; 
● Não é multi-plataforma.
Aplicação Web 
Prós 
● Desenvolvimento barato; 
● Multi-plataforma; 
● Peformance mediana. 
Contras 
● Acesso reduzido à 
funcionalidades do 
dispositivo; 
● Não empacota pra loja.
Aplicação Híbrida 
Prós 
● Bom acesso às 
funcionalidades do 
dispositivo 
● Boa performance; 
● Desenvolvimento barato; 
● Multi-plataforma; 
● Empacota pra loja. 
Contras 
● Sem UI nativa 
http://martinfowler.com/articles/multiMobile/#web-platform
Facebook versus Sencha 
http://www.sencha.com/blog/the-making-of-fastbook-an-html5-love-story
O que é AngularJS?
AngularJS é um 
HTML aprimorado para 
aplicativos web!
Framework JavaScript client-side 
que extende o HTML. 
<ul class="messages"> 
<li ng­repeat=" 
entry in log">{{ entry.msg }}</li> 
</ul>
Criado em 2009 por 
Miško Hevery e Adam Abrons 
(funcionários do Google)
Código livre, mantido pelo 
Google e por uma comunidade 
vibrante.
AngularJS no Open HUB (antigo Ohloh): https://www.openhub.net/p/angularjs. Acessado em 29/11/2014
AngularJS no Open HUB (antigo Ohloh): https://www.openhub.net/p/angularjs. Acessado em 29/11/2014
Facilita a criação de 
Single Page Applications
Programação Declarativa 
● Imperativa nas regras de negócio 
$http( '/myEndpoint.json' ).then( function (response) { 
$scope.log.push( { msg: 'Data Received!' } ); 
}); 
● Declarativa e muito expressiva na view 
<ul class="messages"> 
<li ng­repeat=" 
entry in log">{{ entry.msg }}</li> 
</ul>
Flexibiliza e separa bem 
Apresentação (view e controller) 
do Domínio (model)
Principais recursos:
Routes
Data binding
Data binding 
<div> 
<label>Name:</label> 
<input type="text" ng­model=" 
yourName" 
placeholder="Enter a name here"> 
<hr> 
<h1>Hello {{yourName}}!</h1> 
</div>
Data binding 
<div> 
<label>Name:</label> 
<input type="text" ng­model=" 
yourName" 
placeholder="Enter a name here"> 
<hr> 
<h1>Hello {{yourName}}!</h1> 
</div>
Models
Templates / Views 
<div> 
<label>Name:</label> 
<input type="text" ng­model=" 
yourName" 
placeholder="Enter a name here"> 
<hr> 
<h1>Hello {{yourName}}!</h1> 
</div>
Data access
O que é PhoneGap?
PhoneGap é um framework que 
lhe permite criar mobile apps 
usando HTML, CSS e JS.
Contextualizando 
● 2008: PhoneGap nasceu na Niboti Software 
● 2011: Niboti já colaborava com a ASF (Apache) 
● 2011: Adobe adquire a Niboti 
● Adobe / Niboti doam o código do PhoneGap para a ASF 
● Lá vira Apache Callback, então Apache Cordova
PhoneGap x Apache Cordova 
● PhoneGap é uma distribuição do Apache Cordova 
● Ou: Apache Cordova é a engine do PhoneGap 
● Apache Cordova e PhoneGap são FLOSS 
● PhoneGap incorpora funcionalidades da Adobe 
● Ex.: PhoneGap Build, Adobe Shadow 
FLOSS: Free/Libre and Open Source Software
O que o PhoneGap oferece 
● Empacota seu HTML, CSS e JS em uma app nativa 
● Cria uma ponte pra seu JS acessar funções nativas 
● Alguns plugins: acelerômetro, câmera, contatos, sistema 
de arquivos, tocador de mídia e gravação, rede, 
geolocalização, notificação e outros*. 
● Você pode criar ou instalar novos plugins. 
*http://phonegap.com/about/feature/
PhoneGap não provê 
assistência para criar a 
interface com o usuário 
propriamente dita.
Auxílio na criação da interface com usuário 
● jQuery Mobile 
● Ionic 
● Mobile AngularJS UI 
● Sencha Touch 
● Kendo UI Complete 
● AppGyver’s Steroids 
● Enyo 
● TopCoat 
*http://phonegap.com/about/feature/
Criando uma app com 
PhoneGap: uma visão geral. 
D.I.Y.: http://mobileangularui.com/blog/your-first-phonegap-app-with-mobile-angular-ui/
Dependências (e alguns auxílios)
Passos para o “Hello World” 
$ phonegap create meuAplicativo 
$ cd meuAplicativo 
$ yo mobileangularui 
$ gulp build 
# você terá que instalar a Android SDK 
$ cordova platform add android 
$ phonegap run android # ou ios, blackberry etc.
Considerações finais
PhoneGap Build 
Creative Commons License 
Biolab by Adobe / Yohei Shimomae is licensed under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
Cuidados com a experiência do usuário 
● Imitar look-n-feel nativo pode ser uma cilada, Bino! 
– O look é mais fácil, já o feel... 
● Se seu aplicativo depende de uma UI baseada em 
elementos nativos, PhoneGap pode não ser a sua;
Finalmente 
● As capacidades do HTML5 ainda podem diferenciar 
entre uma SDK e outra. 
– Alguns frameworks levam isto em consideração (e.g.: 
Sencha). 
– Na dúvida: http://mobilehtml5.org/ ou http://caniuse.com/ 
● HTML5 recebeu o rótulo de “Recomendação” da W3C em 
Outubro de 2014. Experimente! 
W3C: http://www.w3.org/blog/news/archives/4167 
WhatWG: https://html.spec.whatwg.org/multipage/
Obrigado! 
Thiago Colares Chaves 
@thicolares 
www.agilize.com.br

Mais conteúdo relacionado

PPTX
Desenvolvendo APPs Com Angular.JS + Cordova
PDF
Phonegap
PPTX
Abra sua cabeça, apps híbridos - PhoneGap/Cordova
PDF
Desenvolvendo para Android com PhoneGap
PDF
PhoneGap - criando aplicações Android e iOS com HTML5
PDF
PhoneGap - Criando aplicações Android e iOS com HTML5
PPTX
Desenvolvimento de aplicativos Mobile com HTML5 e Javascript com Phonegap (Te...
PDF
Conhecendo o PhoneGap
Desenvolvendo APPs Com Angular.JS + Cordova
Phonegap
Abra sua cabeça, apps híbridos - PhoneGap/Cordova
Desenvolvendo para Android com PhoneGap
PhoneGap - criando aplicações Android e iOS com HTML5
PhoneGap - Criando aplicações Android e iOS com HTML5
Desenvolvimento de aplicativos Mobile com HTML5 e Javascript com Phonegap (Te...
Conhecendo o PhoneGap

Mais procurados (20)

PPTX
Curso de Desenvolvimento de Aplicativos Híbridos com PhoneGap/Cordova, e Ionic
PDF
PhoneGap - Desenvolvimento mobile multiplataforma - SECCOMP 2014
PPTX
Phonegap, muito além dos nativos!
PPTX
Introdução ao desenvolvimento de aplicativos com PhoneGap e Sencha Touch
PPTX
Workshop - Ionic + firebase
PDF
Introdução ao PhoneGap e Sencha Touch
PDF
SESTINFO 2011 Apresentacao Android
PDF
Minicurso de Desenvolvimento Híbrido utilizando Ionic Framework
PPTX
Curso: Desenvolvimento de aplicativos híbridos (dia 1)
PPTX
instalação do phonegap(cordova) no windows 8.1
PDF
[Curso Phonegap / Cordova] Aula 01: Introdução ao Phonegap
PPTX
Phonegap autorefresh - app direto no celular sem emulador
PPTX
Curso: Desenvolvimento de aplicativos híbridos (dia 2)
PPTX
Descomplicando o Mobile com Ionic Framework
PDF
Firefox OS
PDF
Mini curso - Ionic Framework
PPTX
Ionic + Cordova para Desenvolvimento Mobile
PDF
Ionic 2 como ferramenta para desenvolvimento móvel
PDF
Hybrid app phonegap angular ionic
PPTX
Progressive Web Apps e o futuro do desenvolvimento Web na Plataforma .NET
Curso de Desenvolvimento de Aplicativos Híbridos com PhoneGap/Cordova, e Ionic
PhoneGap - Desenvolvimento mobile multiplataforma - SECCOMP 2014
Phonegap, muito além dos nativos!
Introdução ao desenvolvimento de aplicativos com PhoneGap e Sencha Touch
Workshop - Ionic + firebase
Introdução ao PhoneGap e Sencha Touch
SESTINFO 2011 Apresentacao Android
Minicurso de Desenvolvimento Híbrido utilizando Ionic Framework
Curso: Desenvolvimento de aplicativos híbridos (dia 1)
instalação do phonegap(cordova) no windows 8.1
[Curso Phonegap / Cordova] Aula 01: Introdução ao Phonegap
Phonegap autorefresh - app direto no celular sem emulador
Curso: Desenvolvimento de aplicativos híbridos (dia 2)
Descomplicando o Mobile com Ionic Framework
Firefox OS
Mini curso - Ionic Framework
Ionic + Cordova para Desenvolvimento Mobile
Ionic 2 como ferramenta para desenvolvimento móvel
Hybrid app phonegap angular ionic
Progressive Web Apps e o futuro do desenvolvimento Web na Plataforma .NET
Anúncio

Destaque (20)

PDF
Preservativo unique final
PPTX
Mobile first - Como pensar mobile
PPTX
Introdução ao desenvolvimento de apps com Phonegap
PPTX
Empreendedorismo no mercado mobile
PDF
Minicurso Intel XDK
PDF
ePub3 e Html5
PPSX
Introdução á linguagem Ruby com aplicativo em Rails
PPT
Ruby, Simples e Expressivo
PPTX
la 02Aula02 introdução phone_gap
PDF
Nadando em Dinheiro com jQuery
PDF
Sencha Touch, RhoMobile, AppMobi e jQuery Mobile um comparativo entre platafo...
PDF
Jquery Mobile
PDF
Curso Básico de AngularJS
PPTX
MiniCurso Jquery - IV SimSis
PDF
Curso de OO com C# - Parte 01 - Orientação a objetos
PPTX
Minicurso - Desenvolvendo aplicações web com JavaScript e AngularJS - Estácio...
PDF
TDC 2014 - Arquitetura front-end com AngularJS
PDF
JavaScript Robotics: o que acontece quando o hardware se encontra com o JavaS...
DOC
Especificação de requisitos
PDF
JavaScript Robotics: Nodebots, JavaScript Além das telas
Preservativo unique final
Mobile first - Como pensar mobile
Introdução ao desenvolvimento de apps com Phonegap
Empreendedorismo no mercado mobile
Minicurso Intel XDK
ePub3 e Html5
Introdução á linguagem Ruby com aplicativo em Rails
Ruby, Simples e Expressivo
la 02Aula02 introdução phone_gap
Nadando em Dinheiro com jQuery
Sencha Touch, RhoMobile, AppMobi e jQuery Mobile um comparativo entre platafo...
Jquery Mobile
Curso Básico de AngularJS
MiniCurso Jquery - IV SimSis
Curso de OO com C# - Parte 01 - Orientação a objetos
Minicurso - Desenvolvendo aplicações web com JavaScript e AngularJS - Estácio...
TDC 2014 - Arquitetura front-end com AngularJS
JavaScript Robotics: o que acontece quando o hardware se encontra com o JavaS...
Especificação de requisitos
JavaScript Robotics: Nodebots, JavaScript Além das telas
Anúncio

Semelhante a Aplicações Híbridas para Dispositivos Móveis com AngularJS e PhoneGap (20)

PPTX
Phonegap - self RJ
PPTX
PDF
Imersão hybrid apps
PDF
Codifique uma vez, distribua em Android, iOS e Windows Phone
PDF
Congresso TI 2015: Introducao ao Phonegap (Cordova)
PPTX
Palestra GU Mobile (Ionic Framework) por Leonardo Quevedo
PPT
Aplicações Hibridas com Phonegap e HTML5
PDF
Mobile Dev - Aplicativos
PPTX
PDF
Mini curso: Ionic Framework
PDF
Palestra sobre desenvolvimento de aplicativos híbridos (SEMAC 2016)
PDF
MobileConf 2013: PhoneGap
PDF
Iniciando com desenvolvimento híbrido de aplicações mobile com HTML5
PDF
Phonegap
PPTX
Desmistificando o mobile híbrido com phonegap
PPTX
Introdução ao PhoneGap
PPTX
Introdução ao PhoneGap
PPTX
Adobe Phonegap
PDF
QConSP 2012: Sencha Touch 2: Mobile Multiplataforma
PPTX
PDC - Engenharia - Phonegap
Phonegap - self RJ
Imersão hybrid apps
Codifique uma vez, distribua em Android, iOS e Windows Phone
Congresso TI 2015: Introducao ao Phonegap (Cordova)
Palestra GU Mobile (Ionic Framework) por Leonardo Quevedo
Aplicações Hibridas com Phonegap e HTML5
Mobile Dev - Aplicativos
Mini curso: Ionic Framework
Palestra sobre desenvolvimento de aplicativos híbridos (SEMAC 2016)
MobileConf 2013: PhoneGap
Iniciando com desenvolvimento híbrido de aplicações mobile com HTML5
Phonegap
Desmistificando o mobile híbrido com phonegap
Introdução ao PhoneGap
Introdução ao PhoneGap
Adobe Phonegap
QConSP 2012: Sencha Touch 2: Mobile Multiplataforma
PDC - Engenharia - Phonegap

Mais de Thiago Colares (16)

PDF
O básico que ainda deveríamos entender sobre Unicode e encondings
PDF
The Pragmatic Agilist: estimating, improving quality, and communication with...
PDF
Getting started with GraphQL
PDF
The Pragmatic Agilist
PDF
Domain-Driven Design com PHP
PDF
Mobile Usability
PDF
eBook: Como abrir uma empresa em Salvador, Bahia?
PDF
Processos de Negócio e Colaboração
PDF
Como NÃO transformar sua startup em uma tragédia
PDF
Aplicação da Teoria dos Grafos e Algoritmos na Engenharia de Software: Hyperl...
PDF
Colaboração em Projetos FLOSS: CakePHP
PDF
Usability (and some thoughts on mobile)
PPT
API Evolution and Usability
PPTX
Apresentação sobre Árvores B
PPTX
O não e o empreendedor
PPT
Startups como meio de inovação
O básico que ainda deveríamos entender sobre Unicode e encondings
The Pragmatic Agilist: estimating, improving quality, and communication with...
Getting started with GraphQL
The Pragmatic Agilist
Domain-Driven Design com PHP
Mobile Usability
eBook: Como abrir uma empresa em Salvador, Bahia?
Processos de Negócio e Colaboração
Como NÃO transformar sua startup em uma tragédia
Aplicação da Teoria dos Grafos e Algoritmos na Engenharia de Software: Hyperl...
Colaboração em Projetos FLOSS: CakePHP
Usability (and some thoughts on mobile)
API Evolution and Usability
Apresentação sobre Árvores B
O não e o empreendedor
Startups como meio de inovação

Aplicações Híbridas para Dispositivos Móveis com AngularJS e PhoneGap

  • 1. Aplicações Híbridas para Dispositivos Móveis com AngularJS e PhoneGap. Thiago Colares Chaves @thicolares www.agilize.com.br Creative Commons License Biolab by Adobe / Yohei Shimomae is licensed under a Creative Commons Attribution-NonCommercial 3.0 Unported License. 03/12/2014
  • 2. Agenda ● Motivação ● O que é AngularJS? ● O que é PhoneGap? ● Criando um app com PhoneGap: visão geral ● Considerações
  • 4. “Desenvolver aplicativo móvel: nativo ou não?“ Quem nunca?
  • 6. Aplicação Nativa Prós ● Acesso completo às funcionalidades do dispositivo; ● Ótima Performance; ● Elementos de interface; ● Pacote pra Loja de apps. Contras ● Desenvolvimento caro; ● Não é multi-plataforma.
  • 7. Aplicação Web Prós ● Desenvolvimento barato; ● Multi-plataforma; ● Peformance mediana. Contras ● Acesso reduzido à funcionalidades do dispositivo; ● Não empacota pra loja.
  • 8. Aplicação Híbrida Prós ● Bom acesso às funcionalidades do dispositivo ● Boa performance; ● Desenvolvimento barato; ● Multi-plataforma; ● Empacota pra loja. Contras ● Sem UI nativa http://martinfowler.com/articles/multiMobile/#web-platform
  • 9. Facebook versus Sencha http://www.sencha.com/blog/the-making-of-fastbook-an-html5-love-story
  • 10. O que é AngularJS?
  • 11. AngularJS é um HTML aprimorado para aplicativos web!
  • 12. Framework JavaScript client-side que extende o HTML. <ul class="messages"> <li ng­repeat=" entry in log">{{ entry.msg }}</li> </ul>
  • 13. Criado em 2009 por Miško Hevery e Adam Abrons (funcionários do Google)
  • 14. Código livre, mantido pelo Google e por uma comunidade vibrante.
  • 15. AngularJS no Open HUB (antigo Ohloh): https://www.openhub.net/p/angularjs. Acessado em 29/11/2014
  • 16. AngularJS no Open HUB (antigo Ohloh): https://www.openhub.net/p/angularjs. Acessado em 29/11/2014
  • 17. Facilita a criação de Single Page Applications
  • 18. Programação Declarativa ● Imperativa nas regras de negócio $http( '/myEndpoint.json' ).then( function (response) { $scope.log.push( { msg: 'Data Received!' } ); }); ● Declarativa e muito expressiva na view <ul class="messages"> <li ng­repeat=" entry in log">{{ entry.msg }}</li> </ul>
  • 19. Flexibiliza e separa bem Apresentação (view e controller) do Domínio (model)
  • 23. Data binding <div> <label>Name:</label> <input type="text" ng­model=" yourName" placeholder="Enter a name here"> <hr> <h1>Hello {{yourName}}!</h1> </div>
  • 24. Data binding <div> <label>Name:</label> <input type="text" ng­model=" yourName" placeholder="Enter a name here"> <hr> <h1>Hello {{yourName}}!</h1> </div>
  • 26. Templates / Views <div> <label>Name:</label> <input type="text" ng­model=" yourName" placeholder="Enter a name here"> <hr> <h1>Hello {{yourName}}!</h1> </div>
  • 28. O que é PhoneGap?
  • 29. PhoneGap é um framework que lhe permite criar mobile apps usando HTML, CSS e JS.
  • 30. Contextualizando ● 2008: PhoneGap nasceu na Niboti Software ● 2011: Niboti já colaborava com a ASF (Apache) ● 2011: Adobe adquire a Niboti ● Adobe / Niboti doam o código do PhoneGap para a ASF ● Lá vira Apache Callback, então Apache Cordova
  • 31. PhoneGap x Apache Cordova ● PhoneGap é uma distribuição do Apache Cordova ● Ou: Apache Cordova é a engine do PhoneGap ● Apache Cordova e PhoneGap são FLOSS ● PhoneGap incorpora funcionalidades da Adobe ● Ex.: PhoneGap Build, Adobe Shadow FLOSS: Free/Libre and Open Source Software
  • 32. O que o PhoneGap oferece ● Empacota seu HTML, CSS e JS em uma app nativa ● Cria uma ponte pra seu JS acessar funções nativas ● Alguns plugins: acelerômetro, câmera, contatos, sistema de arquivos, tocador de mídia e gravação, rede, geolocalização, notificação e outros*. ● Você pode criar ou instalar novos plugins. *http://phonegap.com/about/feature/
  • 33. PhoneGap não provê assistência para criar a interface com o usuário propriamente dita.
  • 34. Auxílio na criação da interface com usuário ● jQuery Mobile ● Ionic ● Mobile AngularJS UI ● Sencha Touch ● Kendo UI Complete ● AppGyver’s Steroids ● Enyo ● TopCoat *http://phonegap.com/about/feature/
  • 35. Criando uma app com PhoneGap: uma visão geral. D.I.Y.: http://mobileangularui.com/blog/your-first-phonegap-app-with-mobile-angular-ui/
  • 37. Passos para o “Hello World” $ phonegap create meuAplicativo $ cd meuAplicativo $ yo mobileangularui $ gulp build # você terá que instalar a Android SDK $ cordova platform add android $ phonegap run android # ou ios, blackberry etc.
  • 39. PhoneGap Build Creative Commons License Biolab by Adobe / Yohei Shimomae is licensed under a Creative Commons Attribution-NonCommercial 3.0 Unported License.
  • 40. Cuidados com a experiência do usuário ● Imitar look-n-feel nativo pode ser uma cilada, Bino! – O look é mais fácil, já o feel... ● Se seu aplicativo depende de uma UI baseada em elementos nativos, PhoneGap pode não ser a sua;
  • 41. Finalmente ● As capacidades do HTML5 ainda podem diferenciar entre uma SDK e outra. – Alguns frameworks levam isto em consideração (e.g.: Sencha). – Na dúvida: http://mobilehtml5.org/ ou http://caniuse.com/ ● HTML5 recebeu o rótulo de “Recomendação” da W3C em Outubro de 2014. Experimente! W3C: http://www.w3.org/blog/news/archives/4167 WhatWG: https://html.spec.whatwg.org/multipage/
  • 42. Obrigado! Thiago Colares Chaves @thicolares www.agilize.com.br