Feature

Warum Ruby on Rails 6.0 auch heute noch relevant ist

(Grafik: Shutterstock)

Lesezeit: 5 Min. Gerade keine Zeit? Jetzt speichern und später lesen

Ruby on Rails (RoR) galt einst als der PHP-Killer, der das Web 2.0 in eine aufgeräumte Code-Zukunft führen sollte. Trotz sinkendem Interesse setzen immer noch viele Unternehmen Rails ein. Warum ist das so und was macht Ruby on Rails in der Version 6.0 besser?


Als Ruby on Rails einige Jahre nach dem Platzen der Dot-Com-Blase das Licht der Welt erblickte, avancierte das Web-Framework recht schnell zur Lösung aller Probleme, die PHP über die Jahre angehäuft hatte. Ruby on Rails war von Anfang an objektorientiert ausgerichtet, nutzte das Model View Controller-Pattern (MVC), um Struktur, Daten und Anzeige sauber zu trennen, und machte es möglich, das Gerüst eines Blogs in nur 15 Minuten hochzuziehen. Saubere Datenbankanbindungen, Logik und Struktur inklusive. Und das immer mit dem Ansatz „Convention over Configuration“ (CoC), der Vermeidung von Redundanz bei Funktionen und Klassen sowie einer engen und komfortablen Verzahnung mit der Datenbank.

Ruby on Rails im Wandel der Zeit

Ruby on Rails ging also all die Pain Points an, die der Platzhirsch PHP in einem schnell wachsenden Web-Umfeld aus C, C++, Java und vor allem Perl angehäuft hatte. Was sicherlich auch dafür gesorgt hat, dass PHP mehr Anklang fand, denn die Skriptsprache verzieh zu Lasten der Sicherheit eine Menge Code-Schlampereien und war für Anfänger leichter zu erlernen. Und die hohe Unterstützung von PHP auf gängigen Webhostern dürfte ebenfalls dazu beigetragen haben, dass die meisten Web-Developer mit PHP anfingen und dann auch dabei blieben.

Aus heutiger Sicht kann man durchaus behaupten, dass Rails seiner Zeit weit voraus war und über die Jahre einen festen Platz in namhaften Unternehmen gefunden hat. Auch wenn die Community und das Interesse um das Framework heute hinter PHP, Python oder Node.js liegen, ist Rails alles andere als tot. Neben Shopify, die das Aufsetzen von Web-Shops zum Kinderspiel gemacht haben, und GitHub als weltweit größter Hoster von Software mit der Versionskontrolle Git, setzt auch Basecamp auf Rails. Die Projektmanagement- und Collaboration-Suite nutzt es nicht nur als Unterbau, sondern hatte das Framework damals überhaupt erst ins Leben gerufen und unterstützt es bis heute, unter anderem mit der JavaScript-Bibliothek StimulusJS.

Was Ruby on Rails auszeichnet

Aber warum nutzen diese und andere Unternehmen Ruby on Rails? Die Performance liegt hinter der von PHP und anderen Skriptsprachen fürs Web und Rails-Developer sind rar gesät und relativ teuer. Zum einen ist die Entwicklung von Ruby-on-Rails-Projekten unschlagbar schnell. Im Schnitt lassen sich Applikationen 40 Prozent schneller bauen als mit anderen Stacks, was das Framework zur ersten Wahl für Startups macht, die ihr Produkt schnell auf den Markt bringen wollen. Die Integration der Geschäftslogik gestaltet sich in Rails ebenfalls als sehr einfach, sodass Web-Applikationen nur noch ein Frontend wie Vue oder React brauchen und dann auch schon lauffähig sind.

Fast fertig!

Bitte klicke auf den Link in der Bestätigungsmail, um deine Anmeldung abzuschließen.

Du willst noch weitere Infos zum Newsletter? Jetzt mehr erfahren

An den Namen seiner Programmiersprache Ruby angelehnt, bringt Rails darüber hinaus eine Menge „Gems“, also Juwelen mit, mit denen das Projekt seine zahlreichen Bibliotheken bezeichnet. Die riesige Menge an Gems erlaubt die Anbindung an externe, teils exotische Services und erspart somit eine Menge Entwicklungszeit für solche notwendigen „Übel“. Ganz im Sinne von Rails‘ Fokus auf eine schnelle und saubere Entwicklung von Applikationen, sind die Gems hier natürlich sehr zeitsparend und in den meisten Fällen sogar für kommerzielle Zwecke kostenlos nutzbar.

Wofür sich Rails eignet und wofür nicht

Während Rails für schnelle Prototypen, Web-Applikationen und selbst entwickelte Datenbanklösungen oder minimal geplante Apps sinnvoll ist, eignet sich das Framework nicht für alles. Wenn es um die Geschwindigkeit oder niedrige Serverlasten geht, ist Rails nicht unbedingt das Tool der Wahl. Und auch bei der Skalierbarkeit eignen sich andere Stacks besser, was nicht bedeuten soll, dass Rails nach oben hin Grenzen hat. Aber die müssen sich mit höheren Investitionskosten für eine größere Server-Infrastruktur teuer erkauft werden, was wiederum Rails langsamerer Performance geschuldet ist. Dazu kommt, dass das Framework durch seine Struktur zwar zum Bau sauberer Applikationen „zwingt“, aber auf der Schattenseite natürlich weniger Freiraum für individuelle Ansätze innerhalb der Programmiersprache ermöglicht. Rails will einfach, dass man seine Regeln befolgt – ohne Wenn und Aber.

Neben dem schieren Overkill, den das Framework für sehr einfache Applikationen mit sich bringt, eignet sich Rails außerdem auch nicht für ein wichtiges Feld, das in Zukunft nur immer wichtiger werden wird: Machine Learning und KI-Applikationen. Während Python und selbst das performancehungrige Java eine Menge Helfer und Tools mitbringen, um ein wenig kreative Fleißarbeit zu übernehmen, finden sich nicht gerade viele Gems in Rails Bibliothekenkatalog. Letztlich ist das für die meisten Anwendungsfälle kein Beinbruch, wird in Zukunft aber sicherlich von der Community für kommende Updates gewünscht und notwendig werden.

Die Neuerungen von Ruby on Rails 6.0

Das neuste Update ist übrigens erst knapp einen Monat alt und hat zwar länger auf sich warten lassen, als von den Entwickler erwartet, bringt dafür aber eine Menge nützlicher Verbesserungen mit. Hier die wichtigsten in der Übersicht:

  • Action Mailbox sorgt dafür, dass eingehende E-Mails zur Weiterverarbeitung in Rails an „Controller-Mailboxen“ weitergereicht werden, wobei neben Mailgun, Mandrill, Postmark und Sendgrid intern auch Exim, Postfix und Qmail unterstützt werden.
  • Und noch mehr Action: Action Text erlaubt die Nutzung und Bearbeitung von Rich-Text-Inhalten mit dem integrierten Trix-Editor. Die damit erstellten Inhalte werden dann in einem eigenen Modell gespeichert, das mit bereits bestehenden Active-Record-Models der Applikation verbunden wird. Zusätzlich werden Inhalte wie Bilder oder andere Anhänge mittels Active Storage gespeichert.
  • Ruby on Rails 6.0 erlaubt die Anbindung einer Applikation an mehrere Datenbanken. Innerhalb von Active Record bringt das neue Update eine einfache API mit, die dieses Feature einfach zugänglich macht und somit bessere Skalierbarkeit, Isolation oder andere Anwendungsfälle ermöglicht.
  • Eine nicht selten zu kurz kommende Testphase dürfte dank der Unterstützung von Parallel Testing ab sofort keine gültige Ausrede mehr für Rails-Entwickler sein. Version 6.0 bringt dieses Feature nämlich mit sich und nutzt fortan nicht nur einen CPU-Kern, sondern auch die anderen, die in den Vorgängerversionen von Rails beim Testing immer Urlaub gemacht haben.
  • Xavier Noria fand, dass der seit 2004 integrierte Code-Loader in der heutigen Zeit an seine Grenzen gestoßen ist, und hat flux einfach einen eigenen gebaut. Der heißt Zeitwerk, macht eine Menge Dinge einfacher und schneller und ist ab sofort Bestandteil von Ruby on Rails 6.0. Detaillierte Infos hat Noria in seinem Blogpost auf Medium zusammengefasst.

Wer nach dem Lesen dieses Artikels darüber nachdenkt, Rails auszuprobieren, sollte sich vorab darüber informieren, ob das Framework das Richtige für seine Applikation ist. Unter diesem Link könnt ihr euch die Vor- und Nachteile von Ruby im Vergleich mit anderen Programmiersprachen und Frameworks ansehen, beispielsweise, wie es mit der Performance im Vergleich zu Python aussieht. Wer sich einfach nur so mal ausprobieren möchte, wird mit Rails vermutlich viel Spaß haben und schnelle Erfolge erzielen können, zumal die Syntax sehr eingängig und generisch aufgebaut ist.

Meistgelesen

Bitte beachte unsere Community-Richtlinien

Wir freuen uns über kontroverse Diskussionen, die gerne auch mal hitzig geführt werden dürfen. Beleidigende, grob anstößige, rassistische und strafrechtlich relevante Äußerungen und Beiträge tolerieren wir nicht. Bitte achte darauf, dass du keine Texte veröffentlichst, für die du keine ausdrückliche Erlaubnis des Urhebers hast. Ebenfalls nicht erlaubt ist der Missbrauch der Webangebote unter t3n.de als Werbeplattform. Die Nennung von Produktnamen, Herstellern, Dienstleistern und Websites ist nur dann zulässig, wenn damit nicht vorrangig der Zweck der Werbung verfolgt wird. Wir behalten uns vor, Beiträge, die diese Regeln verletzen, zu löschen und Accounts zeitweilig oder auf Dauer zu sperren.

Trotz all dieser notwendigen Regeln: Diskutiere kontrovers, sage anderen deine Meinung, trage mit weiterführenden Informationen zum Wissensaustausch bei, aber bleibe dabei fair und respektiere die Meinung anderer. Wir wünschen Dir viel Spaß mit den Webangeboten von t3n und freuen uns auf spannende Beiträge.

Dein t3n-Team

8 Kommentare
Werner .
Werner .

=> sodass Web-Applikationen nur noch ein Frontend wie Vue oder React brauchen und dann auch schon lauffähig sind.

Das ist Unsinn!
Rails bringt seit Begin (ca 2005/06) ausreichende Frontend Funktionalität mit mit. Beim scaffolding generiert Rails html und css für die jeweiligen Seiten.
1. JS || JSFrameworks (Vue, React, Angular) können wunderbar zusätzlich in eine neu erstellte Rails App oder auch noch nachträglich implementiert werden.
2. Man konfiguriert Rails als API (rails new my_api –api) und generiert zusätzlich ein externes (was auch immer) JS Frontend.

Antworten
Jake Pietras

Suche gerade die Stelle, an der ich behauptet hätte, Rails würde keine Frontends mitbringen…

Antworten
Werner .
Werner .

Bitta schön: . Die Integration der Geschäftslogik gestaltet sich in Rails ebenfalls als sehr einfach, sodass Web-Applikationen nur noch ein Frontend wie Vue oder React brauchen und dann auch schon lauffähig sind.

Antworten
Jake Pietras

Ok. Und das „wie“ hast du überlesen?

Antworten
Werner .
Werner .

Eine WebApp mit Rails benötigt weder Vue noch React noch sonst etwas, um eine Html Seite generieren zu können, die im Browser gerendert wird.
Die Ergebnisse ‚meiner‘ Geschäftslogik in Rails benötigen keinerlei JS Frontend.
Und nun ist gut..

Antworten
Jake Pietras

Klar ist das nicht notwendig, aber für ein ordentliches Ergebnis macht es Sinn.

Darüber hinaus enden Diskussionen nicht, wenn irgendjemand das bestimmt, das wirkt nämlich etwas wenig erwachsen, um ehrlich zu sein. Trotzdem Danke für deine Meinung.

Antworten
Werner .
Werner .

Für mich gab es ab diesem Punkt nichts mehr zu diskutieren, erwachsen oder nicht.
Bricht keinen Zacken aus der Krone zuzugeben, das die verwendete Formulierung nicht optimal war.
Ob es ein ‚ordentliches Ergebnis‘ mit einem JS Frontend gibt, liegt im Auge des Betrachters und an der Fähigkeit des Coders/Designers.
Bisher sind unzählige RailsPages ‚ohne‘ online… oft mit einem ordentlichem Ergebnis.

Antworten
Jake Pietras

Vielen Dank für Deinen Kommentar, aber unsere Texte werden intern lektoriert und gegengelesen.

Antworten

Melde dich mit deinem t3n Account an oder fülle die unteren Felder aus.

Bitte schalte deinen Adblocker für t3n.de aus!

Hey du! Schön, dass du hier bist. 😊

Bitte schalte deinen Adblocker für t3n.de aus, um diesen Artikel zu lesen.

Wir sind ein unabhängiger Publisher mit einem Team bestehend aus 70 fantastischen Menschen, aber ohne riesigen Konzern im Rücken. Banner und ähnliche Werbemittel sind für unsere Finanzierung sehr wichtig.

Danke für deine Unterstützung.

Digitales High Five,
Luca Caracciolo (Chefredakteur t3n) & das gesamte t3n-Team

Anleitung zur Deaktivierung