PhoneGap est une distribution commerciale d'Apache Cordova par Adobe qui permet de créer des applications mobiles avec HTML, CSS et JavaScript avec la possibilité de compilation dans le cloud sans SDK locaux. La plateforme est devenue le premier framework hybride largement connu et a joué un rôle clé dans la popularisation du développement multiplateforme. Selon Adobe PhoneGap, 2024, plus d'un million d'applications ont été créées pendant l'existence de la plateforme. PhoneGap Build est le service clé d'Adobe qui effectue la compilation en APK et IPA sans installer Xcode ni Android Studio.
Points essentiels
PhoneGap est une plateforme de développement d'applications mobiles, créée à l'origine par Nitobi Software en 2009. En 2011, Adobe a acquis Nitobi et a publié PhoneGap en tant que produit commercial, transférant le cœur du framework à l'Apache Software Foundation sous le nom de Cordova.
PhoneGap a été créé lors de la conférence iPhoneDevCamp en 2008, où les développeurs de Nitobi Software ont démontré la technologie d'encapsulation d'applications web dans un conteneur natif. La première version publique est sortie en 2009 et a immédiatement attiré l'attention de la communauté des développeurs web qui cherchaient des moyens d'entrer sur le marché mobile sans apprendre l'Objective-C.
L'innovation principale de PhoneGap était que les développeurs pouvaient utiliser des technologies web familières — HTML, CSS et JavaScript — pour créer des applications qui s'installent sur l'appareil via les magasins d'applications et ont accès aux fonctionnalités natives : appareil photo, GPS, contacts et accéléromètre.
Selon Adobe Developer Relations (2015), à son apogée, plus de 600 000 développeurs dans le monde utilisaient PhoneGap. La plateforme était particulièrement populaire auprès des studios web et des freelances qui souhaitaient élargir leur portfolio avec des projets mobiles sans embaucher d'ingénieurs iOS et Android.
La principale différence entre PhoneGap et Apache Cordova réside dans le modèle de distribution et les services supplémentaires. Cordova est un framework open-source pur géré par l'Apache Foundation, tandis que PhoneGap est sa distribution commerciale avec des fonctionnalités exclusives d'Adobe.
| Caractéristique | Apache Cordova | PhoneGap (Adobe) |
|---|---|---|
| Licence | Apache 2.0 (ouverte) | Apache 2.0 + composants propriétaires |
| Cœur | Code original | Même code Cordova |
| Compilation cloud | Indisponible | PhoneGap Build |
| Outils | CLI + IDE tiers | Adobe PhoneGap Desktop + CLI |
| Support | Communauté Apache | Adobe (jusqu'en 2020) |
Le principal avantage et la différence commerciale clé de PhoneGap par rapport à Apache Cordova est le service PhoneGap Build, qui prend en charge l'étape de compilation. Le développeur télécharge les fichiers sources sur le serveur Adobe, sélectionne les plateformes cibles et reçoit des binaires prêts sans installer Android SDK, Xcode ni les outils de compilation associés.
De plus, PhoneGap incluait l'intégration avec Adobe Creative Cloud, permettant aux designers d'exporter des maquettes depuis Photoshop directement dans la structure du projet PhoneGap. Cette fonctionnalité était recherchée dans les petites équipes sans développeur mobile dédié.
PhoneGap Build est un service web d'Adobe qui compile le code source d'applications PhoneGap/Cordova en fichiers d'installation pour iOS (.ipa), Android (.apk), Windows Phone (.xap) et d'autres plateformes. L'utilisateur n'a pas besoin d'installer les SDK des systèmes d'exploitation cibles sur son ordinateur.
Le processus de compilation comprend trois étapes : le développeur archive le projet (ou pointe vers un dépôt Git), le télécharge sur build.phonegap.com et sélectionne les plateformes. En quelques minutes, le serveur renvoie les fichiers binaires prêts à être téléchargés dans les magasins d'applications.
PhoneGap Build prenait en charge deux types d'abonnements : gratuit (jusqu'à 2 applications, compilation publique) et payant (jusqu'à 25 applications, compilation privée, icônes personnalisées et certificats). Pour iOS, un certificat de signature Apple Developer Program était requis, que l'utilisateur téléchargeait dans son compte personnel. Le mécanisme de Build était simple : l'utilisateur envoyait une archive ZIP ou pointait vers un dépôt Git, le serveur déterminait automatiquement les plateformes et renvoyait les fichiers binaires prêts via le panneau de contrôle.
Selon le blog d'Adobe (2017), plus de 500 000 compilations passaient par PhoneGap Build chaque mois. Le service était particulièrement populaire dans les établissements d'enseignement et les hackathons où les participants n'avaient pas accès à l'infrastructure Mac. Les développeurs utilisaient également Build pour démontrer des prototypes aux clients directement sur les appareils sans configuration d'environnement.
La structure d'un projet PhoneGap est identique à celle de Cordova. La seule différence réside dans le fichier de configuration config.xml, où un élément
<?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>
Application 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>
Ce fichier de configuration définit une application avec prise en charge d'iOS et Android, spécifie une version minimale d'iOS 13 et inclut le plugin de l'appareil photo. Lors du téléchargement sur PhoneGap Build, le serveur reconnaît automatiquement ces paramètres et compile le projet avec les dépendances nécessaires.
Exemple de code JavaScript de base avec gestion de l'événement de préparation de l'appareil et appel d'une boîte de dialogue native :
document.addEventListener('deviceready', function() {
console.log('PhoneGap prêt à fonctionner');
document.getElementById('btnAlert')
.addEventListener('click', function() {
navigator.notification.alert(
'Bonjour de PhoneGap !',
function() { console.log('OK'); },
'Message',
'Fermer'
);
});
});
L'événement deviceready est un point d'entrée obligatoire dans toutes les applications PhoneGap et Cordova. Sans cet événement, les appels à l'API native ne fonctionneront pas car le pont n'a pas encore été initialisé. Une fois prêt, tous les plugins sont disponibles, y compris notification.alert pour les fenêtres de dialogue natives.
PhoneGap présentait plusieurs avantages qui l'ont rendu populaire au milieu des années 2010, mais possédait également des limitations qui ont entraîné une baisse de sa part de marché après 2018.
Le principal avantage de PhoneGap est la faible barrière à l'entrée pour les développeurs web. HTML, CSS et JavaScript sont des technologies que tout spécialiste frontend maîtrise, permettant aux studios de développement web d'entrer rapidement sur le marché des applications mobiles sans embaucher d'ingénieurs iOS et Android.
Le service cloud PhoneGap Build résolvait le problème d'infrastructure : les équipes sous Windows pouvaient compiler des applications iOS sans acheter de Mac. C'était crucial pour les startups disposant de budgets d'équipement limités.
Le principal inconvénient de PhoneGap est la performance. WebView est plus lent que les frameworks d'interface utilisateur natifs, en particulier avec les animations complexes, les grandes listes et le traitement graphique. Selon les tests HTML5Rocks (2016), le rendu d'une liste de 1000 éléments prenait 200 – 400 ms dans PhoneGap contre 16 – 30 ms dans une application native.
Les limitations supplémentaires incluaient la dépendance à la version de WebView sur l'appareil de l'utilisateur, des problèmes de débogage des plugins natifs et l'absence d'accès aux nouvelles API iOS et Android jusqu'à la sortie des plugins Cordova correspondants.
En 2020, Adobe a annoncé l'arrêt du support de PhoneGap et PhoneGap Build. L'entreprise a transféré les développements à la communauté avec la recommandation de migrer vers Apache Cordova ou Capacitor. PhoneGap Build a été fermé et la compilation cloud n'est plus disponible.
Pour les projets PhoneGap existants, la migration vers Capacitor est recommandée — c'est un chemin direct avec des modifications minimales du code. Il suffit de remplacer les scripts d'initialisation et de mettre à jour la configuration. Tout le code JavaScript et les modèles HTML restent inchangés, car Capacitor utilise les mêmes principes de pont.
Une autre option est de passer directement à Apache Cordova. Cela nécessite d'installer les plateformes localement via la CLI et de configurer la compilation locale, mais préserve totalement la compatibilité avec les plugins existants et l'architecture de l'application.
Malgré la fermeture, l'importance historique de PhoneGap est difficile à surestimer. C'est PhoneGap qui a démontré au marché que les technologies web pouvaient être la base d'applications mobiles, ouvrant la voie aux frameworks hybrides et multiplateformes modernes. Le concept de compilation cloud, implémenté pour la première fois dans PhoneGap Build, a ensuite été adopté par Ionic Appflow, Visual Studio App Center et d'autres services d'intégration continue pour projets mobiles.
Les décisions architecturales de PhoneGap — le pont via WebView, le système de plugins et la configuration via config.xml — sont devenues le standard de facto pour le développement hybride. Même dans les projets modernes de Capacitor, l'héritage de PhoneGap est visible : les mêmes principes de travail avec les plugins et un processus de compilation similaire.
Pour les développeurs qui maintiennent d'anciens projets PhoneGap, la compétence clé est la compréhension du pont de plugins et la capacité d'adapter les plugins aux versions modernes d'Android et iOS. Sans cela, la mise à jour de l'application pour répondre aux nouvelles exigences des magasins devient impossible en raison des autorisations système obsolètes.
Foire aux questions
PhoneGap n'est officiellement plus supporté par Adobe depuis 2020, mais les applications créées avec continuent de fonctionner. La compilation de nouveaux projets via PhoneGap Build n'est pas disponible. Il est recommandé de migrer vers Capacitor ou Apache Cordova pour obtenir des mises à jour de sécurité.
Ionic est une surcouche au-dessus de Cordova (et plus tard Capacitor) qui ajoute des composants d'interface utilisateur, du routage et des outils de compilation. PhoneGap est une distribution de Cordova avec compilation cloud, mais sans composants d'interface utilisateur propres. Ionic utilise Cordova ou Capacitor comme backend pour l'accès natif.
Grâce à PhoneGap Build, un Mac n'était pas nécessaire — la compilation iOS était effectuée sur les serveurs d'Adobe. Après la fermeture de Build, compiler pour iOS nécessite un Mac avec Xcode, car Apache Cordova et Capacitor compilent les projets natifs localement via les outils Apple.
PhoneGap est compatible avec tous les plugins Apache Cordova car il utilise une architecture identique. Les plugins cordova-plugin-camera, cordova-plugin-geolocation, cordova-plugin-file et cordova-plugin-inappbrowser fonctionnent sans modification. Il n'existait pas de plugins spécifiques à PhoneGap.
Apprendre PhoneGap comme nouvel outil n'a pas de sens — il n'est plus supporté. Cependant, comprendre son architecture est utile pour maintenir des projets existants. Pour les nouvelles applications hybrides, il est recommandé d'apprendre Capacitor avec Ionic ou React Native.
Résumé
Nous développerons une application mobile clé en main
IT Sectr crée des applications iOS et Android pour les startups et les entreprises depuis 2017. Nous vous conseillerons et vous proposerons la meilleure solution.
Lisez aussi