PhoneGap Cordova

PhoneGap/Cordova

Le principe :

PhoneGap Cordova est un Framework de développement mobile qui permet de développer des applications mobiles cross-plateformes pour la plupart des OS du marché : iOS, Android, Windows Phone, BlackBerry et Bada. Là où de nombreux frameworks de développement cross-plateformes sont basés sur une logique de « traduction » d’un langage dédié dans les langages natifs des différents OS, PhoneGap Cordova a une approche très différente qui mérite des explications.

Tous les smartphones ont un point commun : leur capacité à comprendre et interpréter les technologies du web, HTML, CSS et JavaScript. Cela leur permet d’afficher des pages web qui deviennent de plus en plus riches et techniquement avancées. CSS offre des rendus visuels très poussés sans utiliser d’images et JavaScript permet d’ajouter toute l’intelligence nécessaire à des règles de gestion, interactions et niveaux d’intégration complexes.

Ce sont alors les navigateurs natifs et plus précisément les moteurs de rendus des smartphones qui sont appelés pour effectuer ce travail, et tous sont censés savoir le faire de la même manière.

Malheureusement pour nous, il en va tout autrement pour les fonctionnalités qui ne sont pas de type « web ». On parle alors des fonctions natives des smartphones : caméra, flash, vibreur, gyroscope, agenda, push notification, stockage local, moteur 3D, etc. Ces fonctions sont aujourd’hui réservées aux applications mobiles distribuées et téléchargeables sur les stores (Appstore, Google Play par exemple). Elles nécessitent d’être appelées via des développements en langages natifs.

Comme son nom l’indique, PhoneGap vise à combler le « gap » entre le web (HTML, CSS, JS) et les applications natives et leurs fonctions spécifiques. Du coup, le framework se présente comme un ensemble de morceaux de code développés en langages natifs pour chaque OS et appelables comme s’il s’agissait de fonctions JavaScript issues du web.

Exemple : pour prendre une photo, et ce quelque soit l’OS sur lequel on développe, on utilisera dans une page HTML et au sein d’un script JS la fonction « camera.getPicture() » et le framework se chargera selon l’OS d’utiliser la bonne ligne de commande en langage natif.

Son utilisation et le résultat :

Pour développer un projet sous PhoneGap Cordova, on commence par développer une application web mobile en HTML, CSS et JS puis on l’intègre à PhoneGap Cordova pour utiliser l’ensemble des plugins disponibles. Cette structure à base de plugins rend finalement illimitées les possibilités de l’outil. Lorsque celui-ci ne permet pas de faire ce que l’on souhaite, il suffit de développer en langages natifs la brique manquante et de l’intégrer au projet sous forme de nouveau plugin.

A la sortie, et une fois la transformation effectuée, on se retrouve avec une application pouvant être distribuée sur les stores. Elle contiendra l’ensemble des données utiles à son fonctionnement et pourra être installée sur le smartphone comme toute application mobile. Il ne s’agit donc pas d’une coquille qui affiche des pages web, les pages sont bien dans l’application et ne nécessitent pas de connexion pour s’afficher. Lorsque l’utilisateur lance son application, l’appel au moteur de rendu du navigateur est totalement transparent tout comme l’appel à PhoneGap Cordova.

En termes de visuels et d’effets, on pourra s’appuyer sur tout ce que savent maintenant fournir HTML5 et CSS3, dans les limites de ce que les navigateurs et OS sauront interpréter. Il s’agira alors d’un arbitrage entre rendu / performance et taux de couverture qui tend à se simplifier plus les navigateurs évoluent.

Un projet open source entre les mains de la fondation Apache et supporté par Adobe.

Historiquement, l’outil PhoneGap (open source sous licence Apache V2) a été édité par la société Nitobi. Celle-ci a été rachetée fin 2011 par Adobe System. Dans la lignée de son positionnement récent sur l’open source, Adobe a reversé le projet à la fondation Apache afin d’en garantir la pérennité et son statut open source. Le projet a été renommé en Apache Cordova afin de se distinguer du produit PhoneGap d’Adobe. D’où les deux noms.

Un coup d’œil aux contributeurs permet de se rendre compte du consensus autour du projet : Adobe, IBM, Google, Android, SalesForce, RIM(BlackBerry), Microsoft, Intel…

De son coté, Smile participe à l’effort en fournissant des pluggins et différentes briques dont les premières sont présentes sur notre GitHub : https://github.com/Smile-SA/

Retour d’expérience et vision  après deux ans d’utilisation chez Smile :

PhoneGap Cordova est d’abord une approche très séduisante du développement sur mobile qui s’intègre à l’orientation « web » que prend aujourd’hui le mobile (cf. MWC 2013). Sa structure en plugins le rend très flexible et puissant dans le sens où si quelque chose manque, il suffit de le développer. L’outil en lui-même présente donc peu de facettes exposées à la critique.

Par contre, du coté des OS et des navigateurs on pourrait s’attendre à mieux… L’homogénéité et l’universalité de leur interprétation des langages Web est encore parfois toute relative, comme par exemple lorsque d’une version d’un OS à l’autre, un effet de dégradé change totalement d’aspect, ou lorsqu’un OS a décidé de ne pas interpréter comme les autres un geste tactile… Dans ces cas là, c’est l’expérience des développeurs qui parle et leur capacité à anticiper, contourner ou corriger ces manques, qui sera indispensable pour mener à bien le projet.

En termes de performances ou du moins de ressentis, tout sera lié au navigateur mais aussi à la qualité du code et des librairies utilisées… Le web traditionnel sur desktop est devenu extrêmement permissif, et les habitudes de développements ne respectent plus beaucoup les bonnes pratiques. Trop de bande passante et trop de puissance de calcul ont réduit les efforts d’optimisation.

Sur PhoneGap et smartphone, on se doit de revenir à ces bonnes pratiques pour offrir un résultat vraiment représentatif de ce que permettent les technologies web sur mobile.

Pour conclure, PhoneGap Cordova répond à la fois à un besoin court terme de développements mobiles cross-plateformes, ET à un choix de technologies standardisées et pérennes. PhoneGap Cordova ne correspond qu’à un complément aux technologies web, et non pas un framework duquel on ne pourra plus sortir.

D’ailleurs comme son éditeur historique le mentionnait, sa vocation principale est à long terme de disparaître le jour où les navigateurs mobiles permettront un accès complet aux « gadgets » des smartphones. A ce moment-là, vous pourrez vous passer du framework, en ressortir votre code HTML, CSS et JS et serez prêts à viser la plupart des appareils et navigateurs.

Plus d'infos sur le Guide Open Source

Retrouvez plus d'informations sur la solution PhoneGap Cordova sur le site www.open-source-guide.com édité par Smile.

  • Notre offre
  • Fiche détaillée
  • Actualités
  • Formations

Nos dernières références

> Voir toutes nos références
Smile dans la presse Tous nos articles
  •  Les nouveaux outils pour « Linux embarqué » Pierre Ficheux, Smile Article paru dans informatiquenews.fr du 06.06.16

    Autrefois présents mais inconnus du grand public, les systèmes embarqués ont aujourd’hui envahi notre quotidien et les logiciels libres y ont une place prépondérante, en particulier le système d’exploitation Linux. Le noyau Linux est présent dans le système Android de Google utilisé dans plus d’un milliard de téléphones mobiles. Le système d’exploitation Linux (dans sa version « embarquée ») est omniprésent sur les boîtiers d’accès à Internet et à la télévision numérique (la fameuse « set-top box »).

  •  Nantes : une école du logiciel libre ouvrira à la rentrée Article paru dans ouest-france.fr du 31.05.16

    Elle a été lancée ce mardi matin dans les locaux du start-up palace. Une école du logiciel libre et des solutions open source ouvrira à la rentrée à Nantes.

  •  L’Open Source School ouvre à Lille pour une informatique libérée Article paru dans lavoixdunord.fr du 25.05.16

    La première école française du logiciel libre (Open Source School) va ouvrir à Lille à la rentrée. Une formation répondant aux besoins croissant d’un marché où travaillent déjà 50 000 personnes en France.

Références récentes TOUTES NOS RÉFÉRENCES
  • Corsair International

    Corsair International souhaite mettre en place un système d’information décisionnel couvrant la totalité de ses métiers, du contrôle de gestion à la planification des vols, accessible partout et par tous.

  • Safran

    Entretien avec Géraldine BUJADOUX, Responsable Internet, direction de la communication de Safran.

  • The Evian championship

    Smile a accompagné Danone et Evian dans la mise en place du nouveau site internet de l’Evian Championship et de sa version mobile, afin de représenter les valeurs et le positionnement de cet évènement sportif.

Le blog des experts TOUS NOS BILLETS