Ruby on Rails - mein erstes mal | 03. August 2006 um 19:46 Uhr / Programming

Eingestellt am 03. August 2006 um 19:46 Uhr » Programming

Seit einigen Monaten kenne ich ja schon Ruby und habe auch das eine oder andere kleine Script veröffentlicht. Auch ein Micro-CMS habe ich damit schon damit hinbekommen, so weit so gut.

Jetzt aber kam eine größere Aufgabe auf mich zu. Es geht um eine ziemlich große Erweiterung einer Software, von der ich bisher schon zwei Versionen in PHP geschrieben habe. Doch jetzt sollen viele Funktionen hinzukommen, die es dem Endkunden erlauben auf das Aussehen und Verhalten der Webseite einfluss zu nehmen, außerdem kommen noch einige Exportfilter hinzu. Das bedeutet von der Implementationsseite aus sehr viele GUIs zu bauen, um vieles von den Usern beeinflussen zu lassen, und auch den Administratoren die Möglichkeit zu geben auf nahezu alles Einfluss über das Administrationscenter zu nehmen.

Es wurden also aus aus mikrigen 5 Tabellen in der Datenbank gleich mal um die 20, die ziemlich normalisiert sind und dadurch zum Teil verzwickt miteinander verflochten wurden. Das ganze Datenkonstrukt möchte nun also eine GUI für die Verwaltung haben, die intuitiv und schnell zu erfassen ist.

Normalerweise heißt das viel Implementierarbeit um die richtigen Daten aus der richigen Tabelle im richtigen Verhältnis zu anderen Tabellen in eine einzige HTML Seite zu Bringen, und dann beim speichern alles natürlich wieder in die richtigen Teballen zu schreiben. Auch die Anzeige muss penibel genau schauen wo sie ihre Daten herbekommt, etc.

Nun war natürlich die erste Frage die ich mir stellte: "Möchte ich mir da wirklich wieder PHP antun?" Die Antwort war ein entschiedenes NEIN. PHP ist mir dafür zu … sagen wir mal … kompliziert. Da ich mit Phyton noch nicht so richtig viel Erfahrung habe fiel die Wahl auf meine derzeitige Lieblingssprache Ruby.

Die Zweite Frage war dann: Wie mache ich mir das endlose Bauen der HTML/CSS/JavaScript GUIs so einfach wie möglich? Nun, ich habe schon ein bischen mit Rails herumgespielt, hatte damals aber nicht wirklich die Zeit mich da tiefer einzulesen. Ich wusste aber aus der kurzen erfahrung schon, dass mir dieses Framework hier sehr gut helfen wird. Ich entwarf also als erstes mit Hilfe von PHPMyAdmin eine komplett neue Datenbankstruktur und band eben diese Datenbank in Rails ein.

Nun was soll ich sagen, Ruby on Rails ist absolut geil! Ich arbeite jetzt gerade mal 2,5 Tage damit und habe schon einen erheblichen Teil meines Administrationscenters hinbekommen. Ein Beispiel gefällig?

select "user", "group_id", Group.find_all.collect { |g| [g.name, g.id] } , { :include_blank => true }

erzeugt:

<select id="user_group_id" name="user[group_id]">
 <option></option>
 <option value="1">foo</option>
 <option value="2" selected="selected">bar</option>
 <option value="3">baz</option>
 <option value="4">hoo</option>
</select>

Man muss dazu sagen, dass User eine Tabelle mit allen Userdaten ist, und Groups eine Tabelle mit den Gruppennamen, zu denen ein User gehören kann. Mehr ist da an code nicht, was man schreiben müsste und es wird das neu erstellen, editieren und speichern damit erledigt. Keine Datenbankanbindung, keine HTML-Erzeugung, einfach eine unglaubliche Arbeitserleichterung. Mit solchen Methoden ist eine GUI in Minutenschnelle erzeugt und man kann sich der wirklich Programmierarbeit widmen.

Ein Wehrmutstropfen ist, dass ich immer wieder auf geschützte Wörter stoße, die ich nicht für irgendwelche Namen verwenden darf. Aber das ist wohl der Preis der Entwicklungsgeschwindigkeit und man kann sich relativ schnell einen neuen sinnvollen Namen ausdenken.

Um mit Rails anzufangen sollte man aber zumindest Grundkentnisse in Ruby besitzen, dann tut man sich viel leichter auch mal eine außergewöhnlichere Aufgabenstellung schnell zu meistern. Mir macht Ruby on Rails wirklich Spaß vielleicht möchte das auch jemand von euch ausprobieren?


Kommentare

Die Kommentare sind für diesen Eintrag geschlossen.