Zum Inhalt springen

SEO Analyse » SEO Lexikon » r » Ruby on Rails

Ruby on Rails

Bild: Symbolfoto Eisenbahnschienen – namensgebend für „Ruby on Rails“

Bei Ruby on Rails handelt es sich um ein Web Application Framework, das in der Programmiersprache Ruby geschrieben wurde und dessen Quelltext frei zugänglich ist. Ruby on Rails wurde im Juli 2004 vom dänischen Programmierer David Heinemeier Hansson erstmals der Öffentlichkeit präsentiert. Das Framework orientiert sich an den Prinzipien „Konvention vor Konfiguration“ und „Don’t repeat yourself“.

Der Aufbau von Ruby on Rails

In seinem Aufbau folgt Ruby on Rails der „Model View Controller“-Architektur, wobei das Web Application Framework aus fünf verschiedenen Modulen besteht. Das Modul „Active Support“ beinhaltet diejenigen Erweiterungen von Rails, die das Framework „Ruby“ betreffen. „Active Record“ ist eine Abstraktionsschicht, die auf dem objekt-relationalen Modell von Martin Frowler basiert. Das Modul „Action Pack“ dient der Response-Ausgabe und der Request-Behandlung, während das Modul „Action Mailer“ für den Versand und den Empfang von E-Mails zuständig ist. Das Modul „Active Resource“ ersetzt seit Version 2.0 von Ruby on Rails den Action Web Service. Das Modul ermöglicht unter anderem die Programmierung von Web Services. In Ruby on Rails sind die JavaScript-Frameworks Scriptaculous und Prototype integriert. Hierdurch können auch Ajax-Anwendungen auf besonders einfache Weise entwickelt werden.

Versionengeschichte

Version 1.0 von Ruby on Rails wurde im Dezember 2005 veröffentlicht. Im März des folgenden Jahres wurde Version 1.1 fertiggestellt. Diese Version zeichnete sich durch Verbesserungen hinsichtlich der Performance und bezüglich ActiveRecord aus, zudem war es durch RJS nun möglich, Templates für JavaScript zu entwickeln. Version 1.2 erschien im Januar 2007. Ein Interface, das die sichere Behandlung von UTF-8-Zeichenketten ermöglichte, sowie das Routing nach MIME-Typen sind die Highlights dieser Version von Ruby on Rails. Die Version 2.0 wurde im Dezember 2007 veröffentlicht. Diese Version wies mehrere Hundert Neuerungen auf, außerdem wurde statt SOAP nun REST als Plattform für Web Services verwendet. Auch die im Juni 2008 erschienene Version 2.1 brachte zahlreiche Neuerungen und Verbesserungen mit sich. So wurde der Umgang mit Zeitzonen verbessert und es wurden die sogenannten Named-Scopes vorgestellt, die es erlaubten, Anfragen mit häufig gebrauchten Bedingungen zu definieren. Ruby on Rails 2.2 erschien im November 2008. Diese Version zeichnete sich durch eine zunehmende Internationalisierung und eine höhere Threadsicherheit aus. Version 2.3 wurde im März 2009 vorgestellt und enthielt neben zahlreichen Verbesserungen auch Templates. Diese Templates haben die Aufgabe, häufig verwendete Konfigurationen schon bei der Erstellung einer Anwendung erzeugen zu lassen. Zudem war es mit dieser Version nun möglich, Anwendungen in Applikationen zu integrieren. Zur Grundlage von Ruby on Rails wurde ab dieser Version die Middleware Rack. Ruby on Rails 3.0 wurde im August 2010 veröffentlicht. Die Einführung dieser Version ging mit der Zusammenführung von Ruby on Rails mit dem Webframework Merb einher. Ein zunehmend modularer Aufbau ist das wesentliche Merkmal dieser Version. Die Version 3.1 erschien im August 2011. Eine Neuerung war die Asset Pipeline, die dafür sorgt, dass alle JavaScript und CSS-Dateien vor der Auslieferung zu einer Datei zusammengefasst und komprimiert werden. Im Januar 2012 folgte die Veröffentlichung von Ruby on Rails 3.2.

Die Grundprinzipien von Ruby on Rails

Die Grundprinzipien des Web Application Framework lauten „Convention over configuration“, das so viel wie „Konvention vor Konfiguration“ heißt und „Don’t repeat yourself“, was mit „Wiederhole dich nicht“ übersetzt werden kann.
Mit dem Prinzip „Don“t repeat yourself“ ist gemeint, dass alle Informationen nur jeweils einmal vorhanden sein sollten. So müssen beispielsweise die Spalten einer Tabelle nur einmal in der Datenbank und somit nicht noch zusätzlich in einer Konfigurationsdateie oder im Quelltext gespeichert werden. Die erforderlichen Setter- und Getter-Methoden, die das Schreiben in und das Lesen aus der Datenbank ermöglichen, erstellt Ruby on Rails automatisch. Dass die Daten auch im Falle einer Datenbankänderung stets konsistent bleiben, ist ein weiterer Vorteil dieses Verfahrens. Das Prinzip „Convention over configuration“ hat zum Ziel, Konfigurationen in ihrer Komplexität zu reduzieren. Es besagt, dass Konfigurationen dann erheblich vereinfacht werden, wenn in allen Teilen der Software die vorhandenen Konventionen eingehalten werden. Die Möglichkeiten der Entwickler werden hierdurch nicht eingeschränkt.

Scaffolding und Webserver-Unterstützung

Das in Ruby on Rails integrierte Scaffolding erlaubt eine einfache On-the-fly-Entwicklung von Webanwendungen. So wird zum Beispiel ein neues Feld in der Datenbank in der entsprechenden New/View/Edit-Ansicht sofort angezeigt. Dass ein Datenbankfeld sofort sichtbar ist und verschiedene Datenbankoperationen mit diesem Textfeld verknüpft werden können, wird mit der Abkürzung CRUD bezeichnet. CRUD steht für Create, Read, Update, Delete. Das Scaffolding findet vor allem in Rahmen des Prototyping Einsatz, die Ergänzung mit eigenem Code ist üblich.
Um die Entwicklung und das Testen von Webanwendungen zu unterstützen, bietet sich der Webserver WEBrick an. Des Weiteren ist jeder Webserver geeignet, der CGI und FastCGI unterstützt.

Schichten

Im Zusammenhang mit einer Ruby-on-Rails-Applikation sind drei Schichten von Belang, die Modellschicht, die Steuerungsschicht und die Präsentationsschicht.
Das Backend einer Ruby-on-Rails-Anwendung ist normalerweise eine relationale Datenbank. Der Zugriff auf diese Datenbank wird mittels ActiveRecord ermöglicht. Es handelt sich hierbei um eine ORM-Schicht, die eine Klasse in Form einer Tabelle darstellt, wobei die Attribute der Klasse die einzelnen Spalten bilden. Eine Instanz der Klasse entspricht einem in der Tabelle gespeicherten Datensatz. Derzeit werden verschiedene Datenbanken unterstützt, zu denen unter anderem MySQL und Oracle zählen. Um die Steuerungsschicht einer Ruby-on-Rails-Appliation herzustellen, wird die ActionController-Klasse benötigt, die zur ActionPack-Bibliothek gehört. Aufgabe eines Controllers ist es, eine bestimmte Geschäftslogik zu kapseln und gleichzeitig Schnittstellen zur Kommunikation mit dieser Logik anzubieten. Die Präsentationsschicht einer Ruby-on-Rails-Anwendung wird mittels der Klasse ActionView hergestellt. Zu den von Ruby on Rails unterstützten Ausgabeformaten zählen HTML, XML, JavaScript und Binärdaten. Ruby on Rails unterstützt verschiedene Template-Systeme, zu denen unter anderem ERB, SASS und CoffeeScript zählen.

Zusammenfassung

Ruby on Rails ist ein in der Programmiersprache Ruby geschriebenes, öffentlich zugängliches Web Application Framework. Es wurde 2004 von dem dänischen Entwickler David Heinemeier Hansson eingeführt und folgt den Grundprinzipien „Konvention vor Konfiguration“ und „Don’t repeat yourself“.

Die Architektur dieses Frameworks basiert auf dem Model View Controller-Modell und besteht aus verschiedenen Modulen wie „Active Support“, „Active Record“, „Action Pack“, „Action Mailer“ und „Active Resource“. Diese Module erleichtern unter anderem die Datenabstraktion, E-Mail-Kommunikation und die Erstellung von Web Services. Es unterstützt auch JavaScript-Frameworks, was die Entwicklung von Ajax-Anwendungen vereinfacht.

Seit seiner Erstveröffentlichung hat Ruby on Rails mehrere Versionen mit zahlreichen Updates und Verbesserungen durchlaufen. Die Änderungen reichten von Leistungssteigerungen bis hin zur Einführung neuer Features wie die Asset Pipeline und die Unterstützung für mehrere Datenbank-Systeme.

Die Grundprinzipien, auf denen Ruby on Rails basiert, sind darauf ausgelegt, die Entwicklung von Webanwendungen so effizient wie möglich zu gestalten. Es minimiert Redundanzen im Code und reduziert die Notwendigkeit für umfangreiche Konfigurationen.

Scaffolding und Webserver-Unterstützung durch WEBrick oder andere CGI- und FastCGI-kompatible Server erleichtern die On-the-fly-Entwicklung und das Testen von Webanwendungen. Die Architektur ist in drei Hauptebenen unterteilt: Modellschicht, Steuerungsschicht und Präsentationsschicht, die jeweils spezifische Aufgaben im Entwicklungsprozess übernehmen.

Häufige Fragen und Antworten

Was ist Ruby on Rails?

Ruby on Rails ist ein Web Application Framework, das in der Programmiersprache Ruby entwickelt wurde. Es wurde im Jahr 2004 von David Heinemeier Hansson vorgestellt und folgt den Prinzipien „Konvention vor Konfiguration“ und „Don’t repeat yourself“.

Welche Architektur hat Ruby on Rails?

Ruby on Rails folgt der „Model View Controller“ (MVC)-Architektur. Es besteht aus verschiedenen Modulen, darunter „Active Support“, „Active Record“, „Action Pack“, „Action Mailer“ und „Active Resource“. Diese Module erleichtern unter anderem die Datenabstraktion, E-Mail-Kommunikation und die Entwicklung von Web services.

Welche Versionen von Ruby on Rails gibt es?

Es gibt verschiedene Versionen von Ruby on Rails, die regelmäßig aktualisiert werden. Zu den bekanntesten Versionen gehören 1.0, 2.0, 3.0 und 4.0. Jede Version bringt neue Funktionen, Verbesserungen und Leistungssteigerungen mit sich.

Was sind die Grundprinzipien von Ruby on Rails?

Die Grundprinzipien von Ruby on Rails sind „Konvention vor Konfiguration“ und „Don’t repeat yourself“. Durch die Einhaltung dieser Prinzipien wird die Entwicklung von Webanwendungen effizienter und weniger fehleranfällig.

Wie kann Ruby on Rails in der Suchmaschinenoptimierung eingesetzt werden?

Ruby on Rails bietet zahlreiche Funktionen und Tools, die für die Suchmaschinenoptimierung von Websites genutzt werden können. Durch die effiziente Entwicklung von Webanwendungen können SEO-Best Practices leicht umgesetzt werden. Unsere SEO-Agentur verfügt über Spezialisten, die Ihnen bei der Optimierung Ihrer Ruby-on-Rails-Website helfen können. Kontaktieren Sie uns für eine unverbindliche Anfrage!

Bildnachweis: iStock.com/den-belitsky


Zurück zur Hauptseite: r
Alle Marken, Warenzeichen, Unternehmens- und Produkt-Bezeichnungen sind mit, aber auch ohne definitive Kennzeichnung, Eigentum des Inhabers der Rechte. Alle aufgeführten Elemente dienen lediglich der informativen Beschreibung.