shadcn/ui est une collection de composants UI réutilisables, conçus pour être copiés directement dans le projet plutôt qu'installés comme une dépendance npm. Basés sur Radix UI (primitives accessibles) et stylés avec Tailwind CSS, les composants sont élégants, accessibles et entièrement personnalisables puisqu'on possède le code.
Ses atouts :
- Copy-paste, pas de dépendance : les composants sont copiés dans le projet via une CLI — on possède le code et on le personnalise librement.
- Radix UI : construit sur des primitives accessibles et robustes (Dialog, Popover, Select, etc.).
- Tailwind natif : parfaitement intégré à Tailwind CSS avec un système de thème via CSS variables.
- Design soigné : des composants visuellement très réussis, avec une esthétique moderne et cohérente.
- Écosystème : de nombreux ports pour Vue (shadcn-vue), Svelte et d'autres frameworks.
shadcn/ui est un excellent toolkit UI que nous utilisons sur nos projets, notamment pour sa qualité visuelle et son intégration parfaite avec Tailwind. Cependant, les composants restent variés en termes de couverture mais manquent de richesse sur les comportements avancés : pas de DataTable complexe, pas de TreeSelect, pas de composants métier riches. Pour les projets nécessitant des composants interactifs avancés, nous lui préférons PrimeVue ou PrimeReact qui vont beaucoup plus loin fonctionnellement. shadcn/ui reste le bon choix pour les interfaces où l'esthétique prime sur la complexité d'interaction.