Diese Woche haben Stefan und ich einen Workshop zu Ruby on Rails gehalten. Gemeinsam mit den Teilnehmern haben wir in zwei Tagen die Grundlagen von Ruby on Rails behandelt.
Einige der mächtigen Sprachmöglichkeiten von Ruby haben bei den Teilnehmern Bedenken verursacht. Beispielsweise kann die Möglichkeit, jederzeit existierende Klassen zu redefinieren und somit Struktur als auch Verhalten verändern zu können, ein Projekt mit (vielen) “unterdurchschnittlich talentierten aber ambitionierten” Entwicklern ins reinste Chaos führen.
Allerdings zeigt Rails sehr gut, wie die Ausdruckskraft von Ruby auch dazu verwendet werden kann, ein leichtgewichtiges, klares Programmiermodell zu schaffen, mit dem Web-Anwendungen leicht realisiert werden können. Ich kenne keinen Persistenzlayer, in dem man einfach deklarieren kann, wie dies mit ActiveRecord, dem Persistenz-Framework von Rails, getan werden kann:
class Person < ActiveRecord::Base validates_presence_of :last_name belongs_to :tenant has_many :addresses end
Dieser Code definiert eine funktionsfähige Entität Person, die garantiert, dass der Nachname gesetzt ist, unterhalb eines Mandanten (tenant) angesiedelt ist und eine beliebige Zahl von Adressen haben kann.
Das hätte man doch auch erraten, ohne Rails bzw. ActiveRecord zu kennen, oder?
Deutschsprachige Informationen rund um das Thema gibt es unter anderem hier: http://www.rubyonrails.de/
Posted by Phillip Ghadir at May 12, 2007 12:35 PM