Das Zend Framework ist seit dem letzten Artikel zu der Entscheidung Zend oder Rails nach anfänglichem Stocken im Entwicklungsprozess bei Version 1.5 angekommen. Auch Ruby on Rails hat mit dem Sprung auf inzwischen Version 2.0.2 einen großen Sprung gemacht. Wer ist also mein persönlicher Sieger in diesem Rennen? Welches Framework eignet sich aus meiner Sicht am Besten für die Entwicklung von Web-Projekten.

Um es vorweg zu nehmen: Mein persönlicher Favorit ist Ruby on Rails!

Doch die brennende Frage ist natürlich das WARUM:

  • 1. Ruby statt PHP: Natürlich klingt es unlogisch die eigenen mühsam erarbeiten PHP-Kenntnisse links liegen zu lassen und sich in eine junge rein objektorientierte Sprache einzuarbeiten. Doch, und das bestätigte mir bisher jeder ehemalige Java- oder PHP-Entwickler – die Mühe ist nicht groß Ruby zu lernen und der Nutzen ist überwältigend. Ruby ermöglicht es eleganten, gut lesbaren und gut wartbaren Code zu schreiben.
  • 2. Vision-Driven-Community: Egal ob in den Mailing-Listen oder auf Entwickerkonferenzen, die Grundeinstellung und Vision der Community ist freundlich, ansteckend, international und produktiv. Es geht darum gemeinsam etwas neues, besseres und eleganteres zu schaffen … siehe auch die Keynote der RailsConf 2007 von David Heinemeier Hansson in Portland.
  • 3. Skalierbarkeit: Inzwischen wurde vielfach bewiesen, dass Rails-Applikationen sich gut skalieren lassen auch wenn die Performance etwas schlechter sein soll. Doch unter dem Strich braucht man so etwas mehr Hardware als bei einem Zend Framework Projekt, doch dafür gewinnt man eine schnellere Entwicklung und bessere Wartbarkeit. Twitter, Qype und Xing machen es vor. Insbesondere die Twitter-Entwickler plaudern gerne über die Skalierbarkeit, wie Britt Selvitelle auf der RailsConf Europe 2007 in Berlin.
  • 4. REST: Mit der Version 2.0 wurde die Programmierung nach dem REST-Prinzip konsequent im Ruby on Rails Framework implementiert. Damit lassen sich einfach Schnittstellen zu anderen Systemen schaffen – und werden alte, aber gute und durchdachte Features des http-Protokolls wiederentdeckt. Siehe auch das PDF von b-simple zum Thema RESTful-Rails.
  • 5. Datenbank-Migrationen: Rails bietet mit Migrations ein mächtiges System Datenbankstrukturen einfach und in Einzelschritten skriptbasiert zu erstellen – und, wenn nötig diese Einzelschritte auch wieder rückgängig zu machen. Für die Entwicklung nach dem Prinzip des “Pragmatic Programming” ist das ein perfektes Werkzeug um Tabellen zu erstellen, zu erweitern und mit Daten zu füllen. Für das Zend Framework ist ein solches Feature als Proposal angedacht … doch wann es kommt und wie es funktionieren wird ist noch völlig unklar.
  • 6. Test-Driven-Development: Rails ist weiterhin Vorreiter was die eingebauten Test-Infrastruktur für automatisierte Unit-Tests, Functional-Tests und Integration-Test. Zend Framework versucht zwar mit dem ZFTestManager aufzuholen – doch noch immer fehlt eine schlüssige Integration in das Framework.
  • 7. MultiView: In Rails lassen sich Inhalte je nach Anfragetyp darstellen – sollen sie nun als CSV-Datei, RSS-Feed, HTML-Seite oder als spezielle iPhone-Seite Angezeigt werden – SlashDotDash zeigt wie man der eigenen Rails-Applikation ein iPhone-optimiertes User-Interface verpassen kann.

Bestimmte Projekte eignen sich allerdings nur bedingt für Rails: Mehr …