Workshop: Ionic + Cordova
PARCERIAS
ESTRATÉGIAS & RESULTADOS
Felipe de Moraes Lastowizka
SOLIDEZAnalista e Desenvolvedor na Build IT desde 2012
Microsoft MCSD Web Applications desde 2013
Programador desde 2009
Apaixonado por tecnologia e empreendedorismo
felipe.moraes@buildit.com.br
twitter.com/flastowizka
github.com/flastowizka
Agenda
o Frameworks para desenvolvimento móvel
o O que é o Apache Cordova?
o Prós e Contras
o Integração com frameworks
o Configurando o ambiente de desenvolvimento
o Ionic/Cordova CLI – Principais Comandos
o Conhecendo os diretórios e o arquivo config.xml
o Debug remoto
o Plugins
o Outros e Hands On...
Frameworks para desenvolvimento móvel
Aplicações Nativas Aplicações Híbridas
Aplicações Cross-Platform
O que é o Apache Cordova?
o Open Source
o Container de aplicações Hibridas
o API’s de comunicação com o device
o HTML, CSSe JavaScript
o Utiliza o Browser nativo do dispositivo *
Prós Contras
o Um código para todas plataformas
o Baixo custo de desenvolvimento e
manutenção
o Prototipação
o Muitos plug-ins (Android e iOS)
o Limitado ao webview (não funciona
para widgets e wearables)
o Requisitos específicos para algumas
plataformas
o Velocidade – se não bem estruturado o
aplicativo não tem uma performance
boa
Integração com frameworks
jQuery Mobile
Sencha Touch
Ratchet
Ionic
Lungo
React Native (facebook)
Ionic 2
Configurando ambiente
o Instalar NodeJS (https://nodejs.org/en/)
o Instalar SDK Android ou iOS (apenas MAC)
Ionic/Cordova CLI – Principais Comandos
tabs, sidemenu, maps, salesforce, complex-list, blank
Referência: http://ionicframework.com/docs/cli/
Arquivo Config.xml
o Nome do aplicativo
o Acesso – Limitar domínios
o Engine – Versão de Android/iOS
o Plugin
o Preference
o Platform
Alterando Icones e Splash do aplicativo
o icon.png, icon.psd ou icon.ai -> Resolução mínima 192x192px
o splash.png, splash.psd ou splash.ai -> Resolução mínima 2208x2208px
Referência: http://ionicframework.com/docs/cli/icon-splashscreen.html
Criando builds nativas e testando no dispositivo
Debug remoto de aplicações hibridas
o Debugando no browser
o Rodando o aplicativo no celular
o chrome://inspect/
Overview plugins - Cordova
Referência: http://cordova.apache.org/plugins/
http://ngcordova.com/
Overview plugins - Ionic
Referência: https://market.ionic.io/plugins
Exibindo notificações (Push Notification)
o Local Notification (https://github.com/katzer/cordova-plugin-local-notifications/wiki/03.-
Installation)
Hands On
Armazenamento de dados
o Local Storage
o WebSQL – possui limitação de tamanho por cada browser
o SQL Lite
o PouchDb – SQL Lite + CouchDB
Hands On
Acesso aos dados do dispositivo
o device.model
o device.platform
o device.uuid
o device.version
o device.manufacturer
o device.isVirtual
o device.serial
Demo
Referência: https://cordova.apache.org/docs/en/latest/reference/cordova-plugin-device/
Usando InAppBrowser
o Abrindo um browser dentro do aplicativo
Demo
Ionic Creator
o Facilidade para criar um protótipo
o Fazer download do pacote
o https://creator.ionic.io
Demo
Aplicativos que usam Ionic
o https://play.google.com/store/apps/details?id=com.ionicframework.rendafixa997647&hl
=en
o https://play.google.com/store/apps/details?id=com.addictedmoms.app&hl=pt_BR
o https://play.google.com/store/apps/details?id=sworkitapp.sworkit.com
o https://play.google.com/store/apps/details?id=com.chefsteps.mobile
Atividade
o Criar um protótipo de CRUD via Ionic Creator
o Fazer download
o Salvar dados com Local Storage
o Utilizar um plugin cordova. Ex.: tirar foto, vibrar, buscar localização atual, ver conexão
wifi, etc.

Workshop - Cordova e Ionic

  • 1.
    Workshop: Ionic +Cordova PARCERIAS ESTRATÉGIAS & RESULTADOS
  • 3.
    Felipe de MoraesLastowizka SOLIDEZAnalista e Desenvolvedor na Build IT desde 2012 Microsoft MCSD Web Applications desde 2013 Programador desde 2009 Apaixonado por tecnologia e empreendedorismo felipe.moraes@buildit.com.br twitter.com/flastowizka github.com/flastowizka
  • 4.
    Agenda o Frameworks paradesenvolvimento móvel o O que é o Apache Cordova? o Prós e Contras o Integração com frameworks o Configurando o ambiente de desenvolvimento o Ionic/Cordova CLI – Principais Comandos o Conhecendo os diretórios e o arquivo config.xml o Debug remoto o Plugins o Outros e Hands On...
  • 5.
    Frameworks para desenvolvimentomóvel Aplicações Nativas Aplicações Híbridas Aplicações Cross-Platform
  • 6.
    O que éo Apache Cordova? o Open Source o Container de aplicações Hibridas o API’s de comunicação com o device o HTML, CSSe JavaScript o Utiliza o Browser nativo do dispositivo *
  • 7.
    Prós Contras o Umcódigo para todas plataformas o Baixo custo de desenvolvimento e manutenção o Prototipação o Muitos plug-ins (Android e iOS) o Limitado ao webview (não funciona para widgets e wearables) o Requisitos específicos para algumas plataformas o Velocidade – se não bem estruturado o aplicativo não tem uma performance boa
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
    Configurando ambiente o InstalarNodeJS (https://nodejs.org/en/) o Instalar SDK Android ou iOS (apenas MAC)
  • 17.
    Ionic/Cordova CLI –Principais Comandos tabs, sidemenu, maps, salesforce, complex-list, blank Referência: http://ionicframework.com/docs/cli/
  • 18.
    Arquivo Config.xml o Nomedo aplicativo o Acesso – Limitar domínios o Engine – Versão de Android/iOS o Plugin o Preference o Platform
  • 19.
    Alterando Icones eSplash do aplicativo o icon.png, icon.psd ou icon.ai -> Resolução mínima 192x192px o splash.png, splash.psd ou splash.ai -> Resolução mínima 2208x2208px Referência: http://ionicframework.com/docs/cli/icon-splashscreen.html
  • 20.
    Criando builds nativase testando no dispositivo
  • 21.
    Debug remoto deaplicações hibridas o Debugando no browser o Rodando o aplicativo no celular o chrome://inspect/
  • 22.
    Overview plugins -Cordova Referência: http://cordova.apache.org/plugins/ http://ngcordova.com/
  • 23.
    Overview plugins -Ionic Referência: https://market.ionic.io/plugins
  • 24.
    Exibindo notificações (PushNotification) o Local Notification (https://github.com/katzer/cordova-plugin-local-notifications/wiki/03.- Installation) Hands On
  • 25.
    Armazenamento de dados oLocal Storage o WebSQL – possui limitação de tamanho por cada browser o SQL Lite o PouchDb – SQL Lite + CouchDB Hands On
  • 26.
    Acesso aos dadosdo dispositivo o device.model o device.platform o device.uuid o device.version o device.manufacturer o device.isVirtual o device.serial Demo Referência: https://cordova.apache.org/docs/en/latest/reference/cordova-plugin-device/
  • 27.
    Usando InAppBrowser o Abrindoum browser dentro do aplicativo Demo
  • 28.
    Ionic Creator o Facilidadepara criar um protótipo o Fazer download do pacote o https://creator.ionic.io Demo
  • 29.
    Aplicativos que usamIonic o https://play.google.com/store/apps/details?id=com.ionicframework.rendafixa997647&hl =en o https://play.google.com/store/apps/details?id=com.addictedmoms.app&hl=pt_BR o https://play.google.com/store/apps/details?id=sworkitapp.sworkit.com o https://play.google.com/store/apps/details?id=com.chefsteps.mobile
  • 30.
    Atividade o Criar umprotótipo de CRUD via Ionic Creator o Fazer download o Salvar dados com Local Storage o Utilizar um plugin cordova. Ex.: tirar foto, vibrar, buscar localização atual, ver conexão wifi, etc.

Notas do Editor

  • #19 Nome do aplicativo Acess Habilitar com quais dominios o meu App vai se comunicar Engine Possibilidade de configurar as versões do Android/iOS que será utilizado no app Plugin Preference Platform Referência: http://cordova.apache.org/docs/en/latest/config_ref/index.html
  • #25 cordova.plugins.notification.local.schedule({ title: tit, message: msg });
  • #26 window.localStorage.setItem( ‘awesome-key’, ‘awesome-value’ ); window.localStorage.getItem( ‘awesome-key’ ); var appData = JSON.parse( window.localStorage.getItem( ‘app-name’ ));
  • #28 http://sourcefreeze.com/cordova-inappbrowser-plugin-example-using-ionic-framework/