Navigation

Contactez-nous

Kitpages
17 rue de la Frise
38000 Grenoble
tel : 04 58 00 33 81

Par Philippe Le Van (twitter accountplv) Dernière mise à jour : 06 February 2013

Dossier Phonegap - Cordova

Introduction

Chez Kitpages, nous pensons que l'avenir de l'application mobile passe par des technologies web.

Windows 8 et Firefox OS utilisent "nativement" html et javascript pour leurs application. En revanche, pour iOS et Android, les applications sont nativement en objective-C et en Java.

Pour développer une application iOS ou Android avec des technologies web (html-js), on peut utiliser le projet PhoneGap-Cordova.

Ce dossier va explorer les points suivants :

  • Le principe de fonctionnement de PhoneGap
  • L'installation de l'environnement de développement PhoneGap / SDK
  • Un système de génération de package à partir d'un code HTML / JS commun à toutes les plateformes
  • Quelques principes de codage pour une application mobile avec des technologies web.

PhoneGap ? Cordova ?

En gros

  • Cordova est le coeur du système. C'est opensource et géré par la fondation apache.
  • PhoneGap est une marque de Adobe (un gros contributeur de Cordova) qui s'appuie sur Cordova et propose des services supplémentaires (PhoneGap build notamment)

PhoneGap est le nom utilisé le plus souvent. On aura tendance à ne parler que de PhoneGap bien qu'en fait on utilise plutôt Cordova. (si vous parlez de Cordova dans un diner de l'ambassadeur, personne ne vous comprendra...)

Principe de PhoneGap

PhoneGap est une application objective-c ou java suivant l'environnement qui assure les fonctions suivantes :

  • Il ouvre une "webview" (c'est à dire un navigateur interne, sans barre d'adresse, bouton back ou autre)
  • Il lance le code html / js dans le navigateur
  • Il propose une API JS qui permet depuis le code JS
    • d'accéder aux périphériques (appareil photo, géolocalisation)
    • d'accéder à des évènements supplémentaires (terminal ok, ...)

Workflow très général

Etapes de création d'une application mobile avec PhoneGap

Le principal avantage à développer une application mobile avec des technologies web, c'est d'avoir un code de base commun (html/JS) à toutes les plateformes (iOS, Android, Windows 8, FirefoxOS principalement). On diminue ainsi les coûts de développement et de maintenance de l'application.

On aura cependant des codes spécifiques par plateformes pour certaines parties du codes (accès aux périphériques, évènements différents suivant les plateformes, rootURL,...).

Pour régler ce problème, nous avons une étape de construction du code spécifique à une plateforme à partir du code commun.

Le schéma ci-contre montre pas mal d'étapes à suivre pour arriver à une application sur l'application store.

Avec autant d'étapes, il nous a paru indispensable de faire l'essentiel de ces opérations en ligne de commande.

Conclusion

Créer une application mobile à partir de technologies web est séduisant. Cependant c'est plus complexe qu'on ne l'imagine au départ. Cela demande de mettre en place un workflow assez complexe pour générer les packages pour les différents types de terminaux.

Nous allons voir dans ce dossier comment mettre en place les outils et réaliser chaque étape du workflow.

Commentaires

Ajouter un commentaire