La bibliothèque JavaScript de Facebook travaille sur la rapidité
React est une bibliothèque JavaScript développée par Facebook qui permet de créer des interfaces utilisateurs. Instagram.com en est un bel exemple.
Elle utilise un concept appelé le DOM virtuel qui restitue sélectivement les sous-arborescences de nœuds en fonction des changements d'état. L'objectif est de réduire le nombre de manipulations du DOM tout en gardant les composants à jour. Ce DOM virtuel peut être rendu sur un serveur utilisant Node.js.
React peut en fait être votre système de vues dans une application MVC car elle ne se tracasse pas du reste des composants. Et donc, signalons-le, React ne représente que cette couche view. Il ne sert à rien de vouloir la comparer à des frameworks qui offrent plus d'intelligence. Par contre, il faudra combiner React avec quelque chose pour obtenir une application dynamique complexe.
L'équipe a annoncé la sortie de la version 0.13. La principale nouveauté est le support des classes ES6 qui permettent aux développeurs d'avoir plus de flexibilité lorsqu'ils construisent des composants. Le but à terme est éventuellement de remplacer le système de classes implémenté par React.
Ensuite, l'idée est d'améliorer encore plus la rapidité de React et d'optimiser tout ce qui peut l'être. Les objets sont immuables, ce qui reste une pratique à suivre lors de l'écriture idiomatique de code React. Dans cette version, des avertissements de runtime ont été ajoutés. Ils se déclenchent lorsque les propriétés sont changées ou ajoutées entre le moment où un élément est créé et lorsque celui-ci est affiché.
Voici une liste d'autres modifications apportées :
- des dépréciations ;
- les méthodes statiques ne sont plus liées automatiquement à la classe du composant ;
- l'accès à la plupart des propriétés internes a été complètement supprimé ;
- l'ajout d'une API findDOMNode(component) au lieu de getDOMNode(component) ;
- la prise en charge pour les itérateurs et les séquences js immuable en tant qu'enfants ;
- etc.
Le site de React.
Et vous ?
Que pensez-vous de cette bibliothèque ?
Quels outils utilisez-vous pour créer votre couche d'affichage ?