Le développement hybride d'application mobile avec IBM Worklight
Accueil
A propos de ce site
Ce site a été réalisé par Sébastien BAUDRAND, dans le cadre des Xposés de 3ème année, au cours de la formation Informatique et Réseaux à l'ESIPE.
Ces exposés sont encadrés et dirigés par Dominique Revuz
Le but des exposés est de découvrir ou d'approfondir des notions au-delà des cours dispensés lors de la formation. Les exposés comportent en fait deux composantes : une présentation orale, ainsi que la restitution des informations sous forme de site web.

IBM Worklight
IBM Worklight est une suite d'outils permettant aux entreprises de s'ouvrir au monde du mobile. En proposant cet outil, IBM propose une solution permettant de créer, exécuter et gérer des applications mobiles :
- En HTML5 pur
- Hybride
- Native
Cet exposé à pour objectif de vous présenter l'une de ces méthodes de développement : le développement hybride.
Le smartphone
Afin de mieux comprendre les objectifs du développement hybride d'applications mobiles, il est important de faire un rappel sur les smartphones.
La première définition du smartphone date de 1992. A cet époque, on définissait un smartphone comme un téléphone tactile possédant plusieurs fonctions.
C'est également à cette époque qu'est sorti le premier smartphone : l'IBM Simon. Ce téléphone a été présenté pour la premi&eagrave;re fois au COMDEX de Las Vegas en 1992. Ce téléphone possédait les fonctionalités suivantes :
- Téléphonie cellulaire
- Envoie et réception de fax
- Pager (radiomessagerie)
- Carnet d'adresses
- Agenda avec gestion des rendez-vous
- Calculatrice
- Horloge mondiale
- Prise de note

Bien qu'innovant pour l'époque, l'IBM Simon est loin des smartphones que nous connaissons aujourd'hui.
Depuis cette époque, la définition a changée. Un smarthone est ordinateur de poche pouvant utiliser de nombreuses applications grâce à un système d’exploitation conçu pour les mobiles. Les smartphones possèdent deux caractéristiques principales :
- Les applications standard (téléphonie, texto, calculatrice, agenda, ...)
- Les applications génériques (téléchargeables sur un store)
Le smartphone tel que nous le connaissons a vu le jour en 2007 avec l'apparition de l'iPhone 1.
Le développement d'application mobile
Il existe 3 méthodes permettant de créer une application mobile :
- Application native : application développée dans le langage natif du téléphone. Par exemple, une application pour iPhone sera développée en objective C, une application android en Java, ...
- Web App : site web évolué compatible sur tous les terminaux traitant les informations comme un logiciel applicatif -> pas de container
- Application hybride : Application contenue dans un container spécifique et pouvant intégrer du code natif.
Voici un diagramme montrant la part de marché de chacune de ces technologies :
On peut remarquer que la part de marché des applications hybrides n'est pas négligeable. Afin de mieux comprendre cette part de marchée, voici une liste, non exaustive, d'applications communes avec cette technologie :
- Facebook (natif en 2007, composite en 2009, hybride en 2011 native depuis 2012)
- Pages Jaunes
- ...
Il est maintenant judicieux d'entrer un peu plus dans le détail du développement hybride.
Le développement hybride
Les applications hybrides sont un mélange d'application mobile et de Web Application. La création d'application hybride permet d'éviter de développer entièrement des applications dans le langage natif. Ces méthodes permettent :
- de diminuer les coûts de développement et de maintenance
- d'être présent sur les différents stores.
Lors d'un développement hybride, il est possible d'utilser des frameworks. Voici une liste non-exaustive :
- Cordova
- Phongap
- Sencha
- Pojo
- Jquery mobile
- ...
Voici un comparatif entre application native et application hybride.
Natif | hybride | |
---|---|---|
Développement | Connaissance du langage spécifique au système cible : Objectif C pour iOS, JAVA pour Android, … 1 langage par plateforme cible | Connaissance des technologies Web (HTML5, CSS3, JavaScript) : Une technologie pour tous les systèmes |
Utilisation des périphériques du Smartphone (appareil photo, …) | Utilisation des librairies natives | Ajout de librairie et plugin externes dans chaque environnement cible (ajout de code natif) |
Performances | Langage optimisé pour les Smartphones | Perte de Performances si application complexe |
Temps de développement | On développe une application par système | On développe une application pour tous les systèmes |
Maintenance | Maintenance simple s’il n’y a qu’un système cible | Maintenance d’un seul code quelque soit le nombre de syst`me cible |
Avant de définir le type de techno à utiliser, il est important de s'assurer du réel besoin du client. Apr&eagrave;s analyse, il sera possible de définir quelle technologie correspond au mieux au besoin.
Il existe plusieurs outils permettant de concevoir une application hybride dont les plus connus sont :
- Appcelerator Titanium (gratuit)
- Win Dév mobile (payant)
- IBM Worklight (gratuit dans sa version développeur)