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.
Autour de cette bibliothèque, il est permis de constituer des composants pour ou utilisant React.
Par exemple, il y a le rc-calendar. Ce composant permet d'afficher des calendriers selon certaines propriétes comme :
- la localité ;
- un bouton "Aujourd'hui" ;
- la gestion d'événements.
Il a également un composant de graphiques : Reusable D3 Charts. Cette bibliothèque implémente les graphiques de types barres, camembert, donuts (!), etc.
Bref, ce ne sont que des exemples parmi d'autres. Il y en aura sans doute de plus en plus car React est encore jeune et intéresse pas mal de développeurs.
Le site de React.
D'après un article de DailyJS.
Et vous ?
Que pensez-vous de cette bibliothèque ?
Quels outils utilisez-vous pour créer votre couche d'affichage ?