20 Jahre Ruby on Rails
In diesem Artikel geben wir einen kurzen Einblick in die Geschichte von Ruby on Rails und beleuchten die Vorteile des Frameworks.
Ruby on Rails ist ein Webframework, das nun schon 20 Jahre seines Bestehens feiert. Damals hat es die Webentwicklung revolutioniert und noch immer können Produkte und MVPs mit dem Framework schnell auf die Beine gestellt werden. Was steckt dahinter, wie funktioniert Ruby on Rails (auch RoR) und warum lohnt es sich, immer noch auf RoR zu setzen?
Eine kleine Hommage zum 20-Jährigen Geburtstag, in dem wir die Vorteile des Frameworks aus unserer Sicht als Rails-Agentur beschreiben.
Eine schnelle Geschichte von Ruby on Rails
Die Programmiersprache Ruby wurde bereits in den 1990er Jahren entwickelt und kommt aus Japan. Das Framework zu Ruby – Ruby on Rails – wurde 2004 von David Heinemeier Hansson als Open-Source-Projekt veröffentlicht und wurde schnell sehr populär. Anliegen für die Entwicklung des Frameworks war damals, Anwendungen schnell entwickeln zu können, gute “Defaults” mitzubringen (Stichwort Konvention vor Konfiguration bzw. Convention over configuration) und Wiederholungen zu vermeiden (DRY: don’t repeat yourself). Gutes Timing spielte hier eine Rolle: Die Zeit war reif für ein starkes Framework für Webanwendungen. Rails ist ein Full-Stack-Framework, das alles enthält, was man braucht, um Webanwendungen sowohl im Frontend als auch im Backend zu erstellen.
Ruby on Rails war für die schnelle Softwareentwicklung gedacht und ist daher immer noch sehr gut für Start-ups geeignet: Es kann schnell und günstig etwas stabiles und wartbares auf die Beine gestellt werden. Wenn das Start-up wächst, skaliert Rails – auch wenn der Vorwurf, dass es das nicht tun würde, bei vielen Rails-Enthusiasten wie ein Stachel tief sitzt. Dass dem nicht so ist, zeigen die vielen Mega-Plattformen, die heute noch auf Rails laufen. Mehr dazu unten.
Ruby on Rails ist ein gut organisiertes, inzwischen auch durch eine Stiftung unterstütztes Open Source-Projekt. Inzwischen haben über 6000 Personen zum Code von Rails beigetragen. Dabei gibt es ein Core-Team, das aktuell aus 12 Personen besteht – inklusive David Heinemeier Hansson, in der Community bekannt als DHH. Das Core-Team bewertet Pull-Requests, bearbeitet Beschwerden über das Verhalten von Rails und leistet einen Großteil der Vorarbeit für neue Features.
Vorteile von Ruby on Rails
Mit RoR entwickelt man Webanwendungen, nichts anderes. Wenn Sie eine solche benötigen oder entwickeln möchten, gibt es viele Frameworks und Tools zur Auswahl, darunter auch Python, Java oder PHP, die jeweils spezifische Stärken und Schwächen haben. Wir setzen bei Webanwendungen ausschließlich auf Ruby on Rails und zeigen im Folgenden die Vorteile von Rails.
Schnelle Entwicklungszeit
Für Entscheider*innen und Projektleiter*innen bietet Ruby on Rails den Vorteil einer schnellen Entwicklungszeit, was bedeutet, dass Projekte zügiger abgeschlossen und auf den Markt gebracht werden können. Die Kosteneffizienz wird durch die beschleunigte Entwicklungszeit ebenfalls gesteigert. Zudem ermöglicht die robuste und flexible Struktur von RoR eine hohe Skalierbarkeit und Wartbarkeit der Anwendung, was langfristig Investitionssicherheit bietet.
Intuitive Syntax und eine starke Open Source-Community
Entwickler schätzen Ruby on Rails für die intuitive und klare Syntax, die die Produktivität erhöht und den Entwicklungsprozess angenehm gestaltet. Es existiert eine Vielzahl umfangreicher und gut dokumentierter Gems (Bibliotheken) für alle möglichen Features und Funktionen – das spart ebenfalls wertvolle Zeit.
Darüber hinaus fördert RoR bewährte Entwicklungspraktiken und eine starke Community-Unterstützung, was den Wissensaustausch und die kontinuierliche Verbesserung der Codequalität begünstigt. Die Community besteht aus vielen engagierten Rails-Entwickler*innen. Diese haben ein eigenes Interesse daran, das Framework weiterzuentwickeln, da sie oft eigene Produkte und Dienstleistungen in Rails anbieten.
Konvention vor Konfiguration
Ein wesentlicher Vorteil von Ruby on Rails ist das Prinzip der „Konvention vor Konfiguration“. Dies bedeutet, dass Entwickler*innen nur wenig Konfiguration vornehmen müssen, da RoR sinnvolle Standardwerte und Konventionen bereitstellt. Dies reduziert die Komplexität und beschleunigt den Entwicklungsprozess erheblich.
Integrierte Testumgebung
RoR bietet eine robuste, integrierte Testumgebung, die eine umfassende und effiziente Qualitätssicherung ermöglicht. Entwickler*innen schreiben automatisiert ausführbare Tests um sicherzustellen, dass ihre Anwendungen fehlerfrei funktionieren. Dies ist besonders im Vergleich zu anderen Frameworks, die oft zusätzliche Konfigurationen oder externe Tools erfordern, ein großer Vorteil. Die Testumgebung von RoR ist tatsächlich einer der Hauptgründe, warum wir uns vor 15 Jahren bei der Gründung von makandra dazu entschlossen haben, ausschließlich mit Ruby on Rails zu arbeiten.
Automatisierung und Produktivitätstools
Ruby on Rails unterstützt die Automatisierung von wiederkehrenden Aufgaben durch Tools wie Rake. Aufgaben wie Datenbankmigrationen, Testausführungen und andere wiederkehrende Prozesse können automatisiert und somit schneller und zuverlässiger durchgeführt werden.
Sicherheitsfunktionen
RoR verfügt über eingebaute Sicherheitsmechanismen, die Anwendungen vor häufigen Sicherheitslücken schützen. Schutz vor wie SQL-Injection, Cross-Site Scripting (XSS) und Cross-Site Request Forgery (CSRF) sind standardmäßig integriert, was die Sicherheit der Anwendungen erhöht.
RESTful-Architektur
Ruby on Rails unterstützt die Erstellung von RESTful APIs, was die Entwicklung moderner Webanwendungen vereinfacht und standardisiert. Diese Architektur ermöglicht eine klare und verständliche Struktur von Anwendungsressourcen und erleichtert die Integration mit anderen Diensten und Anwendungen.
Bekannte Ruby-on-Rails-Anwendungen
Ruby on Rails kommt noch immer in vielen Anwendungen zum Einsatz. Hier stellen wir ein paar vor, die Ihnen vielleicht schon begegnet sind, oder die Sie vielleicht selbst nutzen.
Die Mutter aller Rails-Anwendungen ist Basecamp. Denn DHH entwickelte zuerst die webbasierte Projektmanagement-Software und extrahierte daraus dann das Webframework Ruby on Rails.
Bald folgten viele – inzwischen massiv bekannte und große Anwendungen. Darunter GitHub, an dem kein Entwickler und keine Entwicklerin vorbeikommt, oder Shopify, eine weltweit genutzte E-Commerce-Software. Vermutlich hat jeder von uns schon Webseiten besucht, die RoR unter der Haube haben, auch wenn man nicht Webentwickler ist und lieber auf Online-Shopping verzichtet.
Alle von uns buchen Urlaub, vielleicht auch mal eine Wohnung auf Airbnb, mit RoR im Hintergrund.
Haben Sie schon mal Crowdfunding genutzt oder unterstützt? Dann waren Sie vielleicht auf der RoR-Anwendung Kickstarter. Wer nicht netflixt, sondern lieber Hulu schaut, hatte auch beim Streamen schon Kontakt mit RoR. Vielleicht arbeiten Sie in einem Unternehmen im Kundensupport, dann ist Ihnen vielleicht Zendesk ein Begriff, eine Support-Plattform gebaut mit RoR.
Deutsche und – nebenbei erwähnt – von uns entwickelte Beispiele für RoR-Anwendungen sind das Audi MediaCenter, wo man sich die neuesten Modelle des deutschen Autobauers ansehen oder sich über sonstige Neuerungen des Konzerns informieren kann. Sechs Millionen Menschen im DACH-Raum besuchen monatlich die Video-Lernplattform Studyflix. Und alle Grundschulkinder in Deutschland, die sich auf den Fahrradführerschein vorbereiten, nutzen das Portal die-radfahrausbildung.de. Beides ebenfalls built with love in Ruby on Rails.
RoR in der Gegenwart – nischiges Webframework mit viel Power
Zugegeben: Die Arbeit mit Ruby on Rails fühlt sich manchmal etwas nischig an. Ruby ist nicht die erste Programmiersprache, die Studierende an der Uni kennenlernen. Es ist außerhalb der Entwickler*innen-Community vermutlich niemandem ein Begriff, wohingegen auch Nicht-Techies vielleicht doch schonmal von Java oder Python gehört haben.
Am Ende bleibt Ruby als Sprache aber extrem ausdrucksstark und schreibt sich als Entwickler leicht von der Hand. Die Stärken von Rails bestehen weiterhin: Es ist ein komplettes Framework, spezialisiert auf moderne Web-Anwendungen – und Rails entwickelt sich stetig weiter.
Das Argument, es gäbe so wenige Ruby-Entwickler*innen muss man auch unter dem Aspekt sehen, dass Ruby-Entwickler*innen zu 99% Webentwickler*innen sind die mit RoR arbeiten. Java findet man in Mikrocontrollern, mobilen und Desktop-Anwendungen und natürlich auch im Web, dann aber mit einem Dutzend verschiedener Web-Frameworks.
RoR in der Zukunft: Ein Blick in die Glaskugel und die Rails Foundation
Der Blick in die Zukunft ist natürlich risikoreich, aber wir wagen ihn trotzdem. Als Rails-Enthusiasten sind wir vielleicht etwas voreingenommen. Aber wir sehen Tag für Tag, was wir mit unseren Projekten auf die Beine stellen können.
Ruby on Rails ist gekommen, um zu bleiben. Durch die starke und talentierte Community wird RoR noch lange eine wichtige Rolle in der Webentwicklung spielen. Durch die Rails Foundation – die 2022 ins Leben gerufen wurde – enthält das Open-Source-Framework seit ein paar Jahren mehr monetäre Unterstützung, was ebenfalls einen positiven Einfluss auf die Zukunft des Frameworks haben sollte. Auch wir sind seit diesem Jahr Teil der Rails Foundation, als erstes deutsches Contributing Member.
Die Rails Foundation sieht bei sich folgende Aufgabe:
Das Ziel der Rails Foundation ist es, die Dokumentation, die Weiterbildung, das Marketing und die Veranstaltungen des Frameworks zum Nutzen aller neuen und bestehenden Rails-Entwickler zu verbessern und ein florierendes Ökosystem zu gewährleisten, das sich auch in den kommenden Jahrzehnten weiter verbessert.
Auch wir sind gekommen, um zu bleiben und auch wir werden Ruby on Rails die Treue halten. Unser Team aus Rails-Expert*innen hat durch die tägliche Arbeit mit dem Framework viel Wissen aufgebaut, das wir noch lange in viele spannende Projekte fließen lassen und weitergeben möchten.
Die Zukunft hält einige Herausforderungen für uns bereit. Bei vielen davon kann Digitalisierung, Software und Technologie helfen. Wir freuen uns darauf, zusammen mit Ruby on Rails ein Teil davon zu sein.