Phonegap : écrire une appli qui fonctionne sur tous les smartphones

retour expérience phonegap : les plus, les moins
  • Last Update:2010-04-28
  • Version:001
  • Language:fr

Récemment, j'ai eu besoin de développer une appli mobile, Geoblabla et de la rendre disponible à un maximum d'utilisateurs, donc de plateformes mobiles. Développeur Python, je ne connaissais pas du tout les langages de programmation propres à chaque plateforme (Objective-C, Java, Wap,...), et n'avais pas le temps de tous les apprendre.

J'ai découvert un beau projet Open Source : PhoneGap qui me permet notamment de ne pas apprendre l'Objective-C ;).Chaque smartphone possède un navigateur web que PhoneGap va utiliser. En fait, PhoneGap est un framework Javascript qui permet d'abstraire la couche matérielle du téléphone.  De cette manière, l'appel javascript :

navigator.geolocation.watchPosition()

va permettre d'obtenir la position du téléphone en utilisant son gps (s'il en possède un),  peu importe le smartphone sur lequel l'appli sera utilisée, du moment que l'api PhoneGap est chargée. Il en va de même pour la caméra, le vibreur, l'accès au répertoire, etc. Cela va donc permettre de créer une appli sans apprendre 36 langages exotiques (HTML + Javascript + CSS suffisent), et de ne la créer qu'une seule fois pour tous les smartphones.

En pratique il faut un peut de temps pour mettre en place les différentes plateformes de développement (pour certaines Android par exemple, ça m'a pris une journée, pour d'autres c'est plus rapide). Parfois aussi la documentation n'est pas très fournie, mais elle s'améliore de jour en jour et la communauté est très réactive. Une fois les différentes plateformes mises en place, c'est une appli web qu'il suffit d'écrire ! Pour la porter d'un smartphone à l'autre, copier coller le HTML, JS, CSS et c'est tout.

En ce qui concerne les interfaces, même si on est dans une appli qui repose sur du web, on aimerait bien qu'elle ressemble à une vraie appli native et que les gens ne puissent pas voir la différence. C'est possible, PhoneGap fournit un style (composé d'image + CSS) pour les différentes plateformes mobiles qui rend les pages web identiques à des application natives. De cette manière, notre appli iPhone a exactement la même tête que toutes les autres appli iPhone et cela sans avoir eu à écrire une seule ligne d'Objective-C.

Geoblabla sur l'Apple Store

Documentation pour créer une application mobile : https://www.myerp5.com/kb/developer-Phone.Application.Developper.Guide

Fabien Morin

Contact

  • Photo Fabien Morin
  • Logo Nexedi
  • Fabien Morin
  • fabien (at) nexedi (dot) com
  • Fabien est un gars super sympa :)