Remove ads

React (aussi appelé React.js ou ReactJS) est une bibliothèque open source JavaScript pour créer des interfaces utilisateurs. Elle est maintenue par Meta (anciennement Facebook) ainsi que par une communauté de développeurs individuels et d'entreprises depuis 2013.

Faits en bref Créateur, Développé par ...
React
Thumb
Informations
Créateur Meta PlatformsVoir et modifier les données sur Wikidata
Développé par Meta et la communauté
Première version
Dernière version 19.0.0 ()[1]Voir et modifier les données sur Wikidata
Version avancée 19.0-beta
Dépôt https://github.com/facebook/react
Écrit en JavaScript
Système d'exploitation MultiplateformeVoir et modifier les données sur Wikidata
Type Bibliothèque JavaScript
Licence Licence MIT
Documentation reactjs.org/docs/getting-started.html, ru.reactjs.org/docs/getting-started.html et ar.reactjs.org/docs/getting-started.htmlVoir et modifier les données sur Wikidata
Site web react.dev
Fermer

Le but principal de cette bibliothèque est de faciliter la création d'application web monopage, via la création de composants dépendant d'un état et générant une page (ou portion) HTML à chaque changement d'état.

React est une bibliothèque qui ne gère que l'interface de l'application, cette interface étant considérée comme la vue dans le modèle MVC. Elle peut ainsi être utilisée avec une autre bibliothèque ou un framework MVC comme AngularJS. La bibliothèque se démarque de ses concurrents par sa flexibilité et ses performances, en travaillant avec un DOM virtuel et en ne mettant à jour le rendu dans le navigateur qu'en cas de nécessité[2].

Remove ads

Historique

React a été créé par Jordan Walke, un ingénieur chez Meta. Jordan Walke a d'abord développé un prototype nommé « FaxJS »[3],[4]. Il a été déployé pour la première fois sur le fil d'actualité de Facebook en 2011.

React s'inspire de XHP (en), une bibliothèque également développée par Meta, permettant l'inclusion de HTML au sein de PHP[5],[6].

Pete Hunt, ingénieur travaillant sur Instagram est intéressé par la bibliothèque et assiste Walke afin de retirer les portions dépendantes de Facebook. Ceci permet à React d'être publié sous licence Apache 2.0 le .

En , la version 0.12.0 est publiée sous licence BSD modifiée, avec une note associée PATENTS permettant l'utilisation des brevets de Facebook associé à React[7]. Cependant, la licence BSD est mise à jour en , avec la version 0.13.1, pour éviter les confusions[8].

React Native est annoncé en Février 2015 et disponible en version open source en Mars 2015. Ce framework est basé sur React et permet de créer, toujours en Javascript, des applications multi-plateformes Android et iOS[9].

Le , React 16.0 a été publié sous la licence MIT[10]. Ce changement porte aussi sur la version 15.x avec React 15.6.2[11].

La version 17.0 est publiée le 20 octobre 2020, première version majeure sans nouvelle fonctionnalité majeure[12].

La React 18 est publié le 29 mars 2022, introduisant un nouveau moteur de rendu concurrent, le traitement par lots côté serveur, le rendu streamé côté serveur prenant pleinement en charge Suspense[13].

La version 19 est annoncée le 25 avril 2024 et est disponible en beta[14]. Elle propose des améliorations[15] importantes comme le rendu côté serveur, déjà utilisé par NextJS.

Remove ads

Fonctionnalités

React a été conçu comme étant une bibliothèque et non un framework MVC, comme peuvent l'être ses concurrents[16]. Ainsi, React encourage la création de composants réutilisables, avec en entrée des données, pouvant changer au cours du temps[16].

Par ailleurs, React n'utilise pas de système de templates et ne fonctionne qu'avec du JavaScript, permettant une insertion complète du composant au sein d'une unique classe[16]. Pour faciliter l'écriture de la vue, l'équipe initiale chez Facebook a développé un langage, JSX, qui permet de générer des objets Javascript avec une notation similaire à HTML[17].

DOM virtuel

Un DOM Virtuel est une représentation du DOM en JavaScript. Au lieu de générer le DOM lui-même comme avec un langage de templating, c'est-à-dire au lieu de dialoguer avec les API du navigateur pour construire le DOM, on ne génère qu'une arborescence d'objets JavaScript en mémoire[18], répercutée auprès du navigateur quand opportun.

Remove ads

Adoption et Utilisation

La bibliothèque est utilisée par Netflix[19] (depuis le , une migration de la partie client vers du JavaScript pur a permis d'augmenter les performances de 50 %[20]), Yahoo[21], Airbnb[22], Sony[23], Atlassian[24].

Les équipes de Meta pratiquent l'autoéquipement sur les réseaux sociaux Facebook, Instagram ou encore WhatsApp[2].

À la fin de 2015, WordPress.com annonce Gutenberg, une interface pour les éditeurs de sites WordPress, développée en JavaScript avec Node.js et React[25],[26].

Remove ads

Notes et références

Wikiwand in your browser!

Seamless Wikipedia browsing. On steroids.

Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.

Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.

Remove ads