shadcn/ui: Code-Ownership-Architektur für React Component Libraries

shadcn/ui hat in zwei Jahren fast 100.000 Sterne auf GitHub bekommen. Wir untersuchen den Ansatz für eigenen Code. Der Ansatz verbindet Radix UI Primitives mit Tailwind CSS.

Auf einen Blick

  • shadcn/ui kopiert fertigen Code direkt in Ihr Projekt. Sie haben die volle Kontrolle über den Code. Es ist kein normales npm-Paket.
  • Die Dateigröße ist nur 12 KB für einen Button und Dialog. Material-UI braucht 340 KB. Das sind etwa 96 Prozent weniger.
  • Es gibt keine erzwungenen Breaking Changes. Ein Breaking Change ist eine Änderung mit Fehlern. Updates sind immer freiwillig. Der Code gehört Ihrem Projekt.
  • Radix UI Primitives und Tailwind CSS bilden die technische Grundlage. Die CLI hilft dabei. Eine CLI ist ein Programm für die Kommandozeile.

Was ist shadcn/ui?  

shadcn/ui verändert die Arbeit von React-Entwicklern. Entwickler nutzen damit UI-Komponenten. UI-Komponenten sind Bausteine für die Benutzeroberfläche. Normale Bibliotheken müssen Sie installieren. shadcn/ui ist anders. shadcn/ui kopiert fertigen TypeScript-Code direkt in Ihr Projekt.

Das neue Konzept  

Der alte Weg:

Der Weg von shadcn/ui:

Warum dieser Weg gut funktioniert  

shadcn/ui verbindet drei gute Techniken miteinander. Das ergibt ein tolles System:

  • Radix UI Primitives: Das bietet Funktionen für die Barrierefreiheit. Die Funktionen erfüllen den Standard WCAG 2.1 AA.
  • Tailwind CSS: Das System verarbeitet das CSS beim Erstellen. Es verbraucht keine Leistung beim Ausführen.
  • CLI-Tool: Dieses Programm kopiert den Code automatisch. Es verwaltet auch die Abhängigkeiten.

Messbare Vorteile  

Leistung:

  • 12 KB Bundle-Size. Das ist die Dateigröße. Material-UI braucht 340 KB. Das sind 96 Prozent weniger.
  • Build-Time CSS. Das System berechnet das Aussehen beim Erstellen. Es nutzt kein langsames JavaScript dafür.
  • Das System packt nur den nötigen Code zusammen.

Vorteile für Entwickler:

  • Volle Kontrolle über den Code. Sie können jede Zeile sehen. Sie können jede Zeile ändern.
  • Keine erzwungenen Breaking Changes. Updates machen keine alten Sachen kaputt. Sie machen Updates nur freiwillig.
  • TypeScript von Anfang an. Der Code hat sofort alle wichtigen Typen.

Nutzerzahlen (Oktober 2025):


Inhaltsverzeichnis  


Technische Vorteile: Darum nutzen Entwickler shadcn/ui  

1. Keine Gefahr durch Breaking Changes  

Das Problem bei alten Bibliotheken:

Die Lösung von shadcn/ui:

Genaue Vorteile:

  • Keine Breaking Changes: Der Code gehört zu Ihrem Projekt.
  • Volle Kontrolle: Sie planen jede Änderung ganz genau.
  • Sicherer Betrieb: Es gibt keine überraschenden Updates der Bibliothek.

2. Bessere Bundle-Size  

Das Problem: Alte UI-Bibliotheken laden die ganze Bibliothek. Sie laden auch nicht genutzten Code. Das nennt man bundlen.

Die Lösung von shadcn/ui: Das System kopiert nur genutzte Komponenten. Es packt auch nur diese zusammen.

Messbare Unterschiede (Beispiel: Button und Dialog):

FrameworkBundle Size
shadcn/ui12 KB
Chakra UI180 KB
Material-UI340 KB
Ant Design520 KB

Wir haben die Bundle-Size mit dem Programm Webpack Bundle Analyzer gemessen. Das Beispiel enthält einen Button und einen Dialog. Der Test war im Oktober 2025. Die Liste ist nach Größe sortiert.

Die Zahlen im Vergleich:

shadcn/ui braucht 12 KB für Button und Dialog. Das sind 96 Prozent weniger als Material-UI. Material-UI braucht 340 KB. Diese große Einsparung hat zwei Gründe:

  1. Nur der nötige Code: Sie laden nicht die ganze Bibliothek. Sie laden nur zwei Komponenten.
  2. Build-Time CSS: Das System wandelt Tailwind CSS früh um. Es nutzt kein langsames JavaScript für das Aussehen.

Warum das wichtig ist: Eine langsame Internetverbindung am Handy lädt etwa 400 KB pro Sekunde. Der Unterschied ist hier 328 KB. Die Seite lädt damit fast eine Sekunde schneller. Das ist sehr wichtig für Online-Shops und Startseiten. Die Kunden kaufen bei schnellen Seiten mehr ein. Das nennt man Conversion-Rate.

Alter Weg (Material-UI):

• Das Paket liegt im Ordner node_modules.
• Updates passieren über den Befehl npm update.
• Breaking Changes sind möglich.


Bekannte Beispiele  

Viele große Projekte nutzen shadcn/ui. Diese Projekte haben viele Besucher:

Echte Beispiele mit React:

ProjektTypQuelle/Referenz
ui.shadcn.comOffizielle AnleitungNext.js 15 + shadcn/ui
v0.devVercel AI Toolv0.dev - UI basiert auf shadcn/ui
Cal.com (teilweise)Software für TermineNutzt Komponenten von shadcn/ui
Unterstützung: Nur für React (offiziell)

shadcn/ui ist nur für React gemacht (Quelle: ui.shadcn.com).

Andere Entwickler haben eigene Versionen gebaut:

  • Vue: shadcn-vue. Entwickler aus dem Internet pflegen diese Version.
  • Svelte: shadcn-svelte. Entwickler aus dem Internet pflegen diese Version.
  • Solid: Es gibt verschiedene Versionen von anderen Entwicklern.

Diese Versionen sind nicht offiziell. Sie bekommen neue Funktionen oft später.

Beispiele für Komponenten

Die offizielle Internetseite ui.shadcn.com zeigt echte Beispiele für alle Komponenten. Sie sehen dort auch den Quellcode. Jede Komponente hat eine Vorschau zum Ausprobieren. Es gibt einen dunklen Modus. Sie sehen den ganzen Code für TypeScript.

Beispiele für Komponenten  

Live-Beispiele zum Ausprobieren

Sie können alle Komponenten auf ui.shadcn.com direkt testen. Sie sehen den ganzen Quellcode. Es gibt einen dunklen Modus. Sie können die Befehle zur Installation einfach kopieren.


Marktdaten: Das Umfeld der React UI-Bibliotheken  

Vergleich der Downloads bei npm in einer Woche:

LibraryDownloads pro WocheQuelle
Material-UI~3,5 Mionpmjs.com/@mui/material
shadcn CLI~330.000npmjs.com/shadcn
Chakra UI~580.000npmjs.com/@chakra-ui/react
Ant Design~450.000npmjs.com/antd

Material-UI hat zehnmal mehr Downloads. Aber shadcn/ui ist kein normales npm-Paket. Deshalb ist der Vergleich etwas schwer.

Aktivität auf GitHub (Oktober 2025):

LibraryGitHub StarsAlter vom Projekt
shadcn/ui98.500etwa 2 Jahre
Material-UI94.000etwa 10 Jahre
Ant Design92.000etwa 9 Jahre
Chakra UI38.000etwa 5 Jahre

Die Quelle ist GitHub. Der Stand ist Oktober 2025. shadcn/ui hat in 2 Jahren fast so viele Sterne wie 10 Jahre alte Projekte bekommen.


Die Technik dahinter  

1. Das Modell für den eigenen Code  

Die Basis: shadcn/ui nutzt das Prinzip Code Ownership. Das bedeutet eigenen Code. Der Code der Komponenten gehört zu Ihrem Projekt. Er gehört zu keiner fremden Bibliothek.

Vorteile:

  • Volle Kontrolle: Sie können jede Zeile Code sehen. Sie können jede Zeile ändern.
  • Keine Breaking Changes: Fremde Updates können Ihr Projekt nicht zerstören.
  • Versionierung: Sie sehen alle Änderungen am Code in Ihrem Git-Repository.

2. Bessere Bundle-Size  

Das Problem: Alte UI-Bibliotheken laden die ganze Bibliothek. Sie laden auch nicht genutzten Code.

Die Lösung von shadcn/ui: Das System kopiert nur genutzte Komponenten. Es packt auch nur diese zusammen.

3. Die verwendeten Techniken  

shadcn/ui verbindet drei gute Techniken. Das ergibt ein tolles System:

Radix UI

radix-ui.com

Es bietet Primitives nach dem Standard WCAG 2.1 AA. Es liefert Funktionen für die Barrierefreiheit. Dazu gehören WAI-ARIA, die Bedienung mit der Tastatur und die Fokus-Steuerung.

Tailwind CSS

tailwindcss.com

Das ist ein CSS-Framework nach dem Utility-First-Prinzip. Es verarbeitet das CSS beim Erstellen. Es verbraucht keine Leistung beim Ausführen. Das ist besser als CSS-in-JS.

CLI-Tool

npmjs.com/shadcn

Das Programm kopiert den Code automatisch in den Ordner /components/ui. Es installiert auch die Abhängigkeiten von Radix.

4. CSS zur Build-Zeit  

Das System verarbeitet Tailwind CSS beim Erstellen. Das nennt man Build-Zeit. Material-UI und Chakra UI nutzen CSS-in-JS. Das braucht leider Leistung beim Ausführen. Das nennt man Runtime-Overhead.

5. Barrierefreiheit  

Radix UI Primitives erfüllen den Standard WCAG 2.1 AA. Die Komponenten von shadcn/ui bekommen diese Funktionen automatisch.

6. Breaking Changes  

Bei Material-UI Version 4 auf Version 5 gibt es viele Breaking Changes. Entwickler müssen den Code per Hand anpassen.

Bei shadcn/ui liegt der Code in Ihrem Repository. Updates sind freiwillig. Niemand zwingt Sie dazu.


Die Nachteile: Wo shadcn/ui nicht passt  

Der eigene Code hat auch messbare Nachteile. Für manche Firmen sind die Nachteile größer als die Vorteile.

FeatureAlte UI-Bibliothekshadcn/ui
Updatesnpm updatePer Hand
WartungFremde EntwicklerIhr eigenes Team
LernkurveEinfachMittel bis Schwer
Codebase-Größenode_modulesEigenes Repository
Breaking ChangesEs gibt ein RisikoKeine
KontrolleNur teilweiseVolle Kontrolle

Wichtige Grenzen:

Große Projekte brauchen mehr Pflege: Sie müssen jede Komponente einzeln pflegen. Bei sehr großen Projekten wird das schwer. Das gilt ab etwa 50 Komponenten.

Tailwind CSS ist Pflicht: Das ganze Aussehen funktioniert nur mit Tailwind. Teams mit anderen CSS-Systemen müssen wechseln.

Updates per Hand: Sicherheits-Updates in Radix UI passieren nicht von allein. Sie müssen diese Updates für jede betroffene Komponente per Hand einbauen.

Nur für React: Es gibt eine offizielle Unterstützung nur für React (ui.shadcn.com). Es gibt auch Versionen für Vue (shadcn-vue.com) und Svelte. Diese sind aber von anderen Entwicklern. Sie haben keine offizielle Unterstützung.


Der Vergleich mit anderen Systemen  

Die Wahl des richtigen Systems hängt von vielen Dingen ab. Diese Tabelle zeigt den Vergleich:

BibliothekGrundideeAussehenAnpassbarkeitBester Einsatz
shadcn/uiEigener CodeTailwind CSS★★★★★Eigene Design-Systeme
Material-UIMaterial DesignEmotion/Styled★★★★☆Große Apps im Material-Design
Chakra UIAnpassbares SystemEmotion/Styled★★★★☆Schnelle Prototypen
Radix UIOhne eigenes DesignBring-Your-Own★★★★★Design-Systeme von Grund auf

Entscheidungs-Hilfe für Firmen:

Kriteriumshadcn/uiMaterial-UIChakra UI
Bundle Size (KB)12340180
Setup-Zeit (Stunden)20.51
Aufwand für AnpassungenGeringVielMittel
Risiko für Breaking ChangesKeinesVielMittel
Beste Team-Größe2-155-503-20
Braucht TailwindJaNeinNein

Das System für das Aussehen: CSS-Variablen statt JavaScript  

shadcn/ui nutzt nur CSS-Variablen für das Aussehen. Andere Systeme nutzen dafür JavaScript. Bei JavaScript braucht das Aussehen extra Leistung beim Ausführen. Bei shadcn/ui gibt es keinen solchen Leistungsverlust.

Der technische Einbau  

CSS-Variablen beim Erstellen:

Tailwind-Klassen konsumieren die Variablen:

Vergleich der Leistung  

shadcn/ui (CSS beim Erstellen):

  • Das System verarbeitet CSS beim Erstellen der Seite.
  • Es braucht keine extra Leistung durch JavaScript beim Ausführen.
  • Die Ausgabe ist festes CSS.

Material-UI und Chakra UI (CSS-in-JS):

  • Das System erstellt CSS erst beim Ausführen der Seite.
  • JavaScript braucht extra Leistung für das Aussehen.
  • Das System fügt CSS laufend in die Seite ein.

Messbare Folgen: Bei mehr als 1000 Komponenten kann CSS-in-JS zu langsam werden. Das merken auch die Nutzer.


Das Vercel-Umfeld: Die strategische Lage  

shadcn/ui ist kein ganz freies Projekt. Der Erfinder nennt sich "shadcn". Er arbeitet als Design Engineer bei der Firma Vercel. Diese Verbindung ist Absicht:

Fakten:

  • Der Erfinder shadcn ist Design Engineer bei Vercel.
  • Das KI-Programm v0.dev von Vercel schreibt Code für shadcn/ui.
  • Die Vercel Academy bietet Kurse für Next.js und React an.
  • Es arbeitet sehr gut mit dem Next.js App Router zusammen.

Das Umfeld der Community  

Wichtige Erweiterungen von anderen Entwicklern:

ProjektTypLink
shadcn-blocksInternetseitengithub.com/shadcn-ui/blocks
shadcn ChartsDaten-Anzeigeui.shadcn.com/charts
auto-formHilfe für Formularegithub.com/vantezzen/auto-form
Aceternity UIAnimationenui.aceternity.com

Einsatz in großen Firmen: shadcn/ui mit TYPO3  

Der Einbau von React-Komponenten in TYPO3 erfordert eine Headless-Architektur. Das bedeutet ein getrenntes System.

Headless TYPO3 mit einem Frontend aus shadcn/ui

Der Einbau: Headless CMS und React-Frontend  

Aufbau vom System:

  1. TYPO3 verwaltet die Inhalte im Backend. Es liefert Daten über eine JSON-API.
  2. Das Frontend nutzt Next.js und shadcn/ui für die Anzeige.
  3. Das System schickt fertige Dateien zurück an TYPO3 für die Verteilung.

Das brauchen Sie für die Technik:

  • Die TYPO3-Erweiterung friendsoftypo3/headless. Sie brauchen Version 4.0 oder neuer für die JSON-API.
  • Ein Frontend mit Next.js ab Version 15 und React Server Components.
  • Die Komponenten von shadcn/ui fügen Sie über die CLI hinzu.
  • Einen eigenen Server für das Frontend. Zum Beispiel Vercel, AWS oder Azure. Oder einen Export der Daten zurück in TYPO3.
Schwieriger Aufbau vom System

Ein Headless CMS macht das System schwieriger. Es gibt nun zwei getrennte Systeme für Backend und Frontend. Sie müssen beide Systeme pflegen. Die Trennung bringt aber auch Vorteile. Sie können dadurch moderne Techniken für das Frontend nutzen.


Verbreitung im Markt  

Wir kennen 35.780 fertige Projekte mit shadcn/ui. Die Verteilung zeigt klare Muster:

MetrikWertTrend
Aktive Internetseiten (Weltweit)35.780+builtwith.com
Aktive Internetseiten (USA)16.026+builtwith.com
GitHub Stars98.500+github.com (Okt 2025)
Kopien auf GitHub7.000+github.com (Okt 2025)
Downloads der CLIetwa 330.000 pro Wochenpmjs.com (Okt 2025)

Es gibt 35.780 bekannte fertige Projekte (BuiltWith, Oktober 2025). Davon sind 16.026 aus den USA. Das sind 44,8 Prozent.


Entwicklung und Planung  

shadcn/ui hat sich in den letzten zwei Jahren immer weiter verbessert. Ein Blick auf die neuen Versionen zeigt große Fortschritte:

Fertig (2025)

Juli 2025: Universal Registry. Das verteilt den Code für alle Frameworks (Changelog).

Juni 2025: Wechsel auf das Radix-UI Mono-Paket. Der Kalender bekommt ein Update mit über 30 Blöcken (Changelog).

Mai 2025: Update auf Next.js Version 15.3 und Tailwind CSS Version 4 (Changelog).

Februar 2025: Unterstützung für React 19 und Vorschau auf Tailwind Version 4 (Changelog).

In Arbeit (Ende 2025 bis Anfang 2026)

Pro Blocks: Neue Blöcke für Apps und Internetseiten (Planung).

Über 50 neue Komponenten: Geplant für Anfang 2026 (Planung).

App-Vorlagen: Das Team plant Vorlagen für verschiedene Arten von Apps.

Neues durch die Community

Der offene Aufbau hilft dem ganzen System. Das Hauptteam pflegt den stabilen Kern. Andere Entwickler bauen neue Erweiterungen. Das taxonomy-Projekt von shadcn testet neue Funktionen von Next.js. Es testet Server Components und den App Router. Das zeigt die enge Verbindung mit React.


Fazit: Die Kosten und der Nutzen  

Die Wahl von shadcn/ui bringt Ihnen mehr Kontrolle. Das hat messbare Kosten und Vorteile.

Hilfe für die Entscheidung  

Featureshadcn/uiMaterial-UIChakra UI
Eigenes Design
Volle Kontrolle über Code
Sehr kleine Dateigröße
Schneller Prototyp
Gute Pflege auf lange Zeit
Tailwind ist Pflicht

Beste Einsatzgebiete  

Dashboards für SaaS und Admin-Seiten

  • Laufzeit vom Projekt: Projekte ab 5 Jahren profitieren sehr vom eigenen Code.
  • Anpassungen: Sie können Dinge oft ändern. Es gibt keine Grenzen durch ein Framework.
  • Beispiele: Daten-Tabellen, Diagramme, Formulare und Dialoge.
  • Gewinn: Sie sparen bei langen Projekten viel Geld für die Pflege.

Seiten mit sehr vielen Inhalten

  • Leistung: Sie laden nur wenig JavaScript. Das CSS wird schon beim Erstellen berechnet.
  • Ladezeit: Die Seite lädt schneller wegen der kleinen Dateigröße. Das verbessert die Core Web Vitals.
  • Beispiele: Blogs, Seiten für Anleitungen und Startseiten.
  • Gewinn: Sie können die bessere Leistung direkt messen.

Basis für eigene Design-Systeme

  • Anpassung: Es ist ein guter Start für eigene Sammlungen von Komponenten.
  • Kontrolle: Sie können alles anpassen. Der Code liegt in Ihrem Repository.
  • Beispiel: Das Projekt taxonomy zeigt gute Muster dafür.
  • Gewinn: Sie bekommen einheitliche Komponenten. Sie können diese immer wieder nutzen.

Wo shadcn/ui nicht passt  

Sehr kurze Projekte (unter 3 Monate)

  • Zeit für den Start: Das Lernen von Tailwind kostet Zeit.
  • Alternativen: Material-UI und Chakra UI sind schneller startklar.
  • Gewinn: Der Start kostet hier mehr als er bringt.

Sehr große Teams (über 50 Frontend-Entwickler)

  • Verwaltung: Die Verwaltung der Komponenten wird sehr schwer.
  • Alternative: Zentrale Updates bei Bibliotheken wie Material-UI passen hier besser.
  • Gewinn: Die viele Absprache im Team frisst die Vorteile auf.

Projekte mit mehreren Frameworks


Zusammenfassung: Es lohnt sich für die richtige Zielgruppe  

shadcn/ui löst ein bestimmtes Problem für eine bestimmte Zielgruppe. Es gibt jede Woche 330.000 Downloads. Diese Gruppe ist also sehr groß und wichtig.

Geprüfte Zahlen mit Quellen:

MetrikWertQuelle
Bundle-Size12 KBEigene Messung (Oktober 2025)
Sterne auf GitHub98.500+github.com/shadcn-ui/ui
Downloads bei npmetwa 330.000 pro Wochenpmjs.com/shadcn
Aktive Seiten35.780+builtwith.com

Nachteile im Aufbau:

  • Tailwind CSS ist Pflicht: Das Team muss Tailwind lernen und nutzen.
  • Pflege per Hand: Sie müssen jede Komponente einzeln pflegen.
  • Fokus auf React: Vue und Angular gibt es nur inoffiziell über die Community.
Die strategische Frage

shadcn/ui ist kein Framework. Es ist eine Entscheidung für eine Architektur. Sie wählen zwischen eigenem Code und externen Abhängigkeiten. Die richtige Wahl hängt von der Teamgröße ab. Sie hängt auch vom Wissen über Tailwind und der Zeit für das Projekt ab. Persönliche Vorlieben sind hier nicht wichtig.


Haben Sie Fragen zum Einbau in Ihre Projekte?
office@webconsulting.at

Was ist Leichter Lesen?

A2

Diese Seite ist in Leichter Sprache geschrieben. Leichte Sprache hilft vielen Menschen, Texte besser zu verstehen. Die Sätze sind kurz. Schwierige Wörter werden erklärt.

Dieser Text wurde nach den Regeln der Leichten Sprache erstellt. Textniveau: A2 (Gemeinsamer Europäischer Referenzrahmen).

Lassen Sie uns ueber Ihr Projekt sprechen

Standorte

  • Mattersburg
    Johann Nepomuk Bergerstraße 7/2/14
    7210 Mattersburg, Austria
  • Wien
    Ungargasse 64-66/3/404
    1030 Wien, Austria

Dieser Inhalt wurde teilweise mithilfe von KI erstellt.