Author: 
Frédéric Block

Une app mobile, cela coûte cher à développer. Une des raisons principales est le fait qu'il faut la développer une fois par plateforme. Alors, si on veut pouvoir couvrir le marché, il faut le faire pour iOS (iPhone/iPad), Android, Windows Phone ... et pourquoi pas demain Tizen, Symbian,.. s'ils parviennent à (re)venir dans la course ? Et s'il existait une solution de développement unique, pour toutes ces plates-formes... autre que le web 'responsive' ?

Les app natives, web ... ou alors l'hybride ?

Il y a de cela quelques semaines, je vous parlais des apps natives comparées à des apps web (si vous êtes intéressé(e)s, les post précédents sont ici et ici). La conclusion était alors qu'aucun de ces univers n'était parfait, que l'un n'allait pas spécialement remplacer l'autre,...

Mais qu'en est-il des apps dites 'hybrides', c'est-à-dire des applications qui sont codées une seule fois, avec un seul code source, mais pour être déployée 'nativement' sur chaque plate-forme (iOS, Android, Windows Phone, ...).

L'hybride, réellement natif ?

Une app hybride sera, aux yeux de l'utilisateur final, comme une app native. Il ne va pas passer par son navigateur web. Il va démarrer une app, comme il le fait pour n'importe quelle autre app native.

Techniquement, c'est évidemment différent. L'app hybride va contenir une 'couche' qui va elle-même interpréter le code (comme le fait un navigateur web). Cette couche est donc, elle, réellement native et a l'avantage de ne pas devoir être développée, c'est le noyau 'standard' du concept hybride..

L'hybride, c'est PhoneGap ?

La solution hybride la plus connues est sans aucun doute 'PhoneGap'. On en a beaucoup parlé lors de son introduction mais son succès n'est pas si retentissant que cela. Accessoirement, il a également changé de nom, vu qu'il s'appelle en réalité actuellement 'Apache Cordova'... depuis 2011.

En plus de cela, il y a de nombreux framework basés sur l'architecture Cordova (Onsen.UI , FrameWork 7, Ionic, jQuery Mobile,...). Chaque framework est basé sur une base technologique similaire (HTML5, CSS, Javascript,..). Par contre, chacun a ses spécificités, ses avantages, ses inconvénients, son évolution plus ou moins importante / rapide, ses limitations... Au final, il faut donc faire un choix sur une de ces branches, et ce n'est pas toujours simple. Surtout si vous devez prendre en compte la pérennité de votre solution.

Avantages... et inconvénients

En hybride, on développe une seule fois. Pour toutes les plates-formes. C'est vrai. On va donc plus vite et cela représente un budget moins important. C'est au final bien cela qui est recherché.

A contrario, on ne sait pas faire tout ce que l'on sait faire en natif. Certaines fonctionnalités plus ou moins avancées du mobile seront ou ne seront pas accessibles. On pense ici à la caméra, aux boutons physiques, mais également à des 'API' moins répandus, comme celles permettant à des applications d'interagir entres-elles.

Enfin, d'un point de vue expérience utilisateur, le natif restera plus agréable. On pourra en effet offrir une performance, une fluidité nettement supérieure. On va également plus pouvoir intégrer l'app dans l'écosystème visuel et technique propre. N'oublions pas qu'un utilisateur d'un iPad/iPhone n'a pas les mêmes réflexes d'utilisation qu'un autre sur Android.

Conclusions : l'hybride, une solution de plus

Vous l'aurez compris, l'hybride ne va pas remplacer les apps natives, ni les apps 'Web responsive'. Ce type de solution vient se positionner entre les deux. On peut en effet plus donner le sentiment d'une app tout en gardant une approche de développement qui ressemble plus à du Web.

Si vos besoins sont fortement axé sur l'expérience utilisateur, l'utilisation de fonctions avancées du smartphone (camera, boutons physiques, carnet d'adresse, SMS,...), passez votre chemin, le natif reste incontournable.

Newsletter