Modernes Web-Development mit Ruby on Rails

Seit mittlerweile sechs Jahren interessiere ich mich nun schon für Webentwicklung, angefangen hat alles bei PHP: Ich hatte mich damals mit Onlinetutorials und Literatur eingedeckt und konnte nach wenigen Stunden meine ersten Echos auf der Subdomain eines bekannten Freehosters bewundern. Mein erstes kleines Projekt war eine – zugegeben recht primitive – Linkliste für diesen Hoster. Leute konnten sich anmelden, erhielten einen persönlichen Link, setzten diesen Link auf ihre Website und Besucher konnten mithilfe dessen auf meiner Linkliste diese Websites bewerten. Je besser das Feedback, desto schneller stieg die Platzierung in der Topliste.

Nun, 2012, ist Zeit für Neues. Oft schwirren mir viele krasse Ideen im Kopf herum, was man denn noch programmieren könnte (vielleicht auch sollte), aber leider enden alle Ideen oft beim Konzept – denn alleine sind sie meistens nicht zu stemmen. Aus diesem Grund muss etwas Neues her, etwas, das auch kleinen Teams ermöglicht, in kurzer Zeit umfangreiche und nachhaltige Projekte zu starten. Etwas wie Ruby on Rails.

Ruby ist eine freie, objektorientierte und leicht zu erlernende Programmiersprache. Der größte Unterschied zu PHP ist in meinen Augen die Eigenschaft, dass die Syntax von Ruby sehr klar durchdacht und intuitiv ist. Intuitiv deshalb, weil man Ruby-Code schreibt, wie man ihn auch in einer Doku lesen würde. Ein Beispiel:

Aufgabe: Führe einen Codeabschnitt fünf Mal aus.

Bei PHP würde das so funktionieren:

for($i = 0; $i < 5; $i++) {
// Code...
}

In Worten wäre das: Erzeuge eine Schleife. Erzeuge in dieser Schleife eine Variable “i”. “i” hat den Wert null. “i” ist immer kleiner als fünf. Erhöhe den Wert von “i” bei jedem Schleifendurchlauf um eins, bis du bei fünf angelangt bist. Dann hör damit auf.

Jetzt stelle man sich vor, eine Mutter würde ihrem dreijährigen Kind erklären wollen, dass das es beispielsweise eine Taste fünf Mal drücken muss, um zu irgendeinem Ergebnis zu kommen: Kind, erzeuge eine Schleife. Erzeuge in dieser Schleife eine Variable “i”. “i” hat den Wert …

Das arme Kind.

Ruby ist intuitiver. Man programmiert das, was man auch sprechen würde: Drücke diese Taste fünf Mal. Oder eben: Führe diesen Codeabschnitt fünf Mal aus.

5.times do
# Code...
end

Und deshalb bin ich von Ruby begeistert. Es ist nicht nur dieser Grund, wieso Ruby dynamischer zu programmieren ist als PHP.

Kommen wir zum "... on Rails"-Part. Rails ist ein Web-Framework, das die ideale Ergänzung zu Ruby darstellt, wenn man Webapplikationen entwickeln will. Die drei wichtigsten Eigenschaften sind:

  • "Don't Repeat Yourself" (kurz DRY) schreibt vor, jeden Code nur ein einziges Mal schreiben zu müssen. Wieso also ein Formular zum Anlegen und ein weiteres Formular zum Bearbeiten eines Datensatzes schreiben? Doppelter Aufwand ist nicht nötig.
  • Der "Model-View-Controller" (kurz MVC) ist Konzept, Variablendefinitionen, verarbeitenden Code und Ausgabe zu trennen. Den Zugriff auf eine relationale Datenbank regelt der "Model"-Teil. "View", klar, ist für die Ausgabe zuständig. Die Datenverarbeitung, also alles zwischen der Datenbankschnittstelle und der Ausgabe, übernimmt der "Controller".
  • "Convention Over Configuration" bedeutet, dass genau definierte Konventionen für die Namensgebung von Objekten eingehalten werden müssen. Eine dieser Konventionen ist beispielsweise die Benennung von Datenbanken: Wenn es ein Model mit dem Namen "Client" gibt, wird erwartet, dass dessen Werte in einer Tabelle namens "clients" (Plural und kleingeschrieben) gespeichert werden und ein Integer-Primärschlüssel vorhanden ist (grundsätzlich).

Das Zusammenspiel dieser Punkte ermöglicht die agile Softwareentwicklung, auf die das Ruby on Rails-Framework ausgelegt ist. Schnell programmieren, später noch viel ändern können und mehr Zeit für ein gutes Konzept haben als für langweilige, wiederkehrende Aufgaben. Und zu guter Letzt an einen Punkt zu kommen, wo man eine leistungsfähige Applikation bewundern kann. Also nicht wundern, wenn ein paar künftige Projekte von mir unter Rails laufen werden ;-)

Interessiert? Hier zwei Links, die mir persönlich den Einstieg in Ruby und in Rails erleichtert haben:


Quellennachweise:
Ruby-Logo: Copyright © 2006 Yukihiro Matsumoto (Lizenz)
Rails-Logo: Eingetragenes Markenzeichen von David Heinemeier Hansson. Alle Rechte vorbehalten. (Lizenz)

Hinterlasse eine Antwort

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *

*

Du kannst folgende HTML-Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="" highlight="">