CSS-Frameworks
In den letzten Monaten wurde eine intensive Debatte über das Für und Wider von CSS-Frameworks geführt. CSS-Frameworks sind Entwicklungsumgebungen für die Erstellung von Webseiten. Sie geben dem Entwickler fertige Bausteine an die Hand, mit denen er sein Layout entwickeln kann.
Die Argumente pro (stellvertretend Dirk Jesse, Entwickler des CSS-Frameworks YAML) und contra (stellvertretend Jens Meiert) sind in etwa folgende:
Argumente für CSS-Frameworks:
- Webseiten lassen sich schnell erstellen.
- Häufige Fehler werden vermieden.
- Die Zusammenarbeit im Team wird unterstützt.
- Optimale Kompatibilität für alle Browser
- Man erhält einen sauberen und strukturierten Quellcode.
Nicht alle Argumente haben das gleiche Gewicht. Das stärkste Argument ist wohl die Geschwindigkeit, mit der ein Layout erstellt werden kann. Oft gibt es immer wieder ähnliche Strukturen, die auf den meisten Seiten wiederkehren. Auch wer ohne Framework entwickelt, hat sie im Kopf und wendet sie immer wieder an. Dass die Teamarbeit unterstützt wird, ist wohl unmittalbar einleuchtend.
Als Gegenargumente wird oft eingeführt:
- Frameworks enthalten mehr Regeln und Markup als nötig. Individuell erstelltes CSS ist immer kürzer, weil auf das einzelne Projekt abgestimmt.
- Es dauert, bis man sich in das Framework eingearbeitet hat.
- Man muss das Framework erst verstehen, bis man produktiv damit arbeiten kann.
- Enthaltene Fehler werden mit übernommen.
- Ohne CSS-Kenntnisse ist man nur so gut wie das Framework.
- Die Einzigartigkeit des Projektes geht verloren.
Auch hier sind nicht alle Argumente gleich stark, Frameworks machen es Anfängern sicher leichter, robuste Layouts zu erstellen. Aber niemand wird wohl behaupten, dass sie profundes Fachwissen ersetzen. Ganz im Gegenteil.
Stärker ist das Argument, Frameworks produzieren zu viel Overhead. So schreibt Meiert:
"Public, or open, HTML/CSS-'Frameworks' are never the best solution, and oftentimes not even a good solution for any site. [...] So why stating that frameworks aren’t a good solution? Because people outside your company or outside your apartment just cannot know your needs, and this implicit ignorance results in way too much markup in your documents and way too many rules in your style sheets, making any framework-based solution inferior to something tailored."
Frameworks sind also deswegen immer die schlechtere Lösung, weil deren Entwickler die individuellen Bedürfnisse eines Projektes gar nicht kennen können. Nur wer diese ständig vor Augen hat, kann schlanken und angepassten Code schreiben.
Das ist in der Tat zutreffend und auch Dirk Jesse räumt ein, dass ein CSS-Framework notwendigerweise einen gewissen Overhead produzieren muss. Auf der anderen Seite hängt es eben auch vom verwendeten Framework ab, wie groß dieser Überschuss tatsächlich ist. Ein gutes Framework, und dazu zähle ich YAML, bietet genug Möglichkeiten zur Quellcode-Optimierung.
Was bleibt, sind Vorteile in der Teamarbeit. Wenn alle das gleiche Framework verwenden, entfällt Einarbeitungszeit in fremden Quellcode.
Fazit
Obwohl individueller Quellcode schlanker ist, sind Frameworks nicht nutzlos oder gar gefährlich. Richtig angewendet können sie zu einem standardisierten und robusten Quellcode beitragen.