F wie Freiheit oder Framework. Was ein CMS nicht kann


Es ist schon spät. Mal wieder hat es mich gepackt und ich finde ich habe mich selber an Genialität übertroffen (mehr dazu ist bald in meinem Portfolio zu sehen)… und vielleicht ist das nur meine eigene Müdigkeit und Arroganz. Die Kunst der Programmierung hat mich voll im Griff. Der Engineering Teil. Die Schönheit von Codezeilen. Irgendwie können diese Bits und Bytes eine gewisse Ästhetik haben. Als CMS Entwickler geht das irgendwie ein bisschen verloren… Ein CMS Entwickler muss sich sein Gebilde umzingelt von Mauern erbauen, während dem ein Framework Entwickler sich den Platz für sein Schloss frei aussuchen kann. Und wenn ich Sharepoint noch als Vergleich hinzunehme: Da muss sich der Entwickler in einem Mäusegängekomplex etwas zurecht bauen.

Drupal, WordPress, TYPO3 und Co.

Lange war ich als Drupal Entwickler unterwegs. Ein super System. Architektur ist mehr oder weniger strikt vorgegeben. Es gibt Konventionen und Regeln, die eingehalten werden müssen. Bestehende Funktionen und Module werden übernommen und entweder wird der Code oder die Anforderung/der Prozess angepasst. Genau da liegt der Haken: Das CMS Korsett. So wie es vorgesehen ist, so muss es gemacht werden. Basta. Ob das drum rum gebraucht wird oder nicht ist egal, es gehört halt zum System.

F wie Freiheit oder Framework

Nachdem ich eine Miniapplikation bestehend aus ein paar Files geschrieben habe, musste ich mir doch eingestehen, dass die Architektur nicht wirklich durch Genialität glänzen konnte. Ein langes Stück Code, von Markup und includes durchsetzt. So, wie es halt jeder am Anfang mal gemacht hat. Nun, bin ich aber nicht am Anfang, sondern kann doch auf einige Jahre Entwicklung zurückblicken. 

Ich habe mir ernsthaft überlegt, Drupal dazu zu verwenden -> nein. Overkill. Fat Free PHP. Genial und schnell, aber was wenn doch mal mehr aus der Applikation wird? Ein scheuer Gedanke ans Zend Framework. Ein Biest. Doku ist … gewöhnungsbedürftig. Aber mächtig. Ein bisschen zögerlich war ich schon.

Als langjähriger CMSler war ich am Anfang sichtlich überforder mit dermassen viel Freiheit. Dazu kommt noch, dass hier alles in Objekten ist (was zumindest bei Drupal nicht der Fall ist). Ist diese Funktion eher im Controller oder in der View anzusiedeln, oder vielleicht doch in einem Model? Und wenn ich jetzt ein Menu aus einem File parse, ist das jetzt etwa in der View anzusiedeln, oder wäre das doch eher ein Model?

Fragen, die ich mir lange nicht gestellt habe, da ein Menu immer aus der Datenbank kam. Nie hätte ich mir Gedanken gemacht, dass ein Menu aus einem CSV File kommen könnte. Mag nicht für jedes Usecase geeignet sein, aber für meine Applikation ist es eine super Lösung.

Ich musste zeitweisen sogar Billie Joe Armstrong verstummen lassen, um mich voll und ganz zu konzentrieren. Wahrscheinlich hätte eine kleine Zeichnung alles vereinfacht. Nun gut… zu guter letzt habe ich jetzt eine ultraperformante Applikation und viel Freude am Entwickeln.

Framework oder CMS

Die Frage lässt sich wohl sehr einfach beantworten. … in Realität wohl doch nicht. CMS für Inhaltssachen, Framework für Funktions-/ Applikationssachen. Insofern, wäre es sicher spannend, wenn sich Drupal in Richtung Small Core entwickeln würde. Stellt sich hier nur die Frage, gibt es Drupal ohne Nodesystem?

Was ist deine Meinung dazu? CMS vergewaltigen oder mit einem Framework selber bauen.

PS: Soeben ist Billie Joe Armstrong verstummt und für mich ist es Zeit schlafen zu gehen.