React est une bibliothèque JavaScript open-source qui aide à créer une interface utilisateur pour le Web et les applications mobiles. Elle se combine aisément avec d'autres frameworks et bibliothèques JavaScript, et contient de minuscules bouts de code autonomes appelés composants.
Avec la croissance rapide de React et de sa communauté d'utilisateurs, il existe une gamme croissante de bibliothèques de support, en particulier les bibliothèques de composants UI. Ces bibliothèques nous font gagner beaucoup de temps et d'efforts lors de la création d'applications React belles et modernes. Elles fournissent de nombreux composants prêts à l'emploi tels que des jeux d'icônes, des boutons, des sélecteurs de date et d'heure, des entrées de formulaire, des calendriers, des menus, des paginations, des cartes, et bien d'autres encore.
Material Kit React a été inspiré par le Material Design de Google, et il construit un ensemble d'éléments cohérents. Cela permet au projet web de conserver une cohérence dans son apparence et ses fonctionnalités. La mise en page est similaire à plusieurs feuilles de papier. Cela donne de l'ordre et de la profondeur aux mises en page. Material Kit contient plusieurs éléments essentiels comme les badges, les boutons, le menu, les curseurs, la pagination, les pilules, les onglets et les barres de navigation qui vous permettent de créer une excellente application React. Les éléments JavaScript comprennent un sélecteur de date et d'heure, des infobulles, des modales, des popovers et des carrousels. On peut utiliser le kit pour démarrer un nouveau projet ou pour relooker un ancien projet Bootstrap.
Les créateurs de Ant Design ont construit un langage de conception unique et y ont implémenté des composants React. Google a créé son langage connu sous le nom de Material Design, basé sur des animations responsives, des mises en page basées sur une grille et des cartes. Material UI dispose de nombreux widgets d'interface utilisateur configurables et accessibles. Ces composants sont indépendants et autoportants, et ils n'injectent que les styles nécessaires à l'affichage, ce qui améliore les performances des applications. Elle offre un design et une mise en page légers, simples et conviviaux, ce qui permet aux développeurs de créer facilement des applications dynamiques.
React Toolbox est l'une des rares bibliothèques de composants qui fournissent des composants React UI basés sur la spécification Material Design de Google. Elle dispose de nombreux composants tels que des cartes, des boutons, des dialogues, des sélecteurs de date et d'autres éléments qui permettent aux développeurs de construire d'excellentes applications web. La bibliothèque est également dotée d'une excellente documentation. Son site Web offre aux développeurs un espace pour expérimenter avec la documentation. La mise en route est aussi simple qu'un téléchargement NPM. Il serait utile de se rappeler que les modules CSS sont par défaut responsables de l'importation des feuilles de style écrites en SASS, qui alimente la React Toolbox.
Ant Design est une bibliothèque React UI et un système de conception pour les applications Web. Elle fournit aux développeurs un ensemble de composants et de démos pour construire des interfaces utilisateur interactives telles que des boutons, des icônes, des fils d'Ariane, des grilles, des cartes, des barres de navigation, des aides à la mise en page, etc. Les composants sont pris en charge dans plusieurs langues.
La bibliothèque est utilisée dans des milliers d'applications dans un large éventail de secteurs et bénéficie d'un soutien communautaire suffisant. Tous les aspects de Ant Design sont bien pensés, et elle est construite sur la base d'un système de conception conçu par ses créateurs. La bibliothèque est basée sur diverses spécifications et principes unitaires, principalement créés pour les applications de bureau internes.
Ant Design permet de créer une cohérence entre tous les composants d’une application et son langage de style est Less.js. Il est créé explicitement pour les applications de bureau et est basé sur divers principes et spécifications. Une version pour applications mobiles est disponible pour React Native.
L'ancienne bibliothèque Bootstrap était une combinaison de fichiers JS et CSS. Cette combinaison permettait aux développeurs d'ajouter des composants d'interface utilisateur préprogrammés et préstylés.
React Bootstrap est une combinaison des bibliothèques React et Bootstrap. Cette bibliothèque fait le pont entre l'ancien et le nouveau style en injectant la puissance de React dans une bibliothèque déjà robuste et dynamique. Pour nous permettre de mieux contrôler la fonction et la forme de chaque composant, le React Bootstrap remplace le JS (JavaScript) de Bootstrap par React. Chaque composant construit devient facile d'accès, ce qui est crucial pour le développement de frameworks front-end.
React Bootstrap ne s'éloigne pas de son noyau Bootstrap, de sorte que les développeurs ont le choix entre des milliers de thèmes Bootstrap.
Pour construire un front-end lourd en données, React Virtualized est la bibliothèque à utiliser. Elle possède de nombreux composants utiles pour le rendu d'énormes tableaux, grilles et listes. On y trouve des défileurs de fenêtre, des maçonneries, des autosizeurs, des colonnes, etc. Les tableaux sont personnalisables en configurant la hauteur des lignes et en affichant des espaces dans les cellules. Cette bibliothèque a peu de dépendances et prend en charge les navigateurs de type standard, tels que les récents navigateurs mobiles Android et iOS.
Dans Blueprint, les composants React sont principalement utilisés pour les applications de bureau. Ces composants sont bien adaptés au développement d'interfaces complexes et denses en données. Il est possible de récupérer des morceaux de code dans la bibliothèque de composants pour générer et afficher des icônes, choisir des fuseaux horaires, interagir avec des dates et des heures, etc. Dans Blueprint, il est possible de personnaliser les éléments comme bon nous semble.
Grommet fournit aux développeurs des composants modulaires, responsives, thématisables et accessibles. Comme tous les développeurs ne sont pas doués pour la conception, Grommet fournit un jeu d'icônes (complet) et un kit de conception. Ce kit de conception comporte différents thèmes comme Adobe XD, Sketch pour macOS, etc. Grommet aide à construire des projets web accessibles et responsives de type mobile-first avec une bibliothèque facile à utiliser. La beauté de Grommet est qu'il permet l'intégration avec un projet existant ou même lors du démarrage de nouveaux projets. Pour les écrans plus larges ou les téléphones mobiles à petit écran, Grommet aide rapidement à concevoir une mise en page.
Fluent UI était auparavant connu sous le nom de Fabric React, et s'inspire de Fluent Design UI de Microsoft. Fluent offre aux développeurs React une nouvelle approche des éléments de conception utilisés pour construire des applications web robustes. La bibliothèque Fluent est compatible avec plusieurs plateformes telles que desktop, macOS, Windows, iOS et Android. Fluent est déjà utilisé par diverses applications Microsoft comme Azure DevOps, OneNote, Office 365, et d'autres. La bibliothèque fournit aux développeurs des ressources telles que des boîtes à outils de conception, des contrôles, des démos, des tutoriels, des polices, de la documentation, etc. L'interface utilisateur fluide de Microsoft présente un aspect et une convivialité cohérents et directs.
Onsen est une bibliothèque de composants qui se concentre sur la conception d'applications mobiles. Cette bibliothèque a été écrite en JavaScript et n'a pas eu de dépendances substantielles de framework. Onsen est disponible pour Vue, AngularJS 1 et 2. Cela ne signifie pas qu'Onsen n'a pas de liens avec React. Il a des liaisons React utiles pour simplifier l'intégration d'Onsen dans les projets React. Pour le développement d’une application mobile-first, on peut utiliser Onsen UI car cela donnera la possibilité de construire une excellente expérience utilisateur avec un effort réduit et une compatibilité unique avec d'autres plateformes.
Semantic UI React est basé sur jQuery, ce qui ajoute plus de fonctionnalités. Il utilise un HTML convivial pour son framework et s'intègre avec React, Ember, Meteor, Angular et d'autres frameworks. Semantic permet de charger n'importe quel CSS sémantique sur son application React sémantique. On obtiendra une flexibilité dans la personnalisation des composants puisqu’on a accès au balisage.
Semantic a plus de compatibilité avec React, et on peut maintenant utiliser du code JSX pour la définition des composants et le lier avec son code de composant React.
Chakra UI est une bibliothèque de composants simple mais modulaire et accessible qui fournit des blocs de construction pour construire une application React dynamique. Chakra a un ensemble de composants de mise en page comme Stack et Box qui rendent le style de nos composants via le passage de props beaucoup plus facile. L'un des avantages de Chakra est que la plupart de ses composants sont compatibles avec le mode sombre. Chakra peut aider à construire des composants simples et composables qui répondent aux besoins réels de l'interface utilisateur.
Rebass est une petite bibliothèque de composants qui permet de créer des éléments d'interface utilisateur thématisables à partir d'une bibliothèque Styled System. Rebase contient huit composants de base dans un tout petit fichier, et ils sont tous conçus pour créer des conceptions Web réactives. Ces composants constituent un excellent point de départ pour les développeurs, qui pourront les étendre à des composants d'interface utilisateur personnalisés pour leurs applications à l'aide du ThemeProvider intégré. Si un développeur ne veut pas s'appuyer sur des bibliothèques de composants et souhaite plutôt développer une bibliothèque existante, il peut utiliser Rebass.
La bibliothèque de composants Evergreen a été créée par les développeurs de Segment. Il s'agit d'un projet open-source contenant des composants pour toutes les fonctionnalités Web. Le design d'Evergreen est simple, intuitif et léger. Evergreen explique toutes les décisions de conception, et on peut l'utiliser pour construire rapidement de belles interfaces. La version actuelle d'Evergreen offre aux développeurs des options de thématisation avec le composant ThemeProvider, mais il est prévu que les versions futures disposent d'une API plus efficace et plus puissante.