osob.de Unicorn Logo
Blogpost overview

Ruby on Rails - Ein Webframework für hohe Ansprüche | 22.01.2023

Ruby on Rails, auch bekannt als Rails, ist ein Open-Source-Web-Framework, das auf der Programmiersprache Ruby basiert. Es wurde erstmals 2005 von David Heinemeier Hansson vorgestellt und hat seitdem eine große Anhängerschaft unter Entwicklern gewonnen.

You like what you find here? A donation helps to keep this project running.

Entwicklung von Rails

Rails wurde mit dem Ziel entwickelt, die Entwicklung von Web-Anwendungen zu vereinfachen und zu beschleunigen. Es bietet eine Vielzahl von Funktionen wie automatisches Routing, MVC-Architektur, Convention over Configuration und ActiveRecord-Mapping. Diese Funktionen ermöglichen es Entwicklern, schneller und effizienter Code zu schreiben, indem sie die Wiederholung von Aufgaben minimieren und die Lesbarkeit des Codes erhöhen.

Programmiersprache Ruby

Ruby ist eine objektorientierte Programmiersprache, die im Jahr 1995 von Yukihiro "Matz" Matsumoto entwickelt wurde. Es ist eine dynamische Sprache, die einige Ähnlichkeiten mit Python und Perl aufweist, aber auch eigene Konzepte wie Mixins und Duck Typing beinhaltet.

Eines der wichtigsten Merkmale von Ruby ist seine Lesbarkeit und Schreibbarkeit. Es hat eine sehr natürliche und intuitiv verständliche Syntax, die es Entwicklern erleichtert, Code zu lesen und zu schreiben. Es ist auch bekannt für seine Metaprogrammierungsfähigkeiten, die es Entwicklern ermöglichen, den Ruby-Interpreter selbst zu verändern und zu erweitern, um bestimmte Anforderungen zu erfüllen.

Ruby hat in den letzten Jahren an Popularität gewonnen, insbesondere durch den Erfolg von Ruby on Rails. Es wird auch in anderen Bereichen wie der Automatisierung von Aufgaben, Skripting und der Erstellung von kleinen Tools und Anwendungen verwendet. Es hat eine aktive und engagierte Community, die ständig an der Weiterentwicklung der Sprache arbeitet und die Entwicklung von Werkzeugen und Bibliotheken unterstützt.

Rails Funktionsweise

Ruby on Rails funktioniert auf der Grundlage der MVC-Architektur (Model-View-Controller). Dies bedeutet, dass die Daten, die von einer Anwendung verwaltet werden, von Models repräsentiert werden, die Sicht auf die Daten wird durch Views bereitgestellt und die Steuerung der Interaktion zwischen Models und Views wird von Controllern übernommen.

Models sind verantwortlich für die Verwaltung und Validierung der Daten, die von einer Anwendung verwendet werden. Sie stellen Methoden bereit, um Daten aus der Datenbank abzurufen und zu speichern, sowie Methoden zur Validierung von Eingabedaten.

Views sind verantwortlich für die Darstellung der Daten auf der Benutzeroberfläche. Sie enthalten hauptsächlich HTML-Code und ermöglichen es, Daten aus Models darzustellen.

Controller steuern die Interaktion zwischen Models und Views. Sie empfangen Anfragen von Benutzern, rufen die entsprechenden Methoden auf Models auf, um Daten abzurufen oder zu speichern, und rendern die entsprechenden Views, um die Antwort an den Benutzer zurückzugeben.

Rails verwendet auch das Konzept der Convention over Configuration, was bedeutet, dass es bestimmte Standards für die Namensgebung und Organisation von Dateien und Verzeichnissen festlegt. Dies ermöglicht es Entwicklern, schneller und einfacher Code zu schreiben, da sie sich nicht um die Konfiguration von Einzelheiten kümmern müssen.

Rails arbeitet auch mit einem ORM (Object-Relational-Mapping) namens ActiveRecord, das es Entwicklern ermöglicht, mit der Datenbank auf objektorientierte Weise zu arbeiten, anstatt SQL-Abfragen manuell zu schreiben.

Programmiersprache Ruby

Ruby on Rails, auch bekannt als Rails, ist ein Framework für die Programmiersprache Ruby. Es nutzt die Sprache Ruby als Grundlage und bietet Entwicklern eine Reihe von Tools und Konventionen, um die Entwicklung von Webanwendungen zu vereinfachen und zu beschleunigen.

Anwendungen von Rails

Rails wird häufig in der Entwicklung von Content-Management-Systemen, E-Commerce-Anwendungen, sozialen Netzwerken und anderen Arten von Web-Anwendungen verwendet. Einige bekannte Anwendungen, die auf Rails basieren, sind GitHub, Shopify, Airbnb und Twitch.

Vergleich mit anderen Frameworks

Rails kann mit anderen populären Web-Frameworks wie Laravel (PHP) und Django (Python) verglichen werden. Im Gegensatz zu diesen Frameworks hat Rails jedoch einen stärkeren Fokus auf Convention over Configuration und eine höhere Abstraktionsebene, was es für bestimmte Anwendungen vorteilhaft macht, aber auch eine stärkere Lernkurve mit sich bringt.

Ruby Beispiele: Hello World

Ein einfaches "Hello World" Beispiel in Ruby on Rails könnte wie folgt aussehen:

  1. Erstelle eine neue Rails-Anwendung mit dem Befehl rails new myapp
  2. Wechsle in das Verzeichnis der Anwendung mit cd myapp
Rails.application.routes.draw do
  root 'welcome#index'
end
  1. Erstelle eine neue Controller-Klasse mit dem Befehl rails generate controller welcome index
  2. Öffne die Datei config/routes.rb und setze die Root-Route auf die Aktion "index" des "welcome"-Controllers:
  3. Öffne die Datei app/views/welcome/index.html.erb und füge folgenden Code hinzu:
<h1>Hello World</h1>
  1. Starte den Server mit dem Befehl rails server und öffne http://localhost:3000 in deinem Browser. Du solltest nun "Hello World" auf der Seite sehen.

Dies ist nur ein sehr einfaches Beispiel, das die grundlegenden Konzepte von Ruby on Rails veranschaulicht, wie z.B die Verwendung von Controllern und Views. In einer echten Anwendung würdest du wahrscheinlich Datenbanken verwenden, um Daten zu speichern und abzufragen, sowie weitere Funktionen wie Formulare und Routen.

Weitere Quellen

Es gibt viele Ressourcen und Websites, die dir dabei helfen können, Ruby on Rails und Ruby besser zu verstehen und zu lernen. Einige der bekanntesten und nützlichsten sind:

Es gibt auch viele Bücher und Onlinekurse zu Ruby on Rails und Ruby, die dir helfen können, das Framework und die Sprache besser zu verstehen und zu meistern. Es hängt von deiner Lernmethode und deinem Kenntnisstand ab, welche Ressourcen am besten für dich geeignet sind.