Cet article a été rédigé en collaboration avec Vitalii Topoliuk, ingénieur logiciel chez Meta et Sean Keegan, représentant des équipes de développement chez Meta également.
Aujourd’hui, nous nous entretenons avec Vitalii Topoliuk, ingénieur logiciel pour l’application de bureau Messenger chez Meta. L’équipe de Vitalii travaille sur la version bureau de Messenger, qui permet de passer des appels et d’envoyer des messages directement sur ordinateur.
Je m’appelle Vitalii Topoliuk et je suis ingénieur logiciel pour l’application de bureau Messenger. Nous développons une version de l’application Messenger pour Windows et macOS depuis trois ans, et cela fait deux ans que nous utilisons React Native.
Notre application repose sur le framework de React Native.
L’application de bureau Messenger et les projets dérivés : Work Chat et Workrooms sur ordinateur.
Nous avons créé notre application avec le framework Electron, qui nous a permis de démarrer sur de bonnes bases. Malheureusement, nous avons vite atteint la capacité d’Electron, ce qui nous a contraints à réaliser de lourds investissements pour respecter nos engagements en matière de performances, de fiabilité et d’efficacité (PFE). D’autre part, les fonctionnalités de notre application étaient limitées par Electron.
En adoptant React Native, nous avons résolu de nombreuses problématiques de PFE, tout en améliorant significativement l’expérience de nos développeur·ses. React Native nous a permis de réutiliser 80 % de notre base de code et d’obtenir de bien meilleurs résultats PFE. Vous trouverez ci-dessous quelques-uns de ces résultats obtenus simplement en passant à React Native, sans autre investissement PFE, par rapport aux résultats que nous avions obtenus avec l’application basée sur Electron sur trois mois :
Étendue des plantages : -60 %
Taux de réussite des démarrages à froid : 97 % (88 % pour Electron)
Latence P90 des démarrages à froid : -50 %
Taille binaire : -80 %
Étendue des plantages : +59 %
Taux de réussite des démarrages à froid : 99 % (95 % pour Electron)
Latence P90 des démarrages à froid : -60 %
Taille binaire : -70 %
Chez Meta, nous avons l’occasion de montrer à la communauté que React Native peut être utilisée pour créer des applications de bureau multiplateformes.
J’espère qu’à terme, React Native remplacera Electron mais, pour ce faire, des améliorations doivent être apportées au framework pour inclure davantage d’outils de production de bout en bout. Par exemple, Electron n’est pas qu’une simple interface pour les applications web : le framework contient des outils pour créer des programmes d’installation, des outils de mise à jour automatique, des rapports de plantage, etc.
Nous tenons à remercier Vitalii d’avoir pris le temps de nous accorder cet entretien. Il a été très intéressant de découvrir comment React permet d’améliorer des applications majeures, à quel point il est possible d’apprendre de tout ce que nous développons chez Meta et la manière dont nous contribuons en retour à la communauté React. Nous espérons que cet entretien vous a été utile et qu’il vous a donné un aperçu de la manière dont React est utilisée chez Meta. Lisez les prochains entretiens de notre blog, dans lesquels nous rencontrerons d’autres ingénieur·es de Meta et écouterons leurs réflexions sur le sujet.
React est l’un des projets open source les plus populaires et a toujours été classé parmi les cadres web les plus appréciés au cours des dernières années. Chez Meta, nous pensons que React est une bibliothèque exceptionnelle qui aide les développeur·ses à créer facilement des interfaces d’utilisation à grande échelle. Utilisée par des millions de développeur·ses dans le monde entier, dans tous les domaines, des simples sites web aux applications d’entreprise, React est une bibliothèque open source qui a sa place auprès de chacun.
Ce blog fait partie de notre série À la rencontre des développeur·ses, au cours de laquelle nous invitons les ingénieur·es de Meta qui utilisent régulièrement React à partager leurs expériences et à nous parler des produits étonnants qu’ils développent. Lisez les prochains entretiens de notre blog, dans lesquels nous rencontrerons d’autres ingénieur·es et écouterons leurs réflexions sur le sujet.
Pour en savoir plus sur Meta Open Source, consultez notre site Open Source, abonnez-vous à notre chaîne YouTube, ou suivez-nous sur Twitter, Facebook et LinkedIn.