Artikel teilen

GitHub hat CSS-in-JS von seiner Website verbannt und gestaltet die Oberfläche seit Juni 2026 vollständig mit CSS Modules. Mit den umgebauten Grundkomponenten brauchte der Server 55 % weniger Zeit, um eine Seite zu rendern. Die letzten 895 Altfälle im Code erledigten zwei Entwickler mit Copilot-Agenten in drei Wochen.

Ein Klick · kostenlosDr. Web bei Google bevorzugenMarkieren Sie drweb.de als bevorzugte Quelle. Dann sehen Sie unsere Artikel öfter unter den Top-Meldungen.Jetzt hinzufügen
Inhalt 5 Abschnitte
  1. Warum wird CSS-in-JS auf großen Seiten langsam?
  2. Wie baute GitHub um, ohne die Plattform zu gefährden?
  3. Ist CSS-in-JS damit am Ende?
  4. Was sollten Unternehmen mit React-Frontend jetzt prüfen?
  5. Mehr Newshunger?

„Für neue Projekte würde ich weder styled-components noch die meisten anderen CSS-in-JS-Lösungen empfehlen“, schrieb Evan Jacobs, Hauptentwickler von styled-components, im März 2025.[2] Auf dieser Bibliothek baute damals ein großer Teil der GitHub-Oberfläche auf. Den Ausstieg schildern die Primer-Entwickler Josh Black und Marie Lucca im GitHub-Blog.[1]

Auf einen Blick

Das Wichtigste in Kürze

  • GitHub liefert alle Stile seit Juni 2026 als statische CSS-Dateien aus, styled-components ist aus dem Code verschwunden.
  • Mit den umgebauten Primer-Komponenten sank die Server-Renderzeit einer Seite um 55 %, das Initialisieren der Komponenten dauerte 25 % kürzer.
  • Felddaten zur Ladezeit bei echten Nutzern, etwa Core Web Vitals, veröffentlicht GitHub nicht.

Warum wird CSS-in-JS auf großen Seiten langsam?

Ein Heißluftballon schwebt über einem Sack mit der Aufschrift „BALLAST“ vor weißem Grund
CSS-in-JS generiert Stile beim Rendern durch JavaScript-Objekte und fügt sie als style-Elemente ein. Seit 2023 führt die wachsende Komponentenzahl bei GitHub zu Performance-Problemen

Bei CSS-in-JS entstehen die Stile erst beim Rendern. Die Bibliothek wertet JavaScript-Objekte aus, erzeugt daraus CSS-Regeln und fügt sie als style-Element in die Seite ein. Seit 2023 wuchs bei GitHub die Zahl der Komponenten pro Seite so stark, dass Seitenaufbau, Server-Rendering und Stil-Updates langsamer wurden.[1]

Wie viel Verwaltung dahintersteckt, zeigt die Next.js-Dokumentation. Laufzeit-Bibliotheken brauchen dort eine eigene Registry, die jede Regel beim Rendern einsammelt, und laufen nur in Client Components.[3] Am teuersten war bei GitHub die sx-Prop, deren Stilobjekte die Bibliothek bei jedem Rendern neu verarbeitete.

CSS Modules drehen das Prinzip um. Die Stile liegen als gewöhnliche CSS-Datei neben der Komponente, ein Build-Schritt macht die Klassennamen lokal eindeutig und bündelt alles zu statischen Stylesheets. Beim Seitenaufruf muss kein Styling-Code mehr laufen.

Wie baute GitHub um, ohne die Plattform zu gefährden?

Das Primer-Team stellte Komponente für Komponente um. Jede neue Fassung hing an einem Feature-Flag und ging erst an die eigene Belegschaft, dann an alle Nutzer; visuelle Regressionstests prüften, ob alte und neue Variante gleich aussahen. Im Dezember 2024 war das Designsystem Primer komplett umgestellt.[1]

Der Produktcode blieb die größere Baustelle. Acht Entwickler migrierten im Wechsel 6.419 sx-Props in sechs Monaten, unterstützt von einem VS-Code-Plug-in und einem Codemod. Die restlichen 895 räumten im April 2026 zwei Entwickler mit Copilot-Coding-Agenten in drei Wochen ab.[1] Ob diese Restfälle leichter waren, verrät GitHub nicht.

GitHubs Abschied von CSS-in-JS
Was der Umstieg auf CSS Modules brachte und wie lange er dauerte
55 %
weniger Zeit für das Server-Rendering einer Seite mit umgebauten Primer-Komponenten
25 %
weniger Zeit, bis die Komponenten einer Seite initialisiert sind
7.760
Stilobjekte (sx-Props) zählte der Produktcode zu Spitzenzeiten
3 Wochen
brauchten zwei Entwickler mit Copilot-Agenten für die letzten 895 Stilobjekte

Der Umbau im Zeitverlauf

2023Die Zahl der Komponenten pro Seite steigt stark, CSS-in-JS verlangsamt Seitenaufbau und Server-Rendering.
Dez. 2024Das Designsystem Primer läuft komplett auf CSS Modules.
März 2025styled-components wechselt in den Wartungsmodus.
Apr. 2025Die Migration der sx-Props im Produktcode beginnt.
Apr. 2026Copilot-Agenten helfen, die letzten 895 sx-Props zu entfernen.
Juni 2026GitHub läuft vollständig auf CSS Modules.

Ist CSS-in-JS damit am Ende?

Jacobs begründete den Wartungsmodus von styled-components damit, dass die Context-API in React Server Components fehlt und sich das Ökosystem von CSS-in-JS abgewandt hat, während Tailwind boomt.[2]

Die Idee, Stile direkt neben der Komponente zu schreiben, lebt ohne Laufzeit weiter. Die Werkzeuge vanilla-extract und Panda CSS erzeugen ihre Stylesheets beim Build statt im Browser.[4][5] Beide stehen auf der Liste der Bibliotheken, die Next.js im App Router unterstützt.[3]

Stile, die erst beim Rendern entstehen, kosten bei jedem Seitenaufruf Rechenzeit. GitHub brauchte drei Jahre, um diese Dauerrechnung aus dem Code zu streichen.

Markus Seyfferth, Chefredakteur Dr. Web
Zitat teilen

Was sollten Unternehmen mit React-Frontend jetzt prüfen?

Ladezeit und Reaktionsfähigkeit fließen über die Core Web Vitals in Googles Ranking ein, seit dem Mai-Update als gemeinsamer Gesamtwert. GitHubs Zahlen zeigen, wo Laufzeit-CSS Zeit kostet: beim Server-Rendering und beim Initialisieren im Browser.

  • Prüfen Sie in der package.json, ob styled-components, Emotion oder eine ähnliche Laufzeit-Bibliothek steckt.
  • Messen Sie Server-Renderzeit und Interaction to Next Paint vor dem Umbau, etwa mit einem Werkzeug aus unserem Vergleich der Website-Monitoring-Tools.
  • Bauen Sie gerne nach GitHubs Muster um: schrittweise, hinter Feature-Flags und mit visuellen Regressionstests.
  • Lassen Sie Coding-Agenten die mechanische Umstellung erledigen und jede Änderung von Menschen prüfen, denn KI-Code ist billig erzeugt und teuer im Unterhalt.

Neue Projekte starten besser ohne Styling-Laufzeit, denn schnelle Software berechnet ihre Stile einmal beim Build statt bei jedem Seitenaufruf.

Quellen

5 Quellen anzeigenQuellen ausblenden
  1. GitHub BlogImproving site performance by shipping more CSS, Josh Black und Marie Lucca25.09.2026
  2. styled-components auf Open CollectiveThank you, Evan Jacobs17.03.2025
  3. Next.js-DokumentationHow to use CSS-in-JS libraries
  4. vanilla-extractZero-runtime Stylesheets-in-TypeScript
  5. Panda CSSProjektseite

Mehr Newshunger?

4,2 17 Bewertungen

Wie hat Ihnen dieser Artikel gefallen?

Dr. Web Newsletter

Jede Woche ein bisschen klüger.

Der Dr. Web Newsletter: die besten Artikel, Anbieter-Tipps und neue Tools, kompakt zusammengefasst, jeden Donnerstag. Kostenlos und jederzeit abbestellbar.