Fortschritt von Tailwind CSS v4.0 als Open Source veröffentlicht
(tailwindcss.com)- Die neue Hochleistungs-Engine Oxide wird für Tailwind CSS v4.0 entwickelt.
- Sie wurde entwickelt, um die Developer Experience zu vereinfachen und die neuesten Entwicklungen der Web-Plattform zu nutzen.
- Ursprünglich war die Veröffentlichung als v3.x-Release geplant, man entschied sich jedoch, sie als v4.0 herauszubringen, da es sich um ein Framework der nächsten Generation handelt.
- Es befindet sich noch in einer frühen Phase und es bleibt noch viel zu tun, aber die erste öffentliche Alpha-Version wurde getaggt, sodass Experimente beginnen können.
Neue Engine, auf Geschwindigkeit ausgelegt
- Die neue Engine wurde von Grund auf neu geschrieben und bietet mit weniger Code mehr Geschwindigkeit.
- Sie liefert bis zu 10-mal schnellere Build-Zeiten; die Tailwind-CSS-Website kann in nur 105 ms und das Catalyst-UI-Kit in 55 ms gebaut werden.
- Die neue Engine hat eine um mehr als 35 % kleinere Installationsgröße, obwohl sie schwere native Pakete wie Rust und Lightning CSS enthält.
- Rust wird für die kostenintensivsten Teile des Frameworks eingesetzt, während der Core in TypeScript bleibt, um Erweiterbarkeit zu ermöglichen.
- Die neue Engine ist ausschließlich von Lightning CSS abhängig.
- Es wurde ein eigener CSS-Parser geschrieben und Datenstrukturen wurden so entworfen, dass das Parsing doppelt so schnell ist wie bei PostCSS.
Integrierte Toolchain
- Tailwind CSS v4 ist kein Plugin mehr, sondern ein All-in-one-Tool zur Verarbeitung von CSS.
@import-Verarbeitung, Vendor Prefixing, Unterstützung für Verschachtelung und mehr sind eingebaut, sodass keine separate Konfiguration erforderlich ist.- Moderne CSS-Funktionen wie
oklch()-Farben und Bereiche für Media Queries werden in Syntax mit besserer Browser-Unterstützung umgewandelt. - Ein PostCSS-Plugin wird weiterhin angeboten, außerdem werden Bundler-Plugins evaluiert; zusammen mit dem ersten Alpha-Release wird ein offizielles Vite-Plugin bereitgestellt.
Für das moderne Web entwickelt
- Tailwind CSS v4 zielt darauf ab, ein Framework zu schaffen, das sich auch in den kommenden Jahren modern anfühlt.
- Es verwendet echte
@layer-Regeln, um Spezifitätsprobleme zu lösen, die in der Vergangenheit problematisch waren. - Mit
@propertywerden interne benutzerdefinierte Eigenschaften klar definiert und Effekte wie Hintergrundverläufe ermöglicht. color-mixerleichtert die Anpassung der Opazität von Farbvariablen oder die Opazitätssteuerung voncurrentColor.- Container Queries werden direkt im Core unterstützt, einschließlich Bereichen für Container Queries über neue Varianten
@min-*und@max-*.
Kombinierbare Varianten
- Die neue Architektur ermöglicht es, Varianten, die auf unterschiedliche Selektoren wirken, gemeinsam zu kombinieren.
- In früheren Versionen mussten Varianten wie
group-has-*explizit im Framework definiert werden, jetzt kanngroup-*mit der bestehenden Variantehas-*kombiniert werden.
Zero-Config-Content-Erkennung
- Im ersten Alpha-Release können
content-Pfade nicht konfiguriert werden, und in den meisten Projekten wird das auch künftig nicht nötig sein. - Bei Verwendung des PostCSS-Plugins oder der CLI crawlt Tailwind das gesamte Projekt, um Template-Dateien zu finden.
- Bei Verwendung des Vite-Plugins wird auf den Modulgraphen zurückgegriffen, um genau zu wissen, welche Dateien tatsächlich genutzt werden.
CSS-first-Konfiguration
- Ein zentrales Ziel von Tailwind CSS v4.0 ist es, das Framework so wirken zu lassen, als sei es nativ in CSS zu Hause, und nicht wie eine JavaScript-Bibliothek.
- Nach der Installation wird es mit einer normalen CSS-
@import-Anweisung zum Projekt hinzugefügt. - Statt alle Anpassungen in einer JavaScript-Konfigurationsdatei festzulegen, werden CSS-Variablen verwendet.
Geänderte Punkte
- Breaking Changes werden nicht leichtfertig vorgenommen, aber in v4 gibt es einige Dinge, die anders behandelt werden.
- Nicht mehr dokumentierte Utilities werden entfernt.
- Das PostCSS-Plugin und die CLI werden als separate Pakete bereitgestellt.
- Die Standard-Rahmenfarbe wird entfernt.
- Die
ring-Utility ist standardmäßig nun ein 1px-Ring, dercurrentColorverwendet.
Roadmap zu v4.0
- Die neue Engine wurde von Grund auf neu geschrieben und konzentriert sich vollständig auf die Developer Experience mit einem neuen Konfigurationsansatz.
- Abwärtskompatibilität wird als sehr wichtig angesehen und ist eine zentrale Aufgabe auf dem Weg zur stabilen v4.0-Version.
- Dazu gehören Unterstützung für JavaScript-Konfigurationsdateien, explizite Konfiguration von Content-Pfaden, weitere Dark-Mode-Unterstützung, Unterstützung für Plugins und benutzerdefinierte Utilities, Konfiguration von Klassenpräfixen, Unterstützung für Safelists und Blocklists, Unterstützung für die
important-Konfiguration, Unterstützung für die Funktiontheme(), Unterstützung für eine Standalone-CLI und mehr.
Alpha-Version ausprobieren
- Es wurden bereits mehrere Alpha-Releases getaggt, und Experimente im eigenen Projekt können ab heute beginnen.
- Wer die Erweiterung Tailwind CSS IntelliSense verwendet, muss auf der VS-Code-Erweiterungsseite auf die Pre-Release-Version wechseln.
- Wenn Probleme entdeckt werden, wird darum gebeten, diese auf GitHub zu melden.
Vite verwenden
- Die Tailwind-CSS-v4-Alpha und das neue Vite-Plugin werden installiert.
- Das Plugin wird zur Datei
vite.config.tshinzugefügt. - Tailwind wird in der Haupt-CSS-Datei importiert.
PostCSS verwenden
- Die Tailwind-CSS-v4-Alpha und das separate PostCSS-Plugin-Paket werden installiert.
- Das Plugin wird zur Datei
postcss.config.jshinzugefügt. - Tailwind wird in der Haupt-CSS-Datei importiert.
CLI verwenden
- Die Tailwind-CSS-v4-Alpha und das separate CLI-Paket werden installiert.
- Tailwind wird in der Haupt-CSS-Datei importiert.
- Mit dem CLI-Tool wird das CSS kompiliert.
Meinung von GN⁺
- Die Open-Source-Veröffentlichung von Tailwind CSS v4.0 gibt der Entwickler-Community die Möglichkeit, neue Funktionen und Verbesserungen frühzeitig auszuprobieren. Das bedeutet, dass Entwickler Feedback zum Framework geben und zu einem stabileren finalen Release beitragen können.
- Die Leistungsverbesserungen der neuen Engine scheinen die Build-Zeiten deutlich zu verkürzen, was besonders bei großen Projekten oder in Umgebungen mit schnellen Entwicklungszyklen nützlich sein dürfte.
- Die Kombination aus Rust und TypeScript spiegelt einen modernen Ansatz wider, der gleichzeitig auf Performance und Erweiterbarkeit abzielt. Die in Rust geschriebenen Teile maximieren die Leistung, während TypeScript es Entwicklern erleichtert, zu erweitern und zu warten.
- Die neue Konfigurationsmethode mit CSS-Variablen ist CSS-freundlicher als bisherige JavaScript-basierte Einstellungen und könnte die Integration mit Designsystemen erleichtern.
- Diese Änderungen können für bestehende Nutzer zwar gewissen Migrationsaufwand bedeuten, dürften langfristig jedoch zu einer schlankeren und leichter wartbaren Codebasis führen.
2 Kommentare
Hacker-News-Kommentare
Tailwind CSS ist das zweitbeste, was dem Frontend je passiert ist; nur Vue 3 übertrifft es.
Als entschiedener Kritiker von Tailwind ist alles, was unter der CSS-first-Konfiguration angekündigt wurde, sehr zu begrüßen.
CTRL+u zeigt ein gutes Beispiel für die Syntax.
An der Standalone-CLI wird noch gearbeitet, aber sie soll vor dem Release von v4.0 auf jeden Fall fertig werden.
pkgstützt.Es gibt viele vielversprechende Verbesserungen.
Ich hoffe, Tailwind unterstützt attributify wie unocss.
Ich bin kein Frontend-Entwickler, pflege aber einige Websites, und sie alle verwenden Tailwind.
Ich frage mich, ob es gute Tutorials oder Guides zu Tailwind gibt.
Ich frage mich, ob jemand tailwindcss zusammen mit htmx oder anderen HATEOAS-Ansätzen verwendet.
Ich wollte es in einem Demo-Projekt verwenden, aber
import from "node:@tailwindcss/postcss@latest"löst einen Fehler zumexports-Feld in der package.json aus.postcss-importnicht verwenden müsse, es ist aber weiterhin als Abhängigkeit enthalten.