Antoine
Le natif au service d'Airbnb.
Aujourd’hui, nous voulons vous parler d’un cas concret de l’utilisation du natif dans le développement d’une application mobile. Certains d’entre vous ne savent probablement pas ce qu’est le natif. Nous allons vous l’expliquer dans cette étude de cas dont le protagoniste ne vous est assurément pas inconnu.

Le natif
En langage informatique, le Natif signifie créer Ex nihilo, à partir de rien. Une application native se code différemment en fonction du système d’exploitation sur lequel on souhaite la lancer (IOS, Android ou Microsoft). Le développement en langage de programmation natif permet d’avoir une application très performante en termes d’ergonomie ou de fonctionnalité, et est adaptable à volonté. En effet, une application native est parfaite pour utiliser les fonctionnalités avancées du téléphone comme l’appareil photo, la géolocalisation, le répertoire, les notifications Push et beaucoup d’autres.
Il existe en fait 3 types d’applications mobiles sur le marché. La première est la native, représentant la grande majorité du marché. La deuxième est l’application web, un site web simplement adapté en version mobile. La troisième est l’hybride, une version entre la native et le web, qui se code une seule fois et qui a la particularité de s’adapter à tous les systèmes d’exploitation. Une application hybride est idéale pour un déploiement sur divers systèmes d’exploitation mobile. En effet, grâce à l’utilisation de langages web (HTML, CSS, JavaScript) communs à toutes les plateformes, une application hybride peut être utilisée aussi bien sur iOS, Android ou encore Windows Phone. Des adaptations sont par ailleurs nécessaires pour rendre l’application hybride compatible à chaque plateforme : optimisation ergonomique ou interconnexion entre l’application et les fonctionnalités des appareils.
Le changement
En 2016, l’entreprise Airbnb mondialement connue avait décidé de changer son mode de développement de son application mobile en passant du Natif au React Native, une des nombreuses formes d’application hybride. Ses mots d´ordres étaient de « permettre à l’entreprise d'aller plus vite tout en maintenant la qualité originale, d’écrire le code du produit une fois pour le mobile au lieu de deux fois ainsi que d’améliorer l'expérience du développeur ».
La puissance de l’outil React Native a été un véritable atout pour l’entreprise. Il leur a permis d’améliorer grandement leur productivité à plus faibles coûts. Les technologies utilisées dans le développement des fonctionnalités étaient au départ appréciées par toutes les équipes de développeurs, la majorité ont d’ailleurs adoré travailler sur ces projets, et cela leur permettait de développer des produits finaux de manière plus simple et dans une durée nettement plus réduite. C’est d’ailleurs avec cette technologie React Native qu’a été développée la section « Expérience » que l’entreprise propose.
Les problèmes
Cependant, 2 ans après, l’entreprise s’est rendu compte que malgré la puissance de cet outil, les équipes étaient confrontées à de nombreux problèmes technologiques et managériaux qui les ont finalement beaucoup trop ralentis pour pouvoir continuer de cette manière.
Après de longues et couteuses tentatives, la société a donc décidé de changer ses modes de création. L’application hybride qui semblait convenir à tout le monde et proposant des résultats parfaits leur causait plus de problèmes que de réelles solutions.
Le problème majeur a été la manière dont les équipes de développement ont dû gérer cette technologie. Comme précisé auparavant, la technologie hybride permet de développer une seul fois pour tous les systèmes d’exploitation. Mais il est vite apparu des problèmes au sein des équipes notamment du fait des divergences de formations. Il a fallu former toutes ces équipes afin d’aligner leurs savoirs pour tous les mettre au même niveau. Et cela coutait évidemment du temps et de l’argent à l’entreprise. De plus, de nombreux problèmes de compatibilité techniques sont apparu petit à petit, rendant le travail des techniciens beaucoup plus complexes que prévu.
La morale
Ces différents problèmes ont finalement été une expérience très enrichissante pour l’entreprise qui a ainsi pu comprendre l’importance du natif dans leur besoins quotidiens. Malgré leurs tentatives de modifier leur mode de conception, dans le but de leur faire gagner du temps, cela les a plus ralentis que fait avancer. Ils ont certes pu apprendre beaucoup de cette expérience, mais le résultat reste inchangé : le natif restera leur solution privilégiée pour les années à venir.
Source : https://medium.com/airbnb-engineering/react-native-at-airbnb-f95aa460be1c