Document ID: /fineweb-2-swissfilter-quality_10-filterrobots/filtered/03261.jsonl.gz/1747

Applikationsentwicklung im Schnellzugsverfahren
Frameworks zum Erstellen von Webanwendungen gibt es viele, doch hat in letzter Zeit kaum ein Framework so viel Aufmerksamkeit auf sich gezogen wie das auf der objekt-orientierten Scriptsprache Ruby basierende Ruby on Rails. Diesen Umstand verdankt Ruby on Rails vor allem der Tatsache, dass es atemberaubend kurze Entwicklungszeiten verspricht, ohne dass man sich diese durch Nachteile wie eine langsame Ausführungszeit erkaufen müsste. Wir haben das Framework genau unter die Lupe genommen und uns die Frage gestellt, ob Ruby on Rails die Entwicklung von Webapplikationen revolutionieren kann.
Praxisorientierter Aufbau
Rails ist aus der Entwicklung einer Webanwendung, genauer gesagt der Kollaborations-Applikation Basecamp, entstanden. Das Framework wurde also nicht im Vakuum entwickelt, sondern aus einer laufenden Anwendung heraus extrahiert. Auch neue Features finden in der Regel über diesen Prozess Eingang in Rails. Damit entstehen nicht einfach Funktionen, weil es nett wäre, sie zu haben, sondern weil sie ein Bedürfnis in der Entwicklung abdecken.
Das Framework besteht aus verschiedenen Klassen (siehe Kasten «Architektur von Ruby on Rails»), die alle Aspekte der Entwicklung von Webanwendungen abdecken. Es verwendet das in Smalltalk erstmals angewandte MVC-Schema (Model View Controller). Dieses trennt scharf zwischen Geschäftslogik und Datenmodell (Model), der Sicht des Benutzers (View) sowie der Möglichkeiten des Benutzers, das Model zu beeinflussen (Controller).
Verschiedene Prinzipien liegen dabei der Entwicklung des Frameworks zugrunde: DRY ist sicher eines der wichtigsten. DRY steht für «Don't repeat yourself», was soviel heisst, dass eine Tatsache nur ein einziges Mal beschrieben wird. Hier ein Beispiel: Ein Datenmodell ist implizit durch das Datenbankschema beschrieben. Um damit zu arbeiten, müsste man in anderen Frameworks eine formale Repräsentation davon haben (z.B. in XML). Rails wertet dagegen direkt die Datenbank aus – Änderungen in der Datenbank schlagen sich direkt im Objektmodell nieder. Der Zwischenschritt – und damit eine mögliche Quelle für Fehler – wird vermieden.
Ein weiteres Prinzip ist «Weniger ist mehr». Die erste Fassung von Rails umfasste gerade einmal 1000 Zeilen Code, die aktuelle ist mit rund 4000 Zeilen nicht sehr viel grösser. Dies rührt sicher auch daher, dass David Heinemeier Hansson, der Vater von Rails, sehr strenge Kriterien ansetzt, wenn es darum geht, was in Rails aufgenommen wird und was nicht. Ein einfaches «wäre es nicht nett, wenn...» reicht dabei nicht. Erweiterungen entstehen nicht aus theoretischen Überlegungen, sondern werden aus realen Anwendungen extrahiert, wenn sie sich dort bewährt haben. Erweiterungen sind trotzdem jederzeit möglich: Da Rails komplett in Ruby geschrieben ist, steht es jedem Entwickler frei, es sich nach seinen Bedürfnissen anzupassen.