PhoneGap é uma distribuição comercial do Apache Cordova da Adobe que permite criar aplicações móveis com HTML, CSS e JavaScript com a capacidade de compilação na nuvem sem SDKs locais. A plataforma tornou-se o primeiro framework híbrido amplamente conhecido e desempenhou um papel fundamental na popularização do desenvolvimento multiplataforma. De acordo com Adobe PhoneGap, 2024, durante a existência da plataforma foram criadas mais de 1 milhão de aplicações. PhoneGap Build é o serviço-chave da Adobe que realiza a compilação em APK e IPA sem instalar Xcode ou Android Studio.
Principais pontos
PhoneGap é uma plataforma para desenvolvimento de aplicações móveis, criada originalmente pela Nitobi Software em 2009. Em 2011, a Adobe adquiriu a Nitobi e lançou o PhoneGap como produto comercial, transferindo o núcleo do framework para a Apache Software Foundation sob o nome Cordova.
O PhoneGap foi criado na conferência iPhoneDevCamp em 2008, onde desenvolvedores da Nitobi Software demonstraram a tecnologia de encapsular aplicações web num contentor nativo. A primeira versão pública foi lançada em 2009 e instantaneamente atraiu a atenção da comunidade de desenvolvedores web que procuravam formas de entrar no mercado móvel sem aprender Objective-C.
A principal inovação do PhoneGap era que os desenvolvedores podiam usar tecnologias web familiares — HTML, CSS e JavaScript — para criar aplicações que se instalam no dispositivo através de lojas de aplicações e têm acesso a funcionalidades nativas: câmara, GPS, contactos e acelerómetro.
Segundo a Adobe Developer Relations (2015), no seu período de pico, o PhoneGap era usado por mais de 600 mil desenvolvedores em todo o mundo. A plataforma era especialmente popular entre estúdios web e freelancers que queriam expandir o seu portfólio com projetos móveis sem contratar engenheiros iOS e Android.
A principal diferença entre PhoneGap e Apache Cordova reside no modelo de distribuição e nos serviços adicionais. Cordova é um framework open-source puro gerido pela Apache Foundation, enquanto PhoneGap é a sua distribuição comercial com funcionalidades exclusivas da Adobe.
| Característica | Apache Cordova | PhoneGap (Adobe) |
|---|---|---|
| Licença | Apache 2.0 (aberta) | Apache 2.0 + componentes proprietários |
| Núcleo | Código original | Mesmo código Cordova |
| Compilação na nuvem | Indisponível | PhoneGap Build |
| Ferramentas | CLI + IDEs de terceiros | Adobe PhoneGap Desktop + CLI |
| Suporte | Comunidade Apache | Adobe (até 2020) |
A principal vantagem e diferença comercial chave do PhoneGap em relação ao Apache Cordova é o serviço PhoneGap Build, que assume a etapa de compilação. O desenvolvedor envia os ficheiros fonte para o servidor Adobe, seleciona as plataformas-alvo e recebe binários prontos sem instalar Android SDK, Xcode ou ferramentas de compilação relacionadas.
Além disso, o PhoneGap incluía integração com o Adobe Creative Cloud, permitindo que designers exportassem layouts do Photoshop diretamente para a estrutura do projeto PhoneGap. Esta funcionalidade era procurada em equipas pequenas sem um desenvolvedor móvel dedicado.
PhoneGap Build é um serviço web da Adobe que compila o código fonte de aplicações PhoneGap/Cordova em ficheiros de instalação para iOS (.ipa), Android (.apk), Windows Phone (.xap) e outras plataformas. O utilizador não precisa instalar os SDKs dos sistemas operativos alvo no seu computador.
O processo de compilação consiste em três passos: o desenvolvedor arquiva o projeto (ou aponta para um repositório Git), envia-o para build.phonegap.com e seleciona as plataformas. Em poucos minutos, o servidor devolve os ficheiros binários prontos para envio para as lojas de aplicações.
O PhoneGap Build suportava dois tipos de subscrições: gratuita (até 2 aplicações, compilação pública) e paga (até 25 aplicações, compilação privada, ícones personalizados e certificados). Para iOS era necessário um certificado de assinatura do Apple Developer Program, que o utilizador enviava para a sua conta pessoal. O mecanismo do Build era simples: o utilizador enviava um ficheiro ZIP ou apontava para um repositório Git, o servidor determinava automaticamente as plataformas e devolvia os ficheiros binários prontos através do painel de controlo.
Segundo o Blog da Adobe (2017), mais de 500 mil compilações passavam pelo PhoneGap Build mensalmente. O serviço era especialmente popular em instituições de ensino e hackathons onde os participantes não tinham acesso a infraestrutura Mac. Os desenvolvedores também usavam o Build para demonstrar protótipos a clientes diretamente em dispositivos sem configuração de ambiente.
A estrutura de um projeto PhoneGap é idêntica à do Cordova. A diferença está apenas no ficheiro de configuração config.xml, onde é adicionado um elemento
<?xml version='1.0' encoding='utf-8'?>
<widget id='com.adobe.phonegap.app'
version='1.0.0'
xmlns='http://www.w3.org/ns/widgets'
xmlns:gap='http://phonegap.com/ns/1.0'>
<name>PhoneGapApp</name>
<description>
Aplicação PhoneGap
</description>
<gap:platform name='ios' />
<gap:platform name='android' />
<gap:plugin name='cordova-plugin-camera' />
<gap:config platform='ios' min-version='13.0' />
</widget>
Este ficheiro de configuração define uma aplicação com suporte para iOS e Android, especifica uma versão mínima do iOS 13 e inclui o plugin da câmara. Ao enviar para o PhoneGap Build, o servidor reconhece automaticamente estas definições e compila o projeto com as dependências necessárias.
Exemplo de código JavaScript básico com tratamento do evento de dispositivo pronto e chamada a um diálogo nativo:
document.addEventListener('deviceready', function() {
console.log('PhoneGap pronto para trabalhar');
document.getElementById('btnAlert')
.addEventListener('click', function() {
navigator.notification.alert(
'Olá do PhoneGap!',
function() { console.log('OK'); },
'Mensagem',
'Fechar'
);
});
});
O evento deviceready é um ponto de entrada obrigatório em todas as aplicações PhoneGap e Cordova. Sem este evento, as chamadas à API nativa não funcionarão porque a ponte ainda não foi inicializada. Após a prontidão, todos os plugins estão disponíveis, incluindo notification.alert para janelas de diálogo nativas.
PhoneGap tinha várias vantagens que o tornaram popular em meados da década de 2010, mas também possuía limitações que levaram à diminuição da sua quota de mercado após 2018.
A principal vantagem do PhoneGap é a barreira de entrada baixa para desenvolvedores web. HTML, CSS e JavaScript são tecnologias que qualquer especialista frontend domina, permitindo que estúdios de desenvolvimento web entrem rapidamente no mercado de aplicações móveis sem contratar engenheiros iOS e Android.
O serviço na nuvem PhoneGap Build resolvia o problema de infraestrutura: equipas em Windows podiam compilar aplicações iOS sem comprar um Mac. Isto era crítico para startups com orçamentos limitados para equipamento.
A principal desvantagem do PhoneGap é o desempenho. O WebView é mais lento que os frameworks de UI nativos, especialmente com animações complexas, listas grandes e processamento de gráficos. De acordo com testes do HTML5Rocks (2016), renderizar uma lista de 1000 itens demorava 200–400 ms no PhoneGap contra 16–30 ms numa aplicação nativa.
Limitações adicionais incluíam a dependência da versão do WebView no dispositivo do utilizador, problemas na depuração de plugins nativos e falta de acesso a novas APIs do iOS e Android até ao lançamento dos plugins Cordova correspondentes.
Em 2020, a Adobe anunciou o fim do suporte para PhoneGap e PhoneGap Build. A empresa transferiu os desenvolvimentos para a comunidade com a recomendação de migrar para Apache Cordova ou Capacitor. O PhoneGap Build foi encerrado e a compilação na nuvem já não está disponível.
Para projetos PhoneGap existentes, recomenda-se a migração para Capacitor — este é um caminho direto com alterações mínimas no código. Basta substituir os scripts de inicialização e atualizar a configuração. Todo o código JavaScript e modelos HTML permanecem inalterados, pois o Capacitor utiliza os mesmos princípios de ponte.
Uma opção alternativa é migrar diretamente para Apache Cordova. Isto requer instalar plataformas localmente através da CLI e configurar a compilação local, mas preserva totalmente a compatibilidade com plugins existentes e a arquitetura da aplicação.
Apesar do encerramento, a importância histórica do PhoneGap é difícil de subestimar. Foi o PhoneGap que demonstrou ao mercado que as tecnologias web podiam ser a base para aplicações móveis, abrindo caminho para os frameworks híbridos e multiplataforma modernos. O conceito de compilação na nuvem, implementado pela primeira vez no PhoneGap Build, foi posteriormente adotado pelo Ionic Appflow, Visual Studio App Center e outros serviços de integração contínua para projetos móveis.
As decisões arquitetónicas do PhoneGap — a ponte através do WebView, o sistema de plugins e a configuração através do config.xml — tornaram-se o padrão de facto para o desenvolvimento híbrido. Mesmo nos projetos modernos do Capacitor, reflete-se o legado do PhoneGap: os mesmos princípios de trabalho com plugins e um processo de compilação semelhante.
Para desenvolvedores a manter projetos antigos do PhoneGap, a competência principal é compreender a ponte de plugins e a capacidade de adaptar plugins a versões modernas do Android e iOS. Sem isto, atualizar a aplicação para cumprir os novos requisitos das lojas torna-se impossível devido a permissões de sistema obsoletas.
Perguntas frequentes
PhoneGap oficialmente não é suportado pela Adobe desde 2020, mas as aplicações criadas com ele continuam a funcionar. A compilação de novos projetos através do PhoneGap Build não está disponível. Recomenda-se migrar para Capacitor ou Apache Cordova para obter atualizações de segurança.
Ionic é uma camada sobre o Cordova (e depois Capacitor) que adiciona componentes de UI, roteamento e ferramentas de compilação. PhoneGap é uma distribuição do Cordova com compilação na nuvem, mas sem componentes de UI próprios. O Ionic usa Cordova ou Capacitor como backend para acesso nativo.
Graças ao PhoneGap Build, não era necessário um Mac — a compilação iOS era feita nos servidores da Adobe. Após o encerramento do Build, compilar para iOS requer um Mac com Xcode, pois o Apache Cordova e o Capacitor compilam projetos nativos localmente através das ferramentas da Apple.
PhoneGap é compatível com todos os plugins do Apache Cordova, pois usa uma arquitetura idêntica. Os plugins cordova-plugin-camera, cordova-plugin-geolocation, cordova-plugin-file e cordova-plugin-inappbrowser funcionam sem alterações. Não existiam plugins específicos apenas para PhoneGap.
Aprender PhoneGap como uma nova ferramenta não faz sentido — já não é suportado. No entanto, compreender a sua arquitetura é útil para manter projetos legados. Para novas aplicações híbridas, recomenda-se aprender Capacitor juntamente com Ionic ou React Native.
Resumo
Vamos desenvolver um aplicativo móvel chave na mão
A IT Sectr cria aplicativos para iOS e Android para startups e empresas desde 2017. Nós vamos aconselhá-lo e propor a melhor solução.
Leia também