ArticleApplications & Développement
Facebook livre la première bêta de React Fiber
Facebook a publié la première version bêta de React 16, mais le rendu asynchrone n'est pas encore activé.

Le réseau social Facebook a réécrit le noyau de React 16, sa bibliothèque Javascript qui permet de développer des interfaces utilisateurs, afin d’améliorer les fonctions d'animation, de mise en page et de gestuelle. Livrée en tant que module NPM, cette première version bêta est principalement axée sur la compatibilité avec les applications existantes et n'inclut pas encore de fonctions de rendu asynchrone. Facebook a promis des performances natives pour la version 16 de sa bibliothèque open source. Baptisé « Fiber », le noyau réécrit est censé apporter une multitude de fonctionnalités, notamment :
-
L’expérimentation du rendu asynchrone des composants pour améliorer les performances.
-
Le renvoi des tableaux et des chaînes à partir du rendu, ainsi qu’une récupération après erreur des composant et des traces de piles.
-
La suppression des abstractions internes qui ont « mal vieilli » et empêchaient les changements internes.
Facebook permettra, à une phase ultérieure du processus de développement de React 16.x, d’accéder en option au mode asynchrone. Cette version initiale de React 16.0 ne devrait pas beaucoup accélérer ou ralentir les applications. « L'amélioration de la performance de React est un processus itératif », a déclaré le réseau social. Facebook a voulu soumettre cette version bêta aux développeurs pour justement apprécier les améliorations ou les régressions induites par la réécriture du noyau. « Nous avons très envie de savoir si vous avez remarqué des différences de performances entre les versions 15.x et 16.x ».
A utiliser avec les dernières versions des navaigateurs
La version 16 repose sur les types de collections Map et Set, avec lesquelles les navigateurs et périphériques plus anciens ne sont peut-être pas encore compatibles. Les développeurs devront éventuellement installer une prothèse d’émulation globale (Polyfill) comme core-js ou babel-polyfill dans leur application. Le serveur de rendu de React 16 a été réécrit et comporte un mode streaming. La version bêta a subi des modifications importantes et comprend notamment de nouvelles fonctions de gestion des erreurs. L’ajout de composants « limites d'erreur » permet de détecter les erreurs d'exécution dans une arborescence de composants, de les enregistrer et d’afficher une interface utilisateur de secours. Auparavant, les erreurs de runtime bloquaient React et provoquaient des alertes énigmatiques.
D’autres changements radicaux ont été opérés dans la planification et le cycle de vie. Notamment, les fonctions ReactDOM.render () et ReactDOM.unstable_renderSubtreeIntoContainer () renvoient désormais un « null » quand elles sont appelées depuis des fonctions de cycle de vie. Pour l'emballage, il n'y a plus de react/lib/* ou de react-dom/lib/*. Enfin, en ce qui concerne les add-ons, l'outil de performance reac-addons-perf ne fonctionne pas dans React 16. Facebook pourrait ou non introduire une fonction similaire dans une prochaine mise à niveau.


