Application hybride

1 seul code, application multi-plateforme : iOS, Android, Web

Présentation du développement d'applications hybrides

Une application hybride est une application développée avec les technologies du web, c'est à dire des pages HTML5/CSS/Javascript.
A cela s'ajoute des composants (aussi appelés plugins ou SDK) développés dans le langage natif du mobile (iOS ou Android) et encapsulé par le framework Cordova.

Aussi à partir du même code, il est possible de fabriquer une application iOS, Android et même grâce à IONIC la version progressive web app (moyennant quelques adaptations).

Ce qu'il faut savoir c'est qu'au final, une application hybride est quasiment la même chose qu'une application native. Les utilisateurs peuvent la télécharger depuis l'Apple Store ou Google Play Store, et grâce aux SDK natifs, elles peuvent accèder aux mêmes fonctionnalités du téléphone qu'une application native.

Venant du développement natif, j'ai longuement refusé d'entendre parler des applications non natives. En effet, pendant longtemps celles ci étaient lentes, n'offraient pas toutes les possibilités d'une application native, et il était très facile de faire la différence.

Mais depuis 2016/2017, les choses ont bien changées avec l'arrivée de nouveaux frameworks, et il devient difficile de faire la différence entre une application hybride et une application développée en natif. Pour ceux qui voudraient creuser le sujet, voici un lien vers un livre blanc.

Le framework IONIC

IONIC est un de ces nouveaux frameworks, permettant de réaliser une application hybride à partir d'un seul code source (design compris), et de fabriquer la version iOS, Android, Progressive web app (web), le tout de manière très rapide et surtout très simple ! (contraitement à d'autre framework tel que React Natif)

Comme expliqué ci dessus, IONIC repose sur des composants web reprenant l'ensemble des éléments visuels que l'on peut retrouver sur une application mobile mais il est aussi possible de créer ses propres composants.

IONIC donne bien sûr accès aux fonctions natives des mobiles grâce à ces fameux SDK.

Enfin IONIC permet de construire une version pour le web (et c'est un gros plus) sous forme de progressive web app.
Pour ce dernier cas, les composants natifs sont remplacés (lorsque c'est possible) par leurs équivalents web. Pour plus d'informations sur les progressive web apps, Google propose une page d'information.

Pour finir et être complet, il est même possible de fabriquer une version dîte de bureau, c'est à dire qui tournera sur votre PC (windows ou linux) ou sur votre MAC grâce au couplage de IONIC avec le framework Electron.

Avantages du développement hybride

On pourrait donc résumer avec ces quelques points:

  • 1 seul développement réellement multi-plateforme.
  • 1 seul budget (découle du point précédent)
  • Application peut utiliser les fonctions natives du mobile.
  • Développement beaucoup plus rapide (2 à 3 fois plus rapide que le natif d'après mon expérience)
  • Performance équivalente (ou quasi) aux applications natives

Exemples d'applications mobiles hybrides développées

Pitstop
Pitstop Pro
HopHopFood