Viele der in den vergangenen vier Wochen dargestellten Möglichkeiten rund um die Gestaltung von Webangeboten lassen sich ohne größeren technischen Aufwand umsetzen. Will man jedoch Templates einsetzen, andere (vereinfachte) Auszeichnungssprachen wie Markdown in HTML konvertieren oder CSS-Präprozessoren wie LESS oder SASS einsetzen, bedarf es dazu entsprechender Software.
Content Management Systeme (CMS)
In Betracht kommen insoweit - wie schon in meinem einleitenden Übersichtsbeitrag dargestellt - zunächst Content Management Systeme (CMS), die üblicherweise einerseits die Bearbeitung von Vorlagen und Inhalten direkt über das Web ermöglichen und die fertigen Webseiten “dynamisch” beim Aufruf erzeugen. Stattdessen lassen sich auch Blogsysteme oder Wikis verwenden, zumal sich diese teilweise in ihren Funktionen durchaus an CMS annähern.
Beispiele für CMS sind
Eine umfangreiche Übersicht, die allerdings auch Wikis und Blogs enthält, findet sich bspw. in der englischsprachigen Wikipedia.
Static Site Generators
Im Gegensatz zu CMS erzeugen Static Site Generators “statische” HTML-Dateien, die nur bei einer Veränderung neu erzeugt werden müssen. Das ermöglicht natürlich keine Reaktionen auf Benutzereingaben; oft ist solche Interaktion für eine Website aber jenseits eines Kontakt- oder auch Kommentarformulars gar nicht notwendig. Die Belastung für den Webserver ist bei der Auslieferung statischer Seiten natürlich geringer; auch besteht keine Gefahr durch die Ausführung möglicherweise unsicheren Codes. Zudem ist Webspace ohne Scriptsprachen und Datenanbindung oft günstiger zu haben …
Beispiele für Static Site Generators sind
Eine umfangreiche Liste mit fast 400 Static Site Generators, die zudem nach Kriterien wie Lizenz oder Programmiersprache sortiert werden kann, bietet reichliche Auswahl. Alternativ dazu kann man sich eine Aufstellung der beliebtesten Open-Source Static Site Generators zeigen lassen.
Web Application Frameworks
Wo Webseiten vor allem Texte (und Bilder) enthalten, bieten Webapplikationen mehr (oder primär) Interaktion - im Prinzip handelt es sich um Software, die nicht lokal, sondern über das Web läuft. Gekennzeichnet sind sie durch Reaktionen auf Nutzereingaben, die Anbindung von Datenbanken und ihre Dynamik - also das genaue Gegenteil “statischer” Seiten. CMS, Wikis, Blogs und Co. sind Beispiele für Webapplikationen.
Auch und gerade hier gilt natürlich, dass nicht nur Struktur (HTML) und optische Repräsentation (CSS), sondern auch Ausgabe bzw. Darstellung (Template) und die dahinterstehende Programmlogik strikt voneinander getrennt werden sollten: Model–view–controller (MVC) ist das Stichwort. Das Äquivalent zu CMS und Static Site Generators für Webapplikationen wären Web Application Frameworks, die in der Regel Templates (“Views”) mit Daten(bank)modellen (“Models”) und der entsprechenden Ablaufsteuerung (“Controllers”), also der eigentlichen Programmlogik, verbinden.
Gerne würde ich mich auch damit näher beschäftigen - bisher fehlte mir aber die Zeit und Gelegenheit, in dieser Richtung mehr zu unternehmen als mich zu belesen. Interessant klingen insoweit im Bereich der PHP-basierten Frameworks bspw.
Abschließend daher nun die Frage: Kennt sich jemand unter den Lesern mit einem dieser Frameworks (oder überhaupt mit Frameworks auf PHP-Basis) aus, kann Erfahrungen teilen oder Empfehlungen geben? Ich würde mich freuen!
Dieser Beitrag gehört zur Reihe “Webdesign anno 2015”.