
pour faciliter son utilisation avec les applications hybrides
Depuis la sortie du Framework React Native de Facebook, de nombreux développeurs se sont tournés vers ce dernier pour concevoir leurs applications mobiles iOS et Android. En plus de Facebook qui l’utilise plus que jamais pour concevoir ses applications iOS et Android, plusieurs autres grands noms dont Microsoft, Bloomberg, Tesla, Uber, Walmart, Baidu, pour ne citer que ceux-là, utilisent également le Framework pour le développement de leurs applications iOS et Android. Vu les avantages offerts par ce Framework, Facebook a annoncé depuis 2015 qu’elle ne compte plus se tourner vers le couple HTML5 et JavaScript pour développer ses applications mobiles et utilisent depuis lors cet outil pour le faire.
Avec le succès du Framework, certains développeurs ont commencé à pointer du doigt des insuffisances liées à l’utilisation de React Native. Sophie Alpert, Engineering Manager de React chez Facebook, explique depuis le départ React Native a été implémenté dans l’idée de l’utiliser avec JavaScript de manière asynchrone, sérialisable et groupée. Toutefois, ces principes initiaux auraient entravé le développement de certaines fonctionnalités et aujourd’hui utiliser la logique JavaScript directement avec certaines API natives synchrones s’avère impossible, avance Alpert.
De plus, la conception de React Native fait qu’il est beaucoup plus difficile d’utiliser des applications React Native pour appeler des fonctions implémentées de manière native. Enfin, la sérialisation des instructions entre les applications React Native et le code JavaScript signifie une copie inutile au lieu de partager directement la mémoire entre les deux mondes. Pour les applications entièrement construites avec React Native, ces restrictions sont généralement supportables. Mais pour les applications avec une intégration complexe entre React Native et le code d’application existant, cela peut représenter un véritable casse-tête, note Alpert.
En raison de ces difficultés, l’équipe de React de Facebook annonce une refonte de l’architecture de React Native. L’objectif de cette refonte est de rendre le Framework plus flexible et plus compatible avec l’infrastructure native dans les applications hybrides JavaScript/natives. Selon Facebook, cette réarchitecture tourne autour de trois changements internes majeurs. Premièrement, le modèle de thread sera amélioré de sorte qu’au lieu que chaque mise à jour de l’interface utilisateur utilise trois threads différents, les mises à jour prioritaires pourront être appelées de manière synchrone sur n’importe quel thread avec JavaScript tout en gardant une priorité basse du thread principal afin de conserver la réactivité.
Deuxièmement, des capacités de rendu asynchrone seront intégrées dans React Native pour permettre plusieurs priorités de rendu et simplifier la gestion des données asynchrones. Et enfin, la passerelle entre JavaScript et le code natif sera simplifiée afin de la rendre plus rapide et plus légère ; à partir de là, les appels directs entre le code natif et JavaScript seront plus intéressants et faciliteront la création d’outils de débogage tels que les traces de pile multilingues.
Après l’achèvement de refonte, Facebook souligne qu’il sera plus aisé de faire cohabiter du code natif et le code JavaScript. « Aujourd’hui, il n’est pas possible d’incorporer la navigation native et la gestion des gestes ou des composants natifs comme UICollectionView et RecyclerView sans bidouillages complexes. Après nos modifications du modèle de thread, les fonctionnalités de construction comme celles-ci seront simples », souligne Facebook.
Par ailleurs, pour ceux qui sont inquiets pour la compatibilité entre les nouvelles fonctionnalités du Framework et leurs applications existantes, Facebook rassure que la réécriture du Framework ne concerne que ses composants internes. « Les applications React Native existantes continueront de fonctionner avec peu ou pas de modifications ».
Source : Github
Et vous ?


Voir aussi





Vous avez lu gratuitement 13 articles depuis plus d'un an.
Soutenez le club developpez.com en souscrivant un abonnement pour que nous puissions continuer à vous proposer des publications.
Soutenez le club developpez.com en souscrivant un abonnement pour que nous puissions continuer à vous proposer des publications.