PhoneGap : Des applications mobiles en HTML 5/CCS & JavaScript, c’est possible !
Dans cet article, je vais parler d’un outil open-source qui permet de créer des applications natives mobiles multi-plateformes (iPhone, Android, BlackBerry, Symbian et Palm) avec des outils web de base HTML/JavaScript /CSS. En effet, PhoneGap offre la possibilité de réaliser différentes applications mobiles sans nécessairement connaître le langage de programmation propre à chaque plateforme.
1.Architecture de PhoneGap
PhoneGap est une librairie qui permet d’accéder aux fonctionnalités du mobile en utilisant le SDK natif de la plateforme cible selon laquelle le mode de construction varie. Afin d’utiliser ce framework, il est nécessaire de générer un JAR en compilant la bibliothèque à l’aide d’un script Ruby pour Android, ou d’utiliser la commande Make pour obtenir un package installable dans Xcode pour l’iPhone.
Le développement avec PhoneGap se base sur l’architecture suivante :
- •La couche présentation : HTML et CSS.
- •La couche métier : une bibliothèque JavaScript permettant l’accès, selon les possibilités présentées dans la figure ci-dessus, aux éléments matériels du mobile notamment, le GPS, la caméra, les contacts, etc.
En outre, cette bibliothèque reste la même quelle que soit la plateforme cible, plus besoin ainsi de connaître toutes les APIs de chacun des fabricants de systèmes mobiles.
Pour illustrer ce principe, je vous présente un exemple qui permet de géolocaliser le mobile.
<script type="text/javascript" charset="utf-8">
function GetLocalisation(){
var success = function(p){
navigator.notification.alert("Votre Latitude est"+ p.coords.latitude +"Votre Longitude est "+ p.coords.longitude ) ;
}
var fail = function(error){
switch (error.code) {
case 1:
navigator.notification.alert("Géolocalisation impossible, vérifiez que le service de géolocalisation est activé");
break;
default:
navigator.notification.alert("Géolocalisation impossible");
break;
};
}
navigator.geolocation.getCurrentPosition(fail, success);
}
</script>
2.Avantages et inconvénients
Dans l’optique de la présentation de PhoneGap, il s’avère nécessaire de procéder à l’inventaire de ses avantages et ses inconvénients. Les avantages tout d’abord :
- •L’utilisation du triplet HTML, CSS et JavaScript qui sont des langages très diffusés.
- •Aucune génération de code pouvant complexifier ou ralentir les développements.
- •Sauvegarde des fonctionnalités des environnements de développement fournies par chaque éditeur de système mobile vu que PhoneGap ne les remplace pas.
- •Panoplie de supports et tutoriaux de prise en main quelles que soient les plates-formes.
- •Unification de l’API d’accès aux ressources matérielles des mobiles (accéléromètre, géolocalisation, appareil photo, etc.)
- •PhoneGap est partenaire d’Apple. Par conséquent, aucune restriction d’accès à l’App Store pour les applications PhoneGap iPhone.
Il existe toutefois quelques inconvénients à PhoneGap :
- •Absence de moteur JavaScript des émulateurs et des outils tels que FireBug chose qui rend le débogage de l’application difficile voire parfois impossible.
- •Ralentissement des développements dû aux lacunes du langage JavaScript (typage faible, syntaxe parfois exotique, erreurs peu explicites, etc.)
En conclusion, PhoneGap est un framework open-source prometteur qui permet de réaliser des applications mobiles en faisant abstraction de la plateforme cible et du langage inhérent. Il existe également des concurrents, tels que Appcelerator TiTanium. Pour de plus amples informations sur PhoneGap, rendez-vous sur le site http://www.phonegap.com/
- MVVM : Vers des applications plus performantes et plus maintenables MVVM (Model-View-ViewModel) est l’un des nouveaux design patterns orientés plateformes .Net de développement modernes (WPF et Silverlight). Dans cet article,...





