mercredi 9 octobre 2013

Hellocoton, une application hybride

 


Nous avons récemment terminé l’application Android et iOS du site Hellocoton.fr


Cette application n’est pas une application comme les autres : il s’agit en effet d’une application hybride.


Une application hybride est une application développée en partie avec le langage natif du terminal (Objective C sous iOS et Java sous Android) et en partie avec des technologies web (HTML, CSS, Javascript).


L’intérêt de cette technique est théoriquement de combiner les bons côtés du natif (réactivité, fluidité, bases de données) aux bons côtés du web (code unique quelque soit la plateforme, facilité de mise en page, … )


Mais si la théorie est communément admise, l’exercice, lui, n’est pas facile!


Un des aspects les plus durs est de trouver exactement que faire en natif et que faire en web. Pour Hellocoton c’est uniquement la couche graphique qui est faite en web.


Chaque page contient une webview : Cela nous permet de faire toute la mise en forme en web, de réutiliser beaucoup de code et de profiter de sa facilité de mise en page afin de gérer les différentes tailles d’écrans (tablettes, smartphones). Cela nous permet aussi du coup d’avoir des transitions fluides entre les pages, celles-ci s’effectuant en natif.


Les webservices et les données sont gérés côté natif : Cela nous permet de plus facilement connaître l’état de connexion de l’utilisateur et d’offrir un mode offline beaucoup plus rapide que s’il avait été en web.


Le web garde les commandes : si le natif gère les webservices et la navigation cela ne veut pas dire que c’est lui qui fait tout au contraire : c’est le web qui décide quelle page ouvrir à quel moment. Il contient la majeure partie de l’intelligence de l’application. Ainsi moins de code application natif sur chaque plateforme !


Sur l’application Hellocoton nous estimons avoir gagné 30% de temps de développement avec cette application hybride par rapport à un développement classique natif sur chacune des plateformes.


Oubliez PhoneGap ! Afin d’obtenir ces résultats nous avons dù sortir des sentiers battus et développer notre propre framework hybride. La route est assez ardue et les webviews iOS et Android sont pleines de (mauvaises) surprises.


Nous sommes en train d’adapter ce framework sur BlackBerry et Tizen et nous pensons à terme open-sourcer le projet. S’il vous intéresse, n’hésitez pas à nous le dire!

Aucun commentaire:

Enregistrer un commentaire