52 points par xguru 2025-03-04 | 6 commentaires | Partager sur WhatsApp
  • React est utilisé depuis longtemps, ce qui a permis l’émergence d’un vaste écosystème de bibliothèques
  • Les développeurs venant d’autres langages/frameworks peuvent avoir des difficultés à choisir les bibliothèques nécessaires pour construire une application React
  • Le cœur de React est une bibliothèque centrée sur la création d’interfaces utilisateur basées sur des composants
    • Les composants fonctionnels et les React Hooks permettent de gérer l’état local, de traiter les effets de bord et d’optimiser les performances
    • Au final, composants et hooks fonctionnent tous deux comme une manière de construire l’UI à partir de fonctions
  • Présentation des bibliothèques React incontournables pour développer des applications de grande envergure en 2025

Démarrer un projet React

  • Vite : l’outil le plus populaire pour configurer un projet React. Il offre des builds rapides et une prise en charge simple de TypeScript
  • Next.js :
    • un méta-framework basé sur React qui prend en charge le rendu côté serveur (SSR) et la génération de sites statiques (SSG)
    • propose diverses fonctionnalités, dont le routage basé sur les fichiers, les routes API et les React Server Components (RSC)
  • TanStack Start (Beta) : nouveau framework basé sur React, avec prise en charge prévue des React Server Components. En cours de développement comme alternative à Next.js
  • React Router : bibliothèque de référence pour le routage côté client dans React. Elle évolue actuellement sous l’influence de Remix
  • Astro : outil de génération de sites statiques agnostique vis-à-vis du framework. Il peut être utilisé avec React et permet d’optimiser les performances en réduisant au minimum le JavaScript inutile
  • Nitro , Redwood , Waku
    • nouveaux frameworks et outils pour React
    • Waku est une bibliothèque prenant en charge les React Server Components, créée par le développeur de Zustand
  • Recommandations :
    • rendu côté client (CSR) : Vite
    • rendu côté serveur (SSR) : Next.js
    • génération de sites statiques (SSG) : Astro

Gestionnaires de paquets React

  • npm : gestionnaire de paquets par défaut de Node.js et le plus utilisé
  • Yarn : offre une meilleure gestion des dépendances et des gains de vitesse
  • pnpm : très performant, mais relativement moins répandu
  • Turborepo : outil de gestion de monorepo permettant d’administrer efficacement plusieurs projets React
  • Recommandations :
    • gestion de paquets générale : npm
    • si une optimisation des performances est nécessaire : pnpm
    • en cas de besoin d’un monorepo : Turborepo

Gestion d’état dans React

  • useState, useReducer : hooks intégrés de base de React pour gérer l’état dans les composants
  • useContext : hook intégré de base de React pour la gestion de l’état global
  • Zustand : bibliothèque permettant de gérer l’état global avec une API simple. Plus facile à utiliser que Redux, elle est récemment privilégiée par de nombreux développeurs
  • Redux : bibliothèque de gestion d’état utilisée depuis longtemps. Aujourd’hui, Redux Toolkit s’est imposé comme standard
  • XState, Zag : bibliothèques de gestion d’état basées sur des machines à états
  • Mobx , Jotai , Nano Stores : bibliothèques de gestion d’état pouvant servir d’alternatives à Zustand et Redux
  • Recommandations :
    • état local : useState / useReducer
    • petit état global : useContext
    • grand état global : Zustand

Récupération de données dans React

  • TanStack Query : bibliothèque de data fetching pour les requêtes d’API REST et GraphQL. Elle propose des fonctionnalités comme le cache, la synchronisation et les mises à jour optimistes
  • Apollo Client : bibliothèque de gestion de données optimisée pour les API GraphQL
  • urql : client GraphQL léger
  • Relay : client GraphQL haute performance développé par Facebook
  • RTK Query : outil qui facilite le data fetching dans l’écosystème Redux
  • tRPC : fournit une communication API type-safe entre back-end et front-end basée sur TypeScript. Peut être utilisé avec TanStack Query
  • Recommandations :
    • récupération de données côté serveur : React Server Components / Functions (si vous utilisez un méta-framework compatible)
    • récupération de données côté client : TanStack Query (REST, GraphQL)
    • GraphQL uniquement : Apollo Client
    • communication API type-safe : tRPC

Routage React

  • React Router : bibliothèque la plus largement utilisée pour le routage côté client
  • TanStack Router (Beta) : nouvelle bibliothèque de routage offrant un excellent support de TypeScript
  • Recommandations :
    • routage côté serveur : Next.js
    • routage côté client : React Router (le plus utilisé), TanStack Router (tendance récente)

Le styling CSS de React

  • Tailwind CSS
    • Approche Utility-First CSS, permettant un styling rapide grâce à des classes prédéfinies
    • Permet de conserver un design system cohérent, mais le nommage des classes peut devenir complexe
  • CSS Modules
    • Permet de modulariser les styles par composant afin d’éviter les conflits de styles globaux
    • L’une des approches de modularisation CSS les plus largement utilisées
  • styled-components
    • Approche CSS-in-JS qui consiste à définir le CSS dans le code JavaScript
    • Sa popularité est récemment en baisse en raison de problèmes de performance et côté server-side
  • Emotion : bibliothèque CSS-in-JS similaire à styled-components, avec optimisation des performances et possibilité d’utiliser des classes utilitaires
  • clsx : bibliothèque utilitaire qui facilite la définition conditionnelle de className
  • StyleX : nouvelle solution CSS-in-JS développée par Facebook. Offre un styling utility-first grâce à une compilation optimisée
  • Autres bibliothèques CSS : PandaCSS , linaria , vanilla-extract , nanocss , UnoCSS , Styled JSX
  • Recommandations :
    • Approche la plus populaire : Tailwind CSS
    • Si une modularisation des styles est nécessaire : CSS Modules
    • Solution CSS-in-JS récente : StyleX

Bibliothèques UI pour React

  • Material UI (MUI) : bibliothèque UI encore très utilisée dans les projets freelance. Basée sur le système Material Design de Google
  • Mantine UI : bibliothèque UI la plus populaire en 2022. Prend en charge de nombreuses fonctionnalités et les styles personnalisés
  • Chakra UI : bibliothèque UI la plus populaire en 2021. Excellente en matière d’accessibilité et de facilité de styling
  • Hero UI : bibliothèque UI renommée depuis l’ancien Next UI
  • Park UI : bibliothèque UI basée sur Ark UI
  • PrimeReact : propose divers composants UI préconstruits
  • Bibliothèques UI headless
  • Bibliothèques UI dont l’usage a diminué
  • Recommandations :
    • Bibliothèques UI avec styles inclus : MUI, Mantine, Chakra UI
    • Bibliothèques UI headless sans styles inclus : shadcn/ui, Radix

Bibliothèques d’animation pour React

  • Motion : bibliothèque d’animation la plus recommandée (anciennement Framer Motion)
  • react-spring : permet de créer des animations basées sur la physique

Graphiques et visualisation de données pour React

  • D3.js : bibliothèque de graphiques bas niveau, puissante mais avec une courbe d’apprentissage abrupte
  • Recharts : bibliothèque de graphiques facile à utiliser. Permet une personnalisation de base
  • visx : fonctionne de manière similaire à D3, mais est plus adaptée à React
  • Autres bibliothèques de graphiques : Victory , nivo , react-chartjs
  • Recommandations :
    • Graphiques simples : Recharts
    • Personnalisation de type D3 : visx

Bibliothèques de formulaires pour React

  • React Hook Form : la bibliothèque de formulaires React la plus utilisée. Utilisée avec zod, elle permet une validation de formulaires puissante
  • Conform : bibliothèque de formulaires émergente, facile à intégrer dans des applications full-stack
  • Formik , React Final Form : bibliothèques de formulaires React traditionnelles, encore utilisées dans certains projets
  • Recommandations :
    • Pour choisir une bibliothèque de formulaires, utiliser React Hook Form + zod

Style de code et formatage pour React

  • ESLint : linter pour maintenir le style du code. Permet d’appliquer des guides de style populaires
  • Prettier : outil de formatage offrant un style de code cohérent. Peut être utilisé avec ESLint
  • Biome : linter et formateur de code tout-en-un rapide, basé sur Rust (anciennement Rome). S’impose comme une alternative à ESLint et Prettier
  • Recommandations :
    • Utiliser la combinaison ESLint + Prettier
    • Envisager Biome comme nouvelle alternative

Authentification React

  • Lucia : solution d’authentification prenant en charge OAuth et des fonctionnalités de chiffrement
  • Better Auth : l’un des services d’authentification récents
  • Auth.js : bibliothèque d’authentification facile à utiliser avec Next.js et divers frameworks
  • Services d’authentification payants : Clerk , Kinde
  • Authentification basée sur Firebase/Supabase : Supabase Auth
  • Autres services d’authentification : AuthKit , Auth0 , AWS Cognito
  • Recommandations :
    • Authentification simple : Auth.js, Supabase Auth
    • Renforcement d’OAuth et des fonctionnalités de sécurité : Lucia, Better Auth

Back-end React

  • Next.js : fournit le rendu côté serveur (SSR) et des routes API
  • Astro : framework bien adapté à la création de sites web statiques
  • tRPC : solution pour une communication API type-safe
  • Hono : framework serveur ultra-léger, utilisable avec React
  • Frameworks back-end Node.js traditionnels
    • Express : le framework back-end Node.js le plus populaire
    • Fastify : framework Node.js haute performance
    • NestJS : adapté aux applications de grande envergure
    • Elysia : back-end moderne basé sur TypeScript
  • Autres frameworks back-end
  • Recommandations :
    • Développement React full stack : Next.js, tRPC
    • Si un back-end traditionnel est nécessaire : Express, Fastify

Bases de données et ORM pour React

  • Prisma : l’ORM basé sur TypeScript le plus populaire
  • Drizzle ORM : ORM remarqué comme alternative à Prisma
  • Autres ORM et query builders : Kysely , database-js : dédié à PlanetScale
  • Bases de données serverless
  • Bases de données basées sur Firebase/Supabase
  • Recommandations :
    • Si vous avez besoin d’un ORM : Prisma, Drizzle ORM
    • Bases de données serverless : PlanetScale, Neon

Hébergement React

Bibliothèques de test React

  • Vitest : framework de test plus rapide que Jest et optimisé pour les projets React modernes. Fournit l’exécution des tests, les assertions et les fonctionnalités de mocking
  • Jest : framework de test encore largement utilisé dans les projets plus anciens
  • React Testing Library (RTL)
    • bibliothèque de référence pour tester des composants React
    • fournit le rendu d’éléments HTML et la simulation d’événements
  • Playwright
    • outil de test E2E (End-to-End) le plus recommandé
    • permet l’automatisation des tests sur divers navigateurs et environnements d’appareils
  • Cypress : outil de test E2E front-end, en concurrence avec Playwright
  • Recommandations :
    • Tests unitaires/d’intégration : Vitest + React Testing Library
    • Tests E2E : Playwright (ou Cypress)
    • Option de tests snapshot : Vitest

React et structures de données immuables

  • Immer :
    • bibliothèque qui aide à manipuler facilement des structures de données immuables
    • permet d’implémenter de façon concise une logique complexe de modification d’état

Prise en charge du multilingue (i18n) avec React

  • FormatJS : bibliothèque i18n puissante incluant le formatage des dates, nombres, devises, etc.
  • react-i18next : bibliothèque de prise en charge multilingue la plus utilisée avec React
  • Lingui : offre une prise en charge multilingue puissante avec une configuration minimale
  • next-intl : bibliothèque multilingue pour les projets Next.js
  • Recommandations :
    • Choix le plus courant : react-i18next
    • Projets basés sur Next.js : next-intl

Éditeurs de texte enrichi pour React

  • TipTap : éditeur de texte enrichi moderne avec une excellente extensibilité
  • Plate : solution d’édition puissante basée sur Slate.js
  • Lexical : éditeur de texte enrichi léger créé par Facebook
  • Slate : framework d’éditeur de texte enrichi personnalisable
  • Recommandations :
    • Si une extensibilité flexible est nécessaire : TipTap
    • Éditeur léger et optimisé : Lexical

Systèmes de paiement React

  • PayPal : l’un des systèmes de paiement les plus utilisés
  • Stripe : propose une API de paiement pensée pour les développeurs
  • Autres solutions de paiement
  • Recommandation :
    • Solution de paiement simple : Stripe
    • Si la prise en charge de PayPal est nécessaire : PayPal ou Braintree

Gestion de l’heure et des dates dans React

  • date-fns : bibliothèque légère offrant de nombreuses fonctions de date/heure
  • Day.js : alternative légère à Moment.js, avec une API similaire
  • Recommandation :
    • Bibliothèque la plus légère : Day.js
    • Bibliothèque riche en fonctionnalités : date-fns

Applications desktop React

  • Electron :
    • framework de développement d’applications desktop cross-platform
    • permet de créer des applications Windows, macOS et Linux avec des technologies web (HTML, CSS, JS)
  • Tauri
    • alternative plus légère à Electron, utilisant un backend basé sur Rust
    • adapté aux projets où la sécurité et les performances sont essentielles
  • Recommandation :
    • Réutiliser directement les technologies web : Electron
    • Léger & priorité à la sécurité : Tauri

Upload de fichiers dans React

  • react-dropzone : bibliothèque React basée sur des hooks pour l’upload de fichiers, avec prise en charge du glisser-déposer

Rendu d’e-mails avec React

  • react-email (recommandé) : permet de créer des e-mails HTML responsives à l’aide de composants React
  • mjml : langage de balisage permettant de générer facilement des e-mails HTML
  • Mailing : aide les développeurs à créer et gérer facilement des e-mails
  • jsx-email : permet de créer des templates d’e-mails avec la syntaxe JSX
  • Fournisseurs de services d’e-mail :
  • Recommandation :
    • Créer des e-mails dans le style React : react-email
    • Si un service d’e-mail est nécessaire : SendGrid, Mailgun

Glisser-déposer dans React

  • @hello-pangea/dnd : projet successeur de react-beautiful-dnd, offrant une utilisation simple
  • dnd kit : très flexible et personnalisable, mais avec une courbe d’apprentissage
  • Recommandation :
    • Glisser-déposer simple : @hello-pangea/dnd
    • Si vous avez besoin de personnalisation : dnd kit

Développement mobile avec React

  • React Native : framework de développement d’applications mobiles cross-platform basé sur React
  • Expo : toolchain qui facilite encore davantage le développement avec React Native
  • Tamagui : permet d’utiliser les mêmes composants UI sur le web et sur mobile
  • Recommandation :
    • Développement mobile : React Native + Expo
    • Unifier l’UI web et mobile : Tamagui

Développement VR/AR avec React

  • react-three-fiber : bibliothèque de rendu 3D basée sur Three.js, avec des cas d’usage en VR
  • react-360 (archivé) : framework VR/AR développé par Facebook (n’est plus maintenu)
  • aframe-react (n’est plus maintenu) : bibliothèque permettant d’utiliser A-Frame dans React
  • Recommandation :
    • Bibliothèque React 3D/VR moderne : react-three-fiber

Prototypage de design React

  • Figma : outil le plus populaire pour le design UI/UX et le prototypage
  • Excalidraw : permet de créer des wireframes et diagrammes au style dessiné à la main
  • tldraw : outil de croquis similaire à Excalidraw
  • Recommandation :
    • Design UI/UX : Figma
    • Wireframes simples : Excalidraw

Documentation des composants React

  • Storybook : outil de référence pour le développement et la documentation de composants UI
  • Docusaurus : générateur de sites statiques pour la documentation technique
  • Styleguidist : outil de documentation de style guides centré sur les composants React
  • React Cosmos : fournit un environnement pour développer et tester des composants UI de manière isolée
  • Recommandation :
    • Documentation de composants : Storybook
    • Création de documentation technique : Docusaurus

6 commentaires

 
tmdeoans 2025-10-12

ssgoi.dev : bibliothèque de transitions de pages pour React

Merci de l’ajouter aussi, haha..

 
clastneo 2025-03-04

J’ai l’impression qu’Expo devrait plutôt être considéré comme le framework de RN.

 
codemasterkimc 2025-03-04

D’après les recherches Google Trends, Redux est à 90 % et Zustand n’atteint même pas 10 %, donc c’est étonnant de voir Zustand au-dessus lol

 
dooboo 2025-03-04

C’est la force de l’héritage.

À titre de référence, jQuery détient 90 % de parts de marché...

 
xguru 2025-03-04
 
xguru 2025-03-04

Les bibliothèques recommandées pour développer des applications avec React en 2022

On dirait que c’est mis à jour chaque année, mais cela faisait trois ans cette fois-ci. C’est intéressant de comparer.