Kommentar: Ist CSS wirklich kaputt?

CSS is broken
Kommentare

Lea Verou, Mitglied der CSS Working Group beim W3C, sieht deutliche Anzeichen dafür, dass mit CSS etwas ganz und gar nicht stimmt. Über einen Tweet und seine Folgen.

Eine interessante Diskussion hat sich vor kurzem auf Twitter zugetragen. Ausgang dafür war ein Tweet von Lea Verou, ihres Zeichens Mitglied der CSS Working Group des W3C. Der Inhalt: ein Gedanke, der zahlreichen Frontend-Entwicklern schon einmal durch den Kopf gegangen sein dürfte.

Neues Projekt – neues Rad

Ist es wirklich so leicht auf den Punkt zu bringen, wie Verou es in ihrem Tweet zum Ausdruck gebracht hat? Natürlich gibt es zahlreiche Frameworks, die Entwicklern das Leben einfacher gestalten wollen: angefangen bei simplen Grid-Lösungen bis hin zu vollständigen Feel-Good-Allroundern, die im besten Fall sogar dem beliebten Mobile-First-Ansatz folgen.

Frameworks sind in Programmiersprachen weit verbreitet. Wer heute ein großes Projekt mit PHP angehen möchte, tut gut daran, sich nicht um jede Kleinigkeit selbst zu kümmern – wo doch ein Symfony2 einen Großteil der Arbeit vereinfacht. Dasselbe gilt beispielsweise für das Spring-Framework im Enterprise-Java-Umfeld; kaum ein Unternehmen kann es sich leisten, in jedem neuen Projekt from the scratch zu beginnen.

In der Framework-Frage sehe ich kein Problem – warum sollte ich immer wieder das Rad neu erfinden sollen, wenn es so viele Lösungen gibt, die mir die Arbeit erleichtern?

Präprozessoren als Optimierungshilfe

Präprozessoren wie SASS oder LESS drängen unaufhaltsam auf den Markt. Dabei geht es in erster Linie darum, das „wie“ zu optimieren – nicht das „was“. So lassen sich beispielsweise Farben in Variablen definieren und so an jeder Stelle im CSS einfügen; möchte ich die Farbe später ändern, dann muss lediglich die Variable geändert werden. Im puren CSS beginnt dagegen häufig eine nervenaufreibende Suche nach all den Stellen, an denen die jeweilige Farbe überall verwendet wurde. Und das ist nur einer von zahlreichen Vorteilen, die Präprozessoren zu bieten haben; auch dagegen spricht meiner Meinung nach nichts. Im Gegenteil: Jedes Hilfsmittel, das Entwicklern zur Verfügung steht, sollte genutzt werden. Immerhin gibt es in Projekten nicht selten einen enormen Zeitdruck, der sich mit solchen Tools deutlich abmildern lässt.

Sitzt das Problem tiefer?

Doch darum scheint es gar nicht zu gehen – das Problem könnte bereits in der Wurzel stecken, viel tiefer, als es auf den ersten Blick den Anschein hat. Oder?

Fakt ist, dass man ab einer gewissen Größe eines Projekts nicht mehr umhin kommt, entsprechende Frameworks oder Präprozessoren einzusetzen. Zumindest nicht, wenn man sich nicht unnötig viel Arbeit machen möchte. Die Cascading Style Sheets selbst bieten einfach nicht die Möglichkeit, entsprechend ressourcenschonend zu arbeiten. Die Frage ist nun, ob man darin ein Problem sieht.

Hier lohnt es sich vielleicht, einen Blick auf den PHP Core zu werfen. In zahlreichen Gesprächen in den letzten Jahren haben sich für mich zwei deutliche Standpunkte herauskristallisiert. Zum einen sind da die Verfechter des schlanken Cores. Ihnen geht es darum, die Sprache an sich möglichst schlank, ressourcenschonend  und stabil zu halten. Jede weitere Funktionalität solle über Frameworks implementiert werden. So werde gewährleistet, dass der Core selbst keinen unnötigen Ballast mit sich herumschleppe. Die andere Fraktion möchte so viele Funktionalitäten und Features wir nur möglich im Core integriert wissen. Auf diesem Weg liefere die Sprache alles, was ein Entwickler bräuchte – ohne beispielsweise die Einarbeitungszeit, die jedes Framework nun einmal mit sich bringe.

Nun gestaltet sich die Situation bei CSS per se natürlich etwas komplizierter. Würde man CSS nun von Grund auf neu gestalten, dann müssten verschiedene Browserhersteller damit beginnen, die Änderungen zu implementieren – was eine nicht zu verachtende Fehlerquelle ist. Browserhersteller X interpretiert den Standard so, Browserhersteller Y ganz anders. Und am Ende herrscht ein einziges, großes Chaos.

Die Diskussion auf Twitter zeigt einige spannende Standpunkte auf. Ich bin der Meinung, dass es sich lohnt, auf jede Art von Hilfsmittel zurückzugreifen und im CSS selbst nur schrittweise Änderungen und Neuerungen einzuführen.

Doch wie seht ihr das? Sollte CSS runderneuert werden? Oder genügt der Umweg über Frameworks und Präprozessoren? Wir sind gespannt auf eure Meinungen.

Aufmacherbild: Damage and wreck: Pieces of broken glass. von Shutterstock / Urheberrecht: Arsgera

Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -