Moin zusammen, liebe TYPONerds :-)
Hat von euch schon jemand Tailwind in einem TYPO3 Projekt eingesetzt? Mich würde sehr interessieren wie eure Erfahrungen sind. Mir geht es hier gar nicht so sehr um den Atomic CSS Ansatz an sich, sondern spezifisch das Zusammenspiel mit TYPO3. Ich nutze Tailwind schon seit 2020 in Nuxt und React Projekten und sehe definitiv die Vorteile. Colocation ist und Konsistenz sind für mich die größten. Wir schließen gerade ein React Projekt ab in dem wir durch Vorgaben der IT (Konzern halt, teilweise hart lächerlich, aber das ist ein anderes Thema) gezwungen waren "traditionelles" CSS zu schreiben und als ich kürzlich in der noch relativ jungen Codebase das erste ˋ!importantˋ geschrieben habe, hat mich das schon sehr nachdenklich gemacht. Ich traue mich jetzt schon nicht mehr Zeilen aus dem CSS zu löschen und das ist etwas das mit Tailwind einfach nicht passiert.
ABER: als ich vor zwei Jahren Tailwind in einem TYPO3 Projekt verwendet habe, war ich nicht so begeistert. In React oder Vue war es leicht Komponenten statt Klassen zur Abstraktion zu nutzen. Wie tief man die schachtelt ist nicht so wild und exzessives "komponentisieren" ist langfristig eher von Vorteil. In TYPO3 fühlte sich das nicht ganz so gut an. Zum einen sind viele Fluid Files performancemäßig teuer (hab das tatsächlich von früher noch als Antipattern im Kopf, korrigiert mich, wenn das inzwischen Bullshit ist), viel schwieriger fand ich aber, dass Markup aus zu vielen verschiedenen Quellen kommen kann. Klassen die im RTE gesetzt werden, ggf. noch Snippets die direkt aus TypoScript kommen, Klassen oder Markup das per JavaScript eingefügt wird. Extensions von Dritten und dann am Ende noch das eigene Fluid. Ich fand es da deutlich schwieriger den Überblick zu behalten und vor allem zu vermeiden, dass ich am Ende doch wieder Styles an zwei Orten pflegen muss.
Ich setze gerade die Basis für ein neues Projekt auf und überlege seit ein paar Tagen welchen Weg wir gehen sollten. Wie sind eure Erfahrungen damit? Freue mich über jeden Input.