Agile oder Wasserfall? CMS oder Framework?

Die Religionen der Entwickler: von Fundamentalisten und Agnostikern
Kommentare

Die Entwickler-Welt ist gespalten. Auf der einen Seite stehen die Verfechter von Content Management Systemen, auf der anderen die Fans der Web Frameworks. Die Fronten scheinen verhärtet zu sein, man könnte fast von einem kleinen Glaubenskrieg zwischen den verschiedenen Fraktionen der Entwicklerschaft sprechen. Und die Frage nach dem CMS ist bei weitem nicht der einzige Streitpunkt der Community. Aber muss dieser Streit denn wirklich sein?

Die Position der CMS-Gegner ist klar. Wer sich auf ein CMS spezialisiert, muss nach der Einarbeitung nichts mehr dazulernen, denken sie. Das sei langweilig, führe zu Stillstand. Wer den Umgang mit dem CMS beherrscht, arbeite eben immer so weiter. Das könne ja nicht der Sinn des Entwicklerberufs sein!

Pro Framework

Außerdem, so geht ihre Argumentation weiter, ist ein CMS immer eine Kompromisslösung. Die Systeme wurden nämlich ursprünglich für andere Projekte erstellt, müssen also in jedem Fall angepasst werden. Das kostet wieder Zeit und könne im Zweifelsfall aufwändiger sein, als die Entwicklung einer individuellen Content Management Lösung mit einem Web Framework. Immerhin enthält ein CMS ja viele Funktionen, die für das jeweilige Projekt gar nicht notwendig sind, kann dafür aber gleichzeitig gewisse Dinge nicht, die unbedingt notwendig wären.

Und wer soll diese Anpassung überhaupt vornehmen? Die Gegner der CMS sehen auch darin ein großes Problem bei der Entscheidung für diese Lösung. Die gewünschten Änderungen können nur von spezialisierten Entwicklern umgesetzt werden, die sich ihre Dienste entsprechend gut bezahlen lassen.

Vorteilsloses CMS…

Einen großen Vorteil können die Gegner der CMS außerdem nicht in diesen Systemen erkennen: Wird das Web Framework mit der richtigen Library kombiniert, kann auch damit eine einfach zu bedienende grafische Nutzeroberfläche erstellt werden, über die selbst Laien Content einpflegen und anpassen können.

Gegen vorgefertigte CMS-Lösungen spricht außerdem auch die Tatsache, dass eine weit verbreitete Open-Source-Lösung immer auch Angriffspunkte für Hacker liefert. Aufgrund ihrer Verbreitung sind sie ein beliebtes Ziel und eine einmal gefundene Sicherheitslücke sorgt gleichsam für Zugang zu vielen Seiten. Eine individuelle Lösung bietet nicht so viel Angriffsfläche.

…oder Framework?

Nun ist der Sicherheitsaspekt aber durchaus eine zweischneidige Angelegenheit, wie die Verfechter von Content Management Systemen zu ihrer Verteidigung anführen. Immerhin gibt es doch recht häufig Sicherheits-Updates für alle großen CMS, während Frameworks eher selten aktualisiert werden. Soll hier also zwischen zwei offiziellen Updates etwas in Sachen Sicherheit passieren, muss das alles von Hand geschehen. Und dafür braucht es nun einmal auch einen Entwickler, der genau darauf spezialisiert ist.

Außerdem ist es doch so, sagen die Vertreter der CMS-Seite, dass es zwar durchaus teurer ist, einen guten CMS-Entwickler zu engagieren, dieser dann aber doch vergleichsweise gut ersetzt werden kann, wenn er mal ausfällt. Verlässt ein CMS-Entwickler kurzfristig das Projekt, kann ein Kollege meist problemlos einspringen. Bei einer selbst entwickelten Lösung, die auf einem Framework beruht, wird das weitaus schwieriger.

CMS erweitern, nicht nur Content pflegen

Wenn es um die Möglichkeit zur Weiterentwicklung der eigenen Fähigkeiten geht, sei gerade die Notwendigkeit zur Anpassung der CMS wohl der beste Beweis dafür, dass auch ein CMS-Spezialist niemals ausgelernt hat. Das denken zumindest die CMS-Fans unter den Entwicklern. Zwar muss für die Anpassung eines CMS unter Umständen weniger Code geschrieben werden als für eine ganz neue Lösung, aber auch dann geht es hier noch um Programmierung – und dafür muss jeder Entwickler auf dem neusten Stand bleiben. Spätestens wenn es um das Entwickeln eigener Extensions geht, braucht es außerdem auch wieder richtig gute Kenntnisse in der Programmierung. Insofern sind auch CMS-Entwickler nicht wirklich eingeschränkt in ihren Möglichkeiten.

Stellen Sie Ihre Fragen zu diesen oder anderen Themen unseren entwickler.de-Lesern oder beantworten Sie Fragen der anderen Leser.

Zu diesem Schluss kam jedenfalls Joel Rodriguez, der früher ein eindeutiger CMS-Gegner war, inzwischen aber durchaus einen differenzierteren Blick auf die Sache wirft. CMS können je nach Projekt die absolut richtige Wahl sein, denkt er, seit er mit seinem Chef einmal in Ruhe über dieses Thema gesprochen hat.

Austausch statt Verteidigung

Diese Art des ruhigen Austauschs scheint allerdings häufig zu fehlen, wenn es um verschiedene Sichtweisen auf das eine oder andere Thema aus der Entwickler-Welt geht. Die einen lieben PHP, die anderen hassen es, mancher schwört auf Agile, der andere auf Wasserfall – zu diversen Themen finden sich vollkommen verhärtete Positionen im Netz.

Das Problem ist dabei wohl das gleiche wie bei allen Dingen, von denen Menschen überzeugt sind. Apple-User zu Windows-Fans zu machen, dürfte schwer sein; genau so wenig lassen sich viele Entwickler von einer anderen Sprache, Methodologie oder Plattform überzeugen. Mit fast schon religiösem Eifer werden die eigenen Glaubenssätze verteidigt.

Vanille-Eis oder Schokolade?

Am Ende sind allerdings meistens beide Positionen genau so wahr wie unwahr. Natürlich hat PHP Schwächen und natürlich sind große CMS unter Umständen angreifbarer als selbst entwickelte und gut abgesicherte Plattformen. Nichts davon lässt sich wegdiskutieren. Wer die Absicherung aber vergisst, ist mit einer eigenen Plattform nicht besser bedient. Insofern kann es hier keinen klaren Sieger geben.

Jeder Ansatz in der Webentwicklung hat seine Stärken und Schwächen. Mit den meisten lässt sich jedoch schlussendlich auf dem einen oder anderen Weg das gleiche Ergebnis erzielen. Ein „richtig“ oder „falsch“ kann es maximal bezogen auf einzelne Projekte geben. Eine kleine Newsseite, die keine personenbezogenen Nutzerdaten speichern möchte, hat einfach andere Bedürfnisse als ein großer Onlineshop.

Erfahrungsbasierte Überzeugungen

Die eigene Erfahrung erstreckt sich aber doch meist nur auf die eigenen Präferenzen. Wer sich nicht gut mit einer Technologie auskennt, wird in dieser allerdings auch nicht so leicht zum gewünschten Ziel kommen. So entsteht der Eindruck, dass die Alternative doch eigentlich schlechter sein muss – ohne sie wirklich beurteilen zu können. Wer sich nicht auskennt, wird nämlich auch den vielleicht sogar einfacheren Weg zum Ziel nicht wahrnehmen. Und schon entbrennen wieder scharfe Diskussionen zwischen den gegensätzlichen Fraktionen.

Ein wenig mehr Ruhe und Offenheit könnte hier durchaus hilfreich sein. Wie die Entwicklung von PHP-Frameworks wie Symfony2 nämlich zeigt, kann eine Annäherung an einander durchaus zu interessanten Ergebnissen führen – in diesem Fall zu einer Kombination aus CMS und Framework. Es ist nämlich nicht einmal immer nur eine Frage der Wahl, sondern oft auch ein Lernen voneinander, das die Webentwicklung voran treibt.

Aufmacherbild: Fight, close up of two fists hitting each other over dark, dramatic sky via Shutterstock / Urheberrecht: rangizzz

Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -