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.

ESIPE

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 :

Ces différentes méthodes de développement seront présentées ci-après.

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 :


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 :

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 :

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 :

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 :

Ces applications sont développées en utilisant le langage natif, mais également les technologies web (HTML5, CSS3, JavaScript). Il est important de préciser que les pages HTML seront embarquées dans le container de l'application et la navigation entre les pages sera statique (permet de pouvoir travailler en off-line).

Lors d'un développement hybride, il est possible d'utilser des frameworks. Voici une liste non-exaustive :

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 :

Dans la suite, nous allons expliquer plus en détail la suite d'outil IBM Worklight.