Durant l’édition 2016 de sa conférence F8 dédiée aux développeurs, Facebook y a notamment parlé de React Fiber, une évolution de React, sa bibliothèque JavaScript permettant de concevoir les interfaces utilisateurs en faisant abstraction du DOM. Pour rappel, l’objectif de React est d’offrir un modèle de programmation simplifié pour de meilleures performances.

Concernant React Fiber, l’ingénieur Facebook Adam Wolff a expliqué « qu’au fur et à mesure que nos applications sont de plus en plus complexes et afin de prendre en charge les périphériques mobiles basiques, nous avons exploré certains changements fondamentaux dans React. React Fiber est une réécriture complète et rétrograde du noyau React qui permet une programmation sophistiquée du travail de rendu. À court terme, il va permettre aux développeurs de débloquer de nouvelles fonctionnalités comme des limites d’erreurs compréhensives, la possibilité de renvoyer des tableaux et des chaînes à partir du rendu, ainsi que des messages d’erreur plus descriptifs et des traces de pile. À long terme, Fiber servira de nouvelle base sur laquelle les améliorations et innovations des années à venir vont s’appuyer, ce qui facilitera la création d’applications mobiles web et natives de haute qualité ».

L’idée derrière React Fiber est de se servir des connaissances que l’entreprise a amassées en développant React la première fois et les injecter dans un framework qui est entièrement compatible avec les applications React existantes.

L’objectif principal était de rendre React le plus réactif possible, Ben Alpert, un ingénieur de Facebook qui est accessoirement membre de l’équipe React, a expliqué que « Tandis que nous développons React, nous cherchons toujours à voir comment nous pouvons aider les développeurs à créer des applications de haute qualité plus rapidement ». Et de continuer en disant que « nous voulons rendre plus facile de faire des applications qui fonctionnent très bien et qui sont plus réactives ».

Mais pourquoi avoir réécrit entièrement React ? « Cela ne signifie pas nécessairement que l’ancienne base de code était mauvaise, mais nous voulions commencer par une nouvelle base qui pourrait servir de support à tout ce que nous ferons à l’avenir », a déclaré Alpert.

Relay Modern

Facebook a également évoqué Relay Modern, une nouvelle version de son framework JavaScript Relay pour la création d’applications basées sur les données. Relay combine React avec le langage de requête GraphQL de Facebook et maintenant Relay Modern, comme l’a baptisée l’entreprise, a été implémenté pour pousser ce concept plus loin et surmonter certaines des limites de la conception originale. Cela signifiait également simplifier une partie de la conception pour améliorer les performances globales du framework.

« Relay Modern est l’aboutissement de nos cinq années d’expérience dans la construction de clients GraphQL pour de multiples plateformes et embrasse la nature déclarative de GraphQL et l’analyse statique pour offrir des performances élevées et une expérience intuitive pour les développeurs », a commenté Adam Wolff.

Et de continuer en expliquant que « Relay Modern conserve aujourd’hui les meilleures parties de Relay (notamment les composants de vue avec leurs dépendances de données, les mises à jour automatiques des vues à mesure que leurs données changent et l’utilisation de la récupération de données déclaratives) tout en l’étendant pour offrir de nouvelles fonctionnalités telles que l’état local, l’évacuation du cache, les abonnements GraphQL et plus encore ».

Les requêtes statiques garantissent essentiellement que les requêtes complexes qui ne sont pas modifiées par les conditions d’exécution peuvent être préconstruites et déchargées sur les serveurs de Facebook. Ainsi, au lieu d’envoyer des requêtes complexes à travers le réseau, tout ce qu’une application doit envoyer est une chaîne qui identifie la requête prédéfinie et les variables nécessaires pour la compléter. Ici, la fonctionnalité d’optimisation du compilateur de Relay examine maintenant la structure de la requête pour optimiser la requête qui est maintenant stockée sur le serveur pour l’exécuter plus rapidement et par conséquent obtenir des résultats plus rapides. D’autres nouvelles fonctionnalités de React Modern incluent l’intégration d’un ramasse-miettes.

« Relay Modern est également conçu comme une suite d’outils modulaires qui peuvent constituer la base d’un écosystème client GraphQL. Il comprend notamment un compilateur GraphQL optimisant qui peut régénérer efficacement les artefacts de code, un environnement d’exécution qui peut être intégré à React ainsi que d’autres bibliothèques de vues et une API React facile à utiliser », a indiqué Adam Wolff.

L’entreprise a également annoncé avoir mis en open source React VR, une nouvelle bibliothèque qui permettra aux développeurs de créer des expériences convaincantes pour réalités virtuelles, et Litho, un nouveau framework déclaratif pour les IU efficaces sur Android.

Source

LAISSER UN COMMENTAIRE