Aplicações mobile híbridas com Cordova e PhoneGap
Sérgio LopesAplicações mobile com Cordova e PhoneGap
Ao pensar em construir aplicativos mobile, é importante pensar em quais plataformas atacar. Android domina o mundo dos smartphones no mundo e, principalmente, no Brasil. iOS é bastante usado, ainda mais nas classes sociais mais altas, o que rende usuários de maior poder aquisitivo. Windows Phone é uma boa terceira opção, em franco crescimento. E há ainda BlackBerry, Tizen e outros.
Como desenvolver aplicativos para esse mundo mobile diverso?
As plataformas nativamente oferecem a possibilidade de criar aplicativos. Usando o Android SDK e a linguagem Java, podemos desenvolver para o sistema do Google. A Apple oferece ferramentas para iOS e permite usar Objective-C ou Swift. No Windows Phone, usamos C# e toda suíte de desenvolvimento Microsoft. Cada plataforma tem sua combinação de linguagem e, principalmente, APIs específicas.
A maior parte das plataformas permite usar C++, essencialmente pensando em jogos. Porém, as APIs e as bibliotecas, mudam bastante. Mesmo usando uma linguagem comum, é muito difícil escrever aplicações nativas multiplataforma.
É um problema que não existe na Web. Uma página web bem construída, usando os padrões, é multiplataforma e suporta todos esses cenários com um só código. HTML, CSS e JavaScript são linguagens padronizadas com APIs padronizadas que funcionam em todo lugar. Mas, não são uma App. Não são instaláveis, não se integram aos recursos avançados de hardware, não expõe recursos dos SDKs nativos. Muitas vezes, é o suficiente, mas e se precisamos de uma App?
Aplicações híbridas
A solução mais comum atualmente para construção de aplicativos multiplataforma é o Cordova, que é basicamente uma mistura. Ele usa o ponto forte da Web de ter linguagens padronizadas e um ambiente de execução, o navegador, para construir aplicativos. São Apps instaláveis que você pode publicar nas lojas, e pode usar recursos nativos da plataforma, mas são escritas em HTML, CSS e JavaScript.
Chamamos de aplicações híbridas porque usam as linguagens da Web para construir aplicativos.
Só escrever HTML, CSS e JS não é suficiente para ter um aplicativo no fim. Então, o que o Cordova faz é prover uma casca nativa para o nosso aplicativo responsável por subir um browser que fará a execução do nosso código. O papel do Cordova é apenas criar essa janela de navegador para nós, e fazer a comunicação das nossas chamadas de código para chamadas nativas quando necessário.
Essa janela de navegador nativo que vai rodar nosso HTML é comumente chamada de WebView. Se você programar em Java no Android ou Objective-C no iOS, vai ver que é relativamente simples criar esse WebView para executar um código HTML. O chato, claro, é fazer isso para diversas plataformas e cuidar das diferenças entre elas.
É aí que entra o Cordova e por isso ele é tão útil. Ele faz todo esse trabalho nativo em diversas plataformas para criar uma WebView e chamar nosso HTML. No fim, ele empacota tudo em um aplicativo - tanto a parte nativa de chamar o WebView quanto todo o nosso código HTML, CSS e JS multiplataforma. O resultado final é um aplicativo específico para cada plataforma que você pode instalar e oferecer nas lojas oficiais.
Sumário
- 1 Aplicações mobile com Cordova e PhoneGap
- 1.1 Aplicações híbridas
- 1.2 O Cordova e o PhoneGap
- 1.3 Cordova não é Web
- 1.4 App ou Web
- 1.5 Quando nativo, quando híbrido?
- 1.6 A morte do Cordova
- 1.7 O livro e o projeto
- 2 A primeira versão da App
- 2.1 O projeto CenourApp
- 2.2 A primeira funcionalidade
- 2.3 Uma App híbrida é uma página HTML
- 2.4 Efeitos no HTML com CSS
- 3 Adobe PhoneGap Build
- 3.1 A diferença entre Cordova e PhoneGap
- 3.2 O que é o PhoneGap Build
- 3.3 Usando PhoneGap Build
- 3.4 Uma App Android pronta para rodar
- 3.5 Configurações do PhoneGap Build
- 3.6 Ícone e Splash screen
- 3.7 Rodando em modo fixo no Android
- 3.8 Indo além com PhoneGap Build
- 4 PhoneGap App
- 4.1 PhoneGap Desktop App
- 4.2 Um projeto PhoneGap
- 4.3 PhoneGap Developer App
- 5 Um ambiente real para trabalhar com Apps híbridas
- 5.1 Por que usar só o PhoneGap não vai te levar muito longe
- 5.2 Um ambiente local parrudo
- 5.3 Sou usuário de Windows, não tenho um Mac!
- 5.4 Sou usuário de Mac, não tenho um PC!
- 5.5 Sou usuário Linux, o que faço?
- 6 Preparando Cordova e Android
- 6.1 Node.js
- 6.2 Cordova
- 6.3 Java SDK
- 6.4 Android SDK
- 6.5 Genymotion
- 7 Começando uma App no Android
- 7.1 Preparação do ambiente Cordova e Android
- 7.2 Usando Cordova pela primeira vez
- 7.3 Plataformas
- 7.4 Rodando no Android
- 7.5 Executando no aparelho Android
- 7.6 Gerando um apk para distribuição
- 8 Material Design
- 8.1 O design do Google
- 8.2 A Garçonapp
- 8.3 O Materialize
- 8.4 Itens em abas
- 8.5 Efeitos de ondas do Material Design
- 8.6 Customização do visual do Materialize
- 8.7 Topo com título e ícones
- 9 Componentes ricos na App
- 9.1 Anotando o pedido
- 9.2 Floating Action Button
- 9.3 Modal
- 9.4 Mais ajustes
- 9.5 Testando no Android
- 9.6 E o iOS?
- 10 Preparando o ambiente para iOS
- 10.1 Xcode
- 10.2 ios-sim e ios-deploy
- 10.3 Adicionando cordova-ios
- 10.4 Testando em um dispositivo iOS
- 10.5 Em outros projetos
- 10.6 E para distribuir a App?
- 11 Suporte ao Windows Phone e Windows Platform
- 11.1 Preparando o Ambiente para Windows Phone
- 11.2 Visual Studio e Emuladores
- 11.3 Plataforma Windows no Cordova
- 11.4 Rodando pelo Visual Studio
- 11.5 Aparelho Windows Phone
- 11.6 E para distribuir a App?
- 12 Configurações do projeto
- 12.1 Estrutura do config.xml
- 12.2 Metadados do projeto
- 12.3 Preferências
- 12.4 Preferências por plataforma
- 12.5 Preferências específicas de plataforma
- 12.6 Ícone e splash screen
- 12.7 Automatizando geração dos ícones e splash screens
- 12.8 Engines
- 13 Plugins no Cordova
- 13.1 Mais poder com Cordova
- 13.2 PhoneGap Barcode Scanner
- 13.3 Lendo códigos de barras
- 13.4 Integrando na App
- 13.5 Uma boa status bar
- 13.6 Configurando a status bar
- 14 Serviços remotos
- 14.1 A API da Cozinhapp
- 14.2 Ajax na App
- 14.3 CORS e Same Origin Policy
- 14.4 Plugin Cordova Whitelist
- 14.5 Intents e navegações
- 15 Arquitetura do Cordova
- 15.1 O que são as WebViews
- 15.2 Uma App Cordova
- 15.3 WebView com poderes
- 15.4 Estrutura de um projeto Cordova
- 15.5 Cordova não é Web
- 15.6 Cara de App, jeito de App
- 15.7 Boa performance é essencial
- 15.8 Recursos interessantes da API do Cordova
- 16 Introdução ao Ionic
- 16.1 Sobre o Ionic
- 16.2 Novo projeto
- 16.3 Arquitetura da App
- 16.4 Lista de bolos
- 16.5 Dados dinâmicos
- 16.6 Serviço REST
- 16.7 Teste no device ou emulador
- 16.8 Testando com Ionic View
- 17 Single Page App com Ionic
- 17.1 Detalhes do produto
- 17.2 Finalizando o pedido
- 17.3 Interface melhor com novos componentes
- 17.4 Configurações do Cordova
- 18 Cache e offline
- 18.1 Estratégias para dados offline
- 18.2 Salvando dados no dispositivo
- 18.3 Solução Offline-first
- 18.4 Outras implementações de offline
- 18.5 Indo além no offline
- 19 Testes, debug e compatibilidade
- 19.1 Tipos de WebView
- 19.2 Usando Crosswalk no Android
- 19.3 Usando WKWebView no iOS 9
- 19.4 Debug no Android
- 19.5 Debug no iOS
- 20 Publicação nas lojas
- 20.1 Publicação da Play Store
- 20.2 Publicação na Apple Store
- 21 Indo além
Dados do produto
- Número de páginas:
- 202
- ISBN:
- 978-85-5519-156-5
- Data publicação:
- 02/2016