Skip to content

Ruby on Rails ... oder was?

Ruby on Rails (RoR) macht in letzter Zeit immer öfter von sich reden - und wenn man sich umsieht, findet man immer mehr gutgelaunte Menschen, die jetzt wegen RoR noch viel besser gelaunt sind. Vorbei die Zeit, als man für ein neues Webprojekt 70% des Codes mal wieder schreiben mußte, obwohl man ihn in 10 anderen Projekten auch schon genutzt hat - nur in einer etwas anderen Weise, so daß ein erneutes Programmieren ähnlich oder weniger aufwendig ist als den alten Ansatz anzupassen.

Dabei macht man im Grunde genommen bei vielen Webprojekten immer wieder das gleiche. Ruby on Rails ist ein geschickt zusammengeschustertes Framework, das jede Menge Automagic beherrscht. Anstatt viele Dinge wieder einmal zu tun ist es eine Art installierbares Framework, das mit so gut wie keiner Konfiguration auskommt, nicht zuletzt auch weil es sich an das MVC Prinzip (Model-View-Controller) und auch konsequent an DRY (Don't repeat yourself) hält.

Ruby mag für Ruby-Fans eine schöne Sprache sein, aber gibt es denn vergleichbares auch für andere Sprachen?

Das Gute ist, es gibt solche Frameworks für PHP, Python und auch andere Sprachen die für die Webprogrammierung verwendet werden. Alle Frameworks machen einen mehr oder weniger guten Eindruck, aber keines davon scheint an RoR ran zu kommen.

Wer sich näher mit dem Prinzip MVC für Webanwendungen beschäftigen will ohne gleich eine neue Sprache zu lernen, dem kann ich schon mal ein paar Einstiegspunkte nennen, denn es gibt auch ganz gute Frameworks für PHP und Python:

MVC Frameworks für und in PHP:
  • CakePHP (http://cakephp.org/): Steckt noch in den Kinderschuhen, beherrscht die grundlegenden Dinge, die man für eine MVC-Implementierung braucht. Da dieses API aber noch jung ist und rasant wächst, würde ich es noch nicht produktiv einsetzen. Die Modelle müssen auch derzeit noch selbst in die Datenbank implementiert werden, die meisten RoR-Nachfolger generieren zumindest den benötigten SQL-Code dafür. Ein Vorteil von CakePHP ist, daß es auch noch mit PHP4 funktioniert.
  • PHP on Trax (http://phpontrax.com/): Vielversprechend, steckt aber auch noch tief in der Entwicklung. Eine Dokumentation ist so gut wie nicht vorhanden, jedoch kann es schon die eigenen Modelle generieren um sie in die Datenbank zu bringen. PHP on Trax benötigt zwingend PHP5 und PEAR.
  • Solar (http://www.solarphp.com/): Auch Solar befindet sich noch in der Entwicklung, erscheint aber schon recht weit fortgeschritten zu sein. Immerhin gibt es eine halbwegs brauchbare Dokumentation für den Einstieg und eine gute Dokumentation der API. Solar benötigt zwingend PHP5 und PEAR. Es läßt sich auch direkt per PEAR-Channel installieren.

MVC Frameworks für und in Python:

  • Django (http://www.djangoproject.com/): Django hat bereits zwei Jahre Entwicklung hinter sich und erscheint als stabiles, sehr gut dokumentiertes Framework das selbst Einsteigern schnelle Ergebnisse ermöglicht. Die API ist hervorragend dokumentiert. Es erzeugt selbständig aus den definierten Modellen die Datenbank. Als Entwicklungsserver beinhaltet Django einen eigenen Webserver, der im Produktivbetrieb gegen Apache mit mod_python ausgetauscht werden kann. Es integriert sich nahtlos in die vorhandene Apache-Installation. Django ist im Grunde genommen das, was man sich wünscht.
  • TurboGears (http://www.turbogears.org/): TurboGears tritt an als fast fertiges Framework, das mehrere Open-Source Programme zu einem MVC-Framework verbindet. Die Dokumentation ist gut für den Entwicklungsstand. Ein eigenes Marketing-/Howto-Video erleichtert es dem Einsteiger eine Idee zu bekommen, wie man mit dem Framework arbeitet.

Um herauszufinden, was wirklich am Hype dran ist habe ich mit Django in Python ein wenig experimentiert und war überrascht, mit welch geringem Aufwand ich schon brauchbare Ergebnisse bekam. Doch dazu bei Gelegenheit in einem Beispiel mehr...

Mein Fazit dabei ist gespalten. Einerseits freue ich mich zu sehen, daß auch die Open-Source Alternativen Innovationen bringen, die man von kommerziellen Anbietern noch nicht gesehen hat. Andererseits steckt vieles davon noch in den Anfängen und man muß sehen, wie sich die Frameworks in den nächsten Monaten entwickeln. Speziell die PHP-Frameworks scheinen alle durchweg unausgereift und leider produktiv noch nicht einsetzbar zu sein. Die Python Frameworks sind deutlich mächtiger und erwachsener, insbesondere Django, das als ernste Konkurrenz zu Ruby on Rails gesehen werden darf. Bei den meisten Webhostern dürfte zwar PHP installiert sein, aber mit Python (oder mod_python) oder Ruby dürfte die Auswahl geringer sein.

Categories: Tech-O-Rama | 0 Comments
Vote for articles fresher than 30 days!
Derzeitige Beurteilung: none, 0 Stimme(n) 59139 hits

Trackbacks

Marco Gabriel on : Guido van Rossum's Suche nach dem geeigneten Python Web Framework

Show preview
Auch Guido van Rossum geht's so wie vielen anderen. Für sein erstes Projekt bei Google ist er ist auf der Suche nach einem Web Framework und weiß nicht so recht in welche Richtung er gehen soll. Das Lesenswerte sind die Kommentare, da kommen viele Sicht

Marco Gabriel on : CakePHP 1.0 veröffentlicht

Show preview
Das sympatische PHP MVC Framework CakePHP ist jetzt erwachsen und heisst 1.0. Get it while it's hot... Übersetze nach en fr

Comments

Display comments as Linear | Threaded

angel on :

Guter Beitrag. Ich möchte ein MVC-Framework erlernen mir aber ersparen eine weitere Programmiersprache zu erlernen. CakePHP ist sicherlich ganz nett. Ein vielversprechndes Framework ist sicherlich symfony, das recht ausgereift zu sein scheint. einen guten eindruck macht ebenfalls kohana (http://www.kohanaphp.de) wobei ich überzeugt bin dass hiervon in nächster zeit mehr hören ist.

Tim on :

Wenn du dir schon die Mühe machst, dich in ein neues Web-Framework einzurbeiten, solltest du auch gleich einen Schritt weg von PHP machen. Python und in Besonderen Ruby sind sehr viel mächtigere und elegantere Skriptsprachen als PHP.

Mit entsprechender Literatur ist Ruby gut zu erlernen und die Effizienz ist nicht zu verachten. Unabhängig von gewählten Framework. Web-Frameworks auf PHP Basis werden einfach niemals so schön, elegant und schnell funktionieren wie Ruby on Rails; egal wie gut sie kopiert werden. Mit PHP wirst du auch weiterhin in der gleichen Cummunity bleiben und weiterhin die PHP Philosophien und Probleme leben müssen. - Und dies ist das grundlegende Gegenteil von Ruby.

Add Comment

Standard emoticons like :-) and ;-) are converted to images.
E-Mail addresses will not be displayed and will only be used for E-Mail notifications.
To leave a comment you must approve it via e-mail, which will be sent to your address after submission.
BBCode format allowed
You can use [geshi lang=lang_name [,ln={y|n}]][/geshi] tags to embed source code snippets.
Form options
tweetbackcheck cronjob