Apache Cordova ou comment créer des applications mobile avec les langages du Web


Technique

Pour la petite histoire

logo cordova phonegap Apache Cordova ou comment créer des applications mobile avec les langages du Web

Ceux qui ne connaissent pas encore Apache Cordova auront peut-être déjà entendu parler de PhoneGap.

PhoneGap, apparu en 2009, a été à l’origine développé par une petite entreprise spécialisée dans le développement mobile : Nitobi Software. Suite au rachat de cette dernière par Adobe en 2011, le projet a été légué à la Fondation Apache et renommé “Apache Cordova”.

Aujourd’hui PhoneGap existe toujours. Il est basé sur Cordova. Autrement dit, il constitue une distribution particulière de ce dernier.

 

Mais alors qu’est-ce que Apache Cordova ?

Il s’agit d’un Framework – un ensemble d’outils de développement – permettant aux développeurs de construire des applications mobile en utilisant des langages spécifiques au Web : HTML, CSS et notamment JavaScript.

Ainsi un code source, presque identique, permettra de développer des applications sur différentes plateformes. Actuellement, Cordova est, entre autres, compatible avec les systèmes : iOS, Android, Blackberry, WindowsPhone, PalmWebOS, Bada et Symbian.

Comme vous pouvez le voir sur le schéma ci-dessous, le Framework permet d’accéder à un certain nombre de fonctionnalités natives de l’appareil mobile telles que l’appareil photo, l’accéléromètre, la géolocalisation, …

fonctionnalites supportees cordova Apache Cordova ou comment créer des applications mobile avec les langages du WebFonctionnalités accessibles avec Apache Cordova
©http://cordova.apache.org/

 

Comment cela fonctionne ?

fonctionnement cordova 300x207 Apache Cordova ou comment créer des applications mobile avec les langages du Web
Fonctionnement de Apache Cordova
©http://phonegap.com/

 

Le code HTML, CSS, JavaScript écrit par le développeur n’est pas compilé par Apache Cordova dans le langage natif de l’appareil choisi (ex : Objective-C pour iOS, Java pour Android, C# pour Windows Phone, …).

Cordova permet en fait de créer une application qui ouvre une « WebView » disponible nativement sur les appareils mobiles. Pour simplifier, il s’agit d’une fenêtre de  navigateur Web, exécutée dans notre application, qui va s’occuper d’interpréter et d’afficher le contenu de nos scripts. Cette WebView, dont les possibilités sont étendues par Cordova, permet d’accéder à un certain nombre de fonctionnalités natives à l’appareil mobile (voir fig.2 ci-dessus).

La WebView d’Android est basé sur Chromium. Il s’agit de Safari pour iOS, Internet Explorer Mobile pour Windows Phone, … Comme pour le développement Web classique, il faut faire attention aux différentes spécificités de ces derniers (propriétés CSS non supportées, …).

Ainsi, Cordova ne permet pas de créer à proprement parler d’applications natives. On parlera plutôt d’applications hybrides.

 

Pour qui ? Pourquoi ? Les limites ?

Le principal avantage du Framework est donc de permettre de créer des applications, compatibles avec différentes plateformes mobiles, sans avoir à recréer l’application dans le code natif propre à celles-ci.

Un tel outil peut donc être utile aux développeurs mobile souhaitant diffuser une application sur différents systèmes sans avoir à réécrire le code pour chacun d’entre eux. Il est également profitable aux développeurs Web ne maîtrisant pas les langages mobile mais ayant besoin de déployer une application. Un tel outil permet donc de gagner en temps de production et en polyvalence pour une équipe de développement.

Apache Cordova a cependant ses limites. La principale étant la performance. Les applications issues de ce Framework ne se révèlent pas aussi fluides que les applications natives. Ce Framework n’est donc pas à conseiller pour des applications demandant beaucoup de ressources.

 

Pour aller plus loin

http://phonegap.com/

http://cordova.apache.org/

 

Laisser un commentaire