Framework oder CMS? Das ist hier die Frage!


Bei der Programmierung von Internetseiten stellt sich am Anfang oft die Frage, mit welchem Konzept man die Realisierung einer Internetseite bewältigt. Hat man sich für eine dynamische Umsetzung mit PHP entschieden, gibt es meiner Meinung nach drei Möglichkeiten:

  1. Man schreibt jeglichen Quelltext von Anfang an allein.
  2. Man nutzt ein Framework, welches eine Vielzahl von Klassen und Funktionen bietet.
  3. Man nutzt ein fertiges Content Management System.

Da man privat nur selten in einem großem Team arbeitet, scheidet die erste Möglichkeit bei größeren Projekten recht schnell aus. Die Entscheidung zwischen der zweiten und dritten Möglichkeit ist allerdings nicht so leicht und muss fast immer projektabhängig getroffen werden. Bei bestimmten Funktionen sollte man nicht lange überlegen, möchte man zum Beispiel einen Blog mit ein paar extra Funktionen, kann man getrost WordPress zur Hand nehmen, Plugins installieren und sich zurück lehnen. Bei der Vereinsseite des Hasenrennsportvereins, reichen die Funktionen von CM-Systemen wohl aus. Handelt es sich aber um komplexe Anwendungen, reichen die vorhandenen Funktionen eines CMS nicht aus. Nun geht es darum, ob es sich lohnt die Programmlogik mit einem Framework selbst zu bestimmen oder sich an das System eines CMS an zu passen und lediglich Änderungen vor zu nehmen.

Zu erst muss man überlegen, ob man die geplante Anwendung in ein CMS pressen kann. Ist die Rechteverwaltung ausreichend? Gibt es die nötigen Schnittstellen? Kann man spätere Änderungen einfach durchführen? Reicht die Performance auch im Worst Case aus? Am Ende macht es keinen Sinn, wenn an jeder Stelle ein Workaround gemacht werden muss um bestimmte Funktionen zu implementieren. Plant man zum Beispiel das Rechtesystem komplett ab zu ändern, könnte man gleich ein Framework verwenden. Die Herausforderung aber auch der Vorteil eines Frameworks ist, dass man die komplette Struktur selbst planen muss. Datenbanklayout, Logik, Cachemechanismen, Rechtesystem und so weiter liegen in der Hand des Programmierers. Dadurch gewinnt man viele Freiheiten und kann alles auf die Anwendung optimieren, aber man hat auch mehr Platz für eigene Fehler. Hinter einem CMS steht meist auch ein Team, welches Fehler und Sicherheitslücken ausbessert, was einem später zusätzliche Arbeit ab nimmt. Bei einem stark modifiziertem CMS kann ein Update allerdings trotzdem recht aufwendig werden. Die Planungs- und Entwiklungsphase ist bei der Benutzung eines Frameworks meist länger, als mit einem CMS. Aber auf eine Anwendung genau zugeschnittener Quelltext bietet meist eine bessere Qualität als ein CMS voll gestopft mit Workarounds. Natürlich gibt es noch weitere Indikatoren für die Entscheidung, nur mir sind diese am wichtigsten.

Fazit: Möchte man genau zugeschnitten Quelltext und sich nicht in anderen Code einarbeiten sollte man auf ein Framework zurückgreifen. Spielt Zeit eine wichtigere Rolle, sollte man sich verschiedene CMS angucken und überlegen ob die Anwendung damit umsetzbar ist.

PS: Ich habe Bibliotheken mit Absicht nicht einzeln erwähnt, da sie in dieser Betrachtung Frameworks sehr ähneln. Sie bieten allerdings etwas mehr Freiräume.

, ,

  1. Bisher keine Kommentare.
(wird nicht veröffentlicht)