Je recrute

Je cherche un job

Le framework React

React est sans doute, au regard du nombre de ses téléchargements, la bibliothèque JavaScript la plus populaire. Basé sur un système de composants permettant de faciliter la création d'éléments voués à l'interface utilisateur (UI), il est particulièrement recommandé pour le développement d'applications web et mobiles. Il a également l'avantage de bénéficier du support d'une entreprise dont la connaissance d'Internet n'est plus à démontrer puisqu'il est développé et maintenu par Facebook.

Naissance de React

React, parfois également appelé React.js ou ReactJS, a été développé en 2013 par Jordan Walke. Il est alors ingénieur chez Facebook et travaille sur Facebook Ads. L'équipe du réseau social comprend rapidement l'intérêt de cet outil interne, et souhaite l'utiliser pour sa propre application. Il est depuis lors développé et maintenu par Facebook.

Le but de Jordan Walke est de structurer des applications en JavaScript. Il décrit tout d'abord React comme une bibliothèque JS conçue pour développer des interfaces utilisateurs. Initialement publié sous licence BSD modifiée en 2014, React est depuis 2017 distribué sous licence MIT. Cela fait de lui une bibliothèque libre et open source pleinement utilisable, y compris à des fins commerciales.

Grâce au pouvoir d'action d'une multinationale comme Facebook, React est très régulièrement revu, corrigé et complété de nouvelles fonctionnalités. En contrepartie, les applications web développées à l'aide de React doivent régulièrement être mises à jour, ce qui ne pose cependant pas de problème technique majeur.

Ce qui distingue React

L'idée sous-tendant la création de React est de parvenir à améliorer les performances des applications web en limitant l'accès au DOM (pour Document Object Model), qui définit la structure de la page. React se base donc sur une approche par composant permettant de ne charger que les éléments changeants et non la page complète à chaque interaction.

React n'est donc pas un framework mais une bibliothèque utilisée pour coder et afficher des composants. C'est l'une de ses particularités face à ses principaux compétiteurs comme Angular et Vue. React ne dispose pas d'autres fonctionnalités et se distingue par la même d'un framework qui impose un cadre de travail complet en fournissant les outils qui vont avec. Il permet un développement front-end fluide et harmonieux, ce que les anglophones nomment seamless, littéralement « sans couture ». L'expérience utilisateur (UX) passe avant tout.

La force de React repose donc sur ses composants, des éléments réutilisables de l'UI. Par défaut, le HTML dispose de certains composants, toutefois basiques et limités en nombre. React vient combler ce manque en permettant le développement de composants additionnels en JavaScript. En tant que développeur, cela permet, en n'utilisant que du JavaScript, de créer des éléments de page qui vont collaborer, voire générer des éléments en HTML et CSS.

En addition, React introduit le JSX, un langage spécifique simplifiant la syntaxe du JavaScript pour la rapprocher du HTML. Grâce à JSX, le code produit est plus lisible et facile à maintenir. React est donc un outil complexe, qui peut toutefois être utilisé de façon simple. JSX est par exemple optionnel. Tout ne doit pas non plus être créé à partir de React qui peut facilement s'intégrer à certaines parties d'une application ou tout simplement être ajouté à une application existante.

React au service des entreprises

React est très populaire et plébiscité par de nombreuses entreprises, quelle que soit leur taille. Cela s'explique en partie par le fait qu'il soit centré UI/ UX et permette donc le développement d'applications qui plaisent à leurs utilisateurs. Cela implique tout d'abord un marché de l'emploi plutôt plus riche que les autres frameworks JavaScript. Cela se traduit également par l'existence d'une documentation détaillée, servi par une large communauté, et bien sûr par Facebook. La présence d'une entreprise de cette taille derrière la bibliothèque garantit la stabilité et la pérennité de la technologie, un avantage non négligeable tant pour les développeurs que les entreprises l'utilisant.

En évitant le chargement de nouvelles pages et en fluidifiant l'UX, React s'est initialement imposé pour le développement d'applications web, notamment mono-page. Il permet cependant également le développement d'applications mobiles grâce à React Native, un framework complémentaire dédié au développement bureau et mobile. React Native est également développé par Facebook et supporte Android, iOS et UWP (Windows). React est donc polyvalent, un argument particulièrement important à l'heure où l'usage mobile a dépassé l'ordinateur.

Pour des projets complexes, le fait que React soit une bibliothèque et non un framework peut dans un premier temps poser problème. Il n'embarque en effet pas l'ensemble des outils qui peuvent être nécessaires à un développement simplifié et accéléré. La communauté de développeurs fournit cependant différents outils pour pallier ces manques, même si leur développement n'est pas assuré par l'équipe officielle de Facebook. Il est ainsi possible d'associer React à d'autres bibliothèques telles React Router (routage), Axios (client http) ou Redux (gestion d'état).

5 autres articles en lien avec cette page :