• ABOUT THIS SITE
  • MY CV
  • MY SOCIAL STREAM
  • CONTACT
  • SEARCH

olav.net

  • content
  • technology
  • life
  • bonn
Home

Drupal und die Verfolger

olav — Fri, 05/16/2008 - 22:45

Ich habe mir in letzter Zeit viel Gedanken über die verfügbaren Optionen zum Bau von Websites gemacht. Es gibt

  • Content-Management-Systeme: Typo3, Joomla, SixCMS, Coremedia, ...
  • Content-Management-Frameworks: Drupal, Django Project, …
  • Model-View-Controller-Frameworks: CakePHP, Symfony, Zend Framework, RoR, …
  • andere Frameworks: Pear, Zope, ...
  • Ad-Hoc-Programmierung; PHP, JSP, ASP, ...

Natürlich sind nicht alle Websites gleich und daher können die meisten dieser Systeme und Ansätze unter einem vorgegeben Satz von Anforderungen ihre jeweilige Stärke besonders gut oder besonders schlecht ausspielen. Wenn ich mich aber auf PHP-basierende Systeme beschränke – nicht weil PHP so toll ist, sondern wegen meiner Sozialisierung und wegen “Sachzwängen”, so sind die naheliegenden Kandidaten in vielen Web-Projekten Drupal und eines der MVC-Frameworks.

Das Zend-Framework hatte sich ziemlich schnell wegen unerklärebarer Überkomplexität und fehlender Modell-Ebene disqualifiziert. Nach drei kleineren Web-Projekten in den letzten Wochen mit CakePHP und Drupal schlägt das Zünglein an der Waage immer öfter Richtung Drupal aus, und zwar aus folgenden Gründen:

  • Jedes Web-Projekt braucht ein paar content-lastige Seiten für Impressum, Handbücher, Marketing-Blurb usw., sprich, es braucht immer irgend eine Form von CMS, die man bei blossen MVC-Frameworks dazu erfinden muss.
  • Web-Projekte brauchen Menschen, die sich darum kümmern: Administratoren, Redakteure, Partner-Sites, also eine Rechteverwaltung. In CakePHP zumindest ist diese recht zäh zu integrieren und hat dann immer noch keine Verwaltungsoberfläche. Ein weiterer Punkt für Drupal.
  • Datenbank-Abstraktionsschicht, Formulare, Caching, Listen. Jedes auch nur sanft anspruchsvolle Projekt hat ein paar eigene Datenstrukturen, Registrier- und Pflegeformulare, Anforderungen an Skalierung, mehrseitige Content-Listen usw. Zumindest beim direkten Vergleich zwischen Drupal und CakePHP merkt man einfach, dass Drupal in der Version 6 in fast allen diesen Punkten um Lichtjahre ausgereifter und leichter zu bedienen ist als die in CakePHP anstehende Version 1.2.
  • Schema und Schema-Migration. Automatische Introspektion ist prima für einfache Fälle. In komplexeren Fällenaber muß man entweder ständig mit neuen Relations-Konzepten im MVC-Framework kämpfen oder man benutzt tatsächlich SQL-Statements, von denen man direkt beim Hinsehen versteht, was sie machen. Und warum gibt es in CakePHP keine einfach funktionierenden Mechanismus für Schema-Updates?
  • Trennung von Routing, Modell, Anwendungslogik und Präsentation. Klassisch eine augenscheinliche Stärke der MVC-Frameworks, scheint mir subjektiv Drupals Menü/Modul/Theme-System viel besser geeignet, funktionale Einheiten beieinander zu halten und nicht in einem Wald von Verzeichnissen zu verteilen. Es ist einfach nicht richtig, für eine Funktionseinheit ‘‘Feed-Manager’‘ jeweils eine einzelne Datei in einem models, einem controler und mehreren views-Verzeichnissen zu verteilen, anstatt sie wie in Drupal in einem einzigen Modul-Verzeichnis zu sammeln.
  • Javascript: Es gibt immer noch Systeme (CakePHP, Symfony), die auf Prototype setzen. Drupal hat jQuery eingebaut – himmlisch!
  • Vision: Für mich ist klar: Die nächste Revolution im Web ist Cloud Computing. Drupal hat zwar noch keine fertige Lösung, aber die Richtung ist erkannt.

OK, mit Symfony habe ich keine wirkliche praktische Erfahrung. Dem Buch nach ist es etwas komplexer als CakePHP, vielleicht auch mächtiger. Den Versionsnummern nach ist es aber wohl noch einige Zyklen zurück. Es bleibt dabei: Ich liebe Drupal, und wenn auch nur wegen api.drupal.org, den Code-Standards und seinen coolen Entwicklern.

  • cakePHP
  • Drupal
  • Model-View-Controller
  • Symfony
  • Add new comment

drupal / cakephp

Anonymous — Tue, 05/20/2008 - 10:10

Wir haben ein Drupal / Cake projekt umgesetzt. dei schittstelle hat zwar funktioniert, aber die geschwindigkeit war viel zu schlecht

  • reply

Drupal / CakePHP

olav — Fri, 07/04/2008 - 23:18

Geschwindigkeit schlecht? Lag das an einer der beiden Stücke Software? Ich habe letztens mal in einem CakePHP-Projekt den Fehler gemacht, im Modell etwas zu großzügig mit HABTM-Relationen umgegangen zu sein. Prompt hat mir CakePHP bei einfachem Laden eines Objektes Gott-und-die-Welt mit geladen. So etwas empfinde ich als echtes Problem im Umgang mit CakePHP.

  • reply

Praxiswissen Drupal 6. oreillys basics

Mein Buch ist erschienen:

Image of Praxiswissen Drupal 6. oreillys basics

Hier ist die Zusammenfassung.

Hm, lecker!

Selber Punkte verschicken oder sammeln unter browniepunkt.de.

Mitglied der Drupal Association

Kreativ mit Elektronik

Basteln mit Elektronik, Arduino, PICAXE, kombiniert mit Malerei, Textilien, Holz oder Metall können Eltern und Kinder regelmäßig bei meinen Workshops. Nächster Termin: 3./4.4.2012 im Deutschen Museum in Bonn . Ein kleines Side Project war der Benzoltisch im Deutschen Museum im Bonn.

Wir sind alle Atheisten

... in Bezug auf die meisten Götter, an die die Menschheit jemals geglaubt hat. Manche von uns gehen einfach noch einen Gott weiter – Richard Dawkins.

Das Syndicat

Unter syndikate.it blogge ich über Cloud-Technologien. Dort gibt es auch Links zu meinen anderen Websites .

Navigation

  • Recent posts

User login

What is OpenID?
  • Log in using OpenID
  • Cancel OpenID login
  • Create new account
  • Request new password

Kommentiert

  • vimax comprar
    1 week 3 days ago
  • vimax funciona
    5 weeks 5 days ago
  • Wenn dieses Framework nichts
    26 weeks 18 hours ago
  • Kindle version of book
    27 weeks 5 days ago
  • Susanna
    27 weeks 5 days ago
  • Tami
    31 weeks 3 days ago
  • Anti-Glare?
    1 year 11 weeks ago
  • Ein erstes Release des CakePHP-Frontends für TYPO3
    1 year 34 weeks ago
  • Geniuos!
    1 year 42 weeks ago
  • Mobile
    2 years 1 week ago

Freunde

Powered by Drupal, an open source content management system
  • content
  • technology
  • life
  • bonn