Programmierer-Allzweckwaffe Ruby on Rails | PHP Nuke Europe

  • Ruby-on-Rails
  • Ruby-on-Rails-Supporter

Ob Twitter, Groupn oder Shopify, große wie kleine Firmen setzen bereits seit Jahren auf das Open-Source-Framework Ruby on Rails, auch Rails genannt, dass von David Heinemeier Hansson im Jahre 2003 veröffentlicht wurde. Die aktuelle Version des Hauptprogramms wurde zuletzt am 20.01.2012 aktualisiert und die Versionsnummer ist auf dem Stand 3.2. Programmiert wurde das Framework in Ruby, einer objektorientierten Programmiersprache ähnlich wie Python oder Perl. Ruby wurde von Yukihiro Matsumoto entworfen und wird bereits seit 1995 zur Programmierung von Web-Anwendungen angewandt. Mittlerweile ist Ruby ebenfalls Open-Source und darf beliebig verändert werden.

Wann ist eine Ente eine Ente?
Großer Vorteil von Ruby on Rails ist die Objektorientierung. Ein Objekt wird also nicht allein durch seine vordefinierte Klasse zugewiesen, sondern kann mit anderen “Methoden” verglichen werden und sich dynamisch anpassen. Einfach ausgedrückt bedeutet dies, dass wenn ein Objekt alle Merkmale einer Ente aufweist, – obwohl die Klasse ihn als Schwan deklariert – wird das Objekt “Schwan” vom Compiler trotzdem als “Ente” erfasst.

ActiveRecord – Variablendeklaration leicht gemacht!
Ein weiteres herausstechendes Merkmal von Ruby on Rails ist “ActiveRecord”. Wird innerhalb der Datenbank eine Variable definiert, zum Beispiel die Anzahl von Reihen und Spalten bestimmter Tabellen, kann diese Information dank ActiveRecord verwendet werden, ohne eine weitere Deklaration vorzuhalten. Jede Information wird also insgesamt nur ein einziges Mal deklariert und mit ActiveRecord über das gesamte System verteilt.

exit unless “language”.include? “english”
Ruby spricht Englisch. Diese Aussage ist zwar nicht ganz richtig, denn immerhin handelt es sich noch um eine Programmiersprache, aber die Syntax der Programmiersprache ist so aufgebaut, dass sie der englischen Sprache sehr ähnelt. Als Beispiel könnte man die obere Überschrift anführen. Hier wird deklariert, dass das Programm sich selbst beenden soll. Es sei denn, das Wort “Language” würde den String “english” beinhalten. Auf Englisch würde dieser Satz etwa so lauten: “Please exit the program unless the word language includes the string english”. Auch wenn dieser Satz mit einigen Füllwörtern ausgeschmückt wurde, ist trotzdem zu erkennen, dass die Syntax und die Reihenfolge der Befehle dem englischen Satz sehr nahe kommt. Dies macht es vor allem Einsteigern sehr einfach, sich in das Ruby on Rails Framework einzuarbeiten, und schnell erste Erfolge zu erzielen.

You are a Prototype
WYSWIG war gestern, On-the-fly-Prototyping ist heute. Rails bietet dafür eine Technik die sich “Scaffolding” nennt. Dabei wird die Software stets nach neuen Einträgen durchsucht und im Viewpanel beinahe sofort angezeigt. Wird also in der Datenbank eine neue Tabelle deklariert, ist diese bereits wenige Sekunden später sichtbar, kann überprüft, neu positioniert oder gelöscht werden. Damit wird das Aufbauen des Grundgerüsts wesentlich vereinfacht und kann sozusagen während des Programmierens überprüft werden. Im späteren Verlauf der Entwicklung arbeitet Ruby on Rails eng mit dem beigelieferten WEBrick zusammen, der einen Testserver für Applikationen darstellt. Durch die Kombination von Scaffolding und WEBrick können erste Prototypen bereits vor dem Aufsetzen des eigentlichen Webservers getestet und verbessert werden und erste Programmfehler werden schnell und effizient gefunden.

Eine weitere Hilfe beim Testen neuer Applikationen bildet die Backupdatenbank die Ruby on Rails in dreifacher Ausführung anlegt. Wird die Datenbank durch einen misslungenen Test inkonsistent oder gar ganz zerstört, wird automatisch ein “Revert” eingespielt, der dem exakten Zustand der Datenbank vor dem Testverfahren entspricht. Die Testdatenbank wird dadurch überschrieben und jeder weitere Test kann mit den gleichen Ausgangssituationen begonnen werden.

Dadurch eignet sich Ruby on Rails bestens für Progammierung von kleinen so wie großen Projekten. Ein CMS wäre damit bspw. gut realisierbar und durch das Framework lässt sich Zeit sparen, weil man sich nicht immer wiederholen muss.

Kategorien

Über den Autor:

One Comment

Hinterlasse eine Antwort