Créer des appli hybrides avec PhoneGap

Merci pour le partage...Share on Facebook7Share on Google+0Tweet about this on TwitterShare on LinkedIn0

L’objectif de cet article est de vous faire découvrir une approche alternative pour booster vos développements d’application sur tablette : l’approche Hybride. Ou comment tirer parti de la puissance de HTML5 et JavaScript pour créer des applications natives.

 

Aujourd’hui, les développeurs cherchent à réduire le temps de déploiement de leurs applications mobiles et ainsi à prendre un avantage sur leurs concurrents.

La difficulté pour l’éditeur qui développe des applications mobiles est de devoir gérer une multitude de plateformes (différentes tailles, résolutions, densités de pixels, matériels, mémoire et performance) ainsi qu’une multitude d’OS (les plus connus étant Android, iOS, BlackBerry, Windows Phone). L’éditeur doit par ailleurs, pour des raisons financières, arbitrer entre deux alternatives : offrir un service aux fonctionnalités réduites au plus grand nombre d’utilisateurs ou permettre à une cible restreinte d’utilisateurs de vivre une expérience optimale. Face à ce dilemme, deux stratégies. Petit retour sur les avantages et inconvénients de chaque approche...

> Natif vs HTML

Application native

L’application est développée dans un langage spécifique à une plateforme, Java pour Android, Objective-C pour iOS, etc.

Le code est compilé spécifiquement à la plateforme et tire parti du SDK propre au constructeur.

Application Web

L’application est développée en HTML/Javascript/CSS pour toutes les plateformes (y compris Desktop) et s’exécute dans le navigateur web de la tablette.

 

> Hybride, une alternative séduisante

Une alternative est de mixer les deux solutions en proposant ce qu’on appelle une application hybride. Une application hybride c’est quoi ?

  • Un cœur Web en HTML.
  • Un conteneur d’application natif, mettant à disposition une WebView.
  • Une API qui fait office de passerelle entre le cœur de l’application et les spécificités de la plateforme.

L’intérêt est de mettre à disposition une application HTML, et de la proposer à différents Stores sans coût supplémentaire de développement. On réduit le nombre de compétences nécessaires au développement puisque l’on a moins de spécificités techniques liées aux différents environnements. Il est par ailleurs possible de réutiliser le code HTML d’une application web existante ; attention cependant à ne pas négliger l’expérience utilisateur en lui proposant un simple site web dans une application.

PhoneGap, c’est quoi?

PhoneGap crée des applications hybrides : Android, iOS, BlackBerry, Symbian, WebOS, Windows Phone 7/8, Windows 8, Bada et Tizen.

L’intérêt de PhoneGap est d’aller plus loin et de proposer un ensemble d’API permettant d’exploiter les fonctionnalités offertes par le matériel, ce qui n’est pas encore nativement disponible avec HTML5. L’API PhoneGap permet ainsi d’accéder à l’accéléromètre, la boussole, la géolocalisation, le stockage hors-ligne, la caméra, l’appareil photo, le micro, les notifications systèmes, les contacts, les informations et évènements systèmes, les fichiers et splashscreen.

PhoneGap ou Cordova ?

Il est fréquent de confondre PhoneGap et Cordova. Pour la petite histoire, PhoneGap a été développé initialement par l’éditeur Nitobi, racheté par Adobe en 2011, qui décida par la même occasion de reverser PhoneGap à la fondation Apache. La plateforme devient Open Source, mais ne peut pas garder le même nom et devient Apache Cordova (http://cordova.apache.org/) Adobe continue cependant à travailler sur PhoneGap qui devient donc une distribution de Cordova qui devrait intégrer ultérieurement des fonctionnalités et services complémentaires. Ne soyez donc pas surpris si vous voyez Cordova apparaître dans vos sources PhoneGap !

> Développement et Construction

PhoneGap ne dispose pas de son propre IDE. Il s’agit avant tout de sources au format HTML, Javascript. Le développeur peut conserver son IDE de développement Web habituel. Pour la construction de l’application, deux approches sont possibles :

  • Depuis la console (pour Android, iOS, BlackBerry et Windows Phone), permet de construire rapidement l’application en ligne de commande.
  • Depuis l’IDE (toutes plateformes), permet de tirer parti de l’interface graphique de développement pour construire l’application native.

Pour ce faire, il faut télécharger PhoneGap (http://phonegap.com/download/) et suivre les étapes pour la création du projet. Quelques exemples d’environnements de base nécessaires à PhoneGap selon les plateformes :

  • Android

Java, Ant, Eclipse Classic, Android SDK, plugin Eclipse ADT

  • iOS

XCode 4.5, iOS 6 SDK

  • Windows Phone 8

Visual Studio Express, Windows Phone SDK

> Conclusion

Il ne faut pas voir PhoneGap comme une solution « magique » ou universelle pour tous les développements mobiles multiplateformes.

Cette solution constitue une alternative intéressante aux développements natifs pour en diminuer les coûts et le temps de mise à disposition. Il faut également garder à l’esprit que l’architecture PhoneGap peut amener les utilisateurs à rencontrer des performances amoindries par rapport aux applications natives. Il faudra, par ailleurs accepter que l’expérience utilisateur soit moins intégrée à la plateforme. Il est essentiel de prendre en compte la finalité même de l’application. Le choix d’une solution hybride dépend donc des contraintes et priorités de l’éditeur, à savoir son budget, la diversité des terminaux, l’usage de l’application et la richesse de l’expérience utilisateurs qu’il souhaite proposer. PhoneGap et PhoneGap:Build s’avèrent être une solution intéressante pour produire rapidement des applications simples ou des prototypes destinés à valider un concept.

 

 

Christian Kas

Business Coach | J'accompagne les entrepreneurs à progresser dans leur vie pro & perso.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *