Warum Ruby on Rails immer noch wichtig ist – wie ein altes Werkzeug in einer Next.js-Welt überlebt
(contraption.co)- Kürzlich entdeckte der Autor die alten Vinylplatten seines Großvaters und war überrascht, dass sich dieses Medium aus einer früheren Ära noch immer problemlos abspielen ließ
- Vinyl brachte einen großen Wandel in der Verbreitung von Musik, machte Pressung und Weitergabe möglich und blieb bis heute ein Standard
- Die Art und Weise, wie Audio geteilt wird, hat sich weiterentwickelt, aber die frühen Methoden funktionieren noch immer
- In einer zunehmend komplexen Welt kehren viele Menschen zu Vinyl zurück, weil es Einfachheit, Stabilität und Beständigkeit bietet
- Im ständigen Wandel der Webtechnologien vergisst man leicht, dass auch alte Websites noch immer gut funktionieren
- Selbst einfache textbasierte Websites aus den 1990er-Jahren werden in modernen Browsern noch genauso geladen wie damals
- Websites haben im Laufe der Zeit zusätzliche Funktionen erhalten, etwa Styling über CSS, Interaktivität über JavaScript und Echtzeit-Updates über WebSockets
- Ihre Grundlage basiert jedoch weiterhin auf Seiten, Formularen und Sessions
- Ruby on Rails erschien vor 20 Jahren als integrierter Ansatz zum Aufbau interaktiver, datenbankgestützter Webanwendungen
- Es wurde zur Grundlage zahlreicher erfolgreicher Unternehmen wie Airbnb, Shopify, Github, Instacart, Gusto und Square, und heute laufen Geschäfte im Wert von Billionen Dollar auf Ruby on Rails
- Effektive Werkzeuge vereinfachen komplexe Aufgaben durch Abstraktion
- Am Beispiel des Autos: Früher erforderte das Fahren Verständnis für Kraftstoffsysteme, Zündung und Kupplungsmechanik, heute wissen die meisten Fahrer nicht einmal, wie viele Gänge ihr Fahrzeug hat
- Ruby on Rails bündelte Best Practices der Webentwicklung wie Login-Sessions, CSRF-Schutz und Datenbank-ORM in einem leicht zugänglichen Werkzeugkasten
- Diese Abstraktionen ermöglichen es Entwicklern, sich stärker auf den Bau des Produkts als auf technische Details zu konzentrieren
- Die meisten Entwickler von heute wissen nicht, was in einem Login-Cookie steckt, und trotzdem treibt es ihre Anwendungen an
- Rails war erfolgreich, weil es den Grundbausteinen des Webs treu blieb
- Es verwendet grundlegende HTML-Elemente wie Seiten, Eingabefelder und Formulare
- Als backend-zentriertes Framework konzentriert es sich auf Datenvalidierung, Verarbeitung und Speicherung, wodurch sich Formulare einfach erstellen lassen
- JavaScript gewann nach dem frühen Erfolg von Rails an Bedeutung
- Die Weiterentwicklung der Webentwicklung in den vergangenen zehn Jahren hat Websites im Grunde die Fähigkeiten von iPhone-Apps gegeben, während sie weiterhin Websites geblieben sind
- Next.js ist heute das verbreitetste Werkzeug zum Aufbau von Startups
- Als frontend-zentriertes Framework ermöglicht es dynamische Ladezustände, Server-Side Rendering und den Aufbau komplexer Komponenten
- Eine weitere Generation von Unternehmen im Billionen-Dollar-Maßstab wird auf Next.js aufgebaut, und diese Web-Apps sind schneller und ausgefeilter als solche, die mit Ruby on Rails gebaut wurden
- Next.js und seine Basistechnologie React treiben einen großen Teil der modernen Webinnovation voran
- Praktisch alle gängigen Consumer-Produkte wie Spotify, Netflix, Facebook und Stripe laufen auf diesem Stack
- Dadurch können Entwickler schnelle und maßgeschneiderte interaktive Produkte schaffen, die über die Grenzen der Webstandards hinausgehen
- Trotz der schnellen Verbreitung von Next.js bleibt Rails weiterhin relevant
- Neue Projekte, von unabhängigen Vorhaben bis hin zu AI-Unternehmen, entscheiden sich noch immer für Rails
- Tatsächlich hat die Welle neuer JavaScript-Web-Frameworks wie Next.js den Bau von Web-Apps schwieriger gemacht
- Diese Werkzeuge geben Entwicklern zwar mehr Möglichkeiten wie dynamisches Daten-Rendering und Echtzeit-Interaktionen, senken dafür aber das Abstraktionsniveau
- Next.js konkurriert tatsächlich mit nativen iPhone-Apps
- Früher brauchten Startups für ausgefeilte User Experiences ein iPhone-App, und deren Entwicklung war oft ein komplexer Prozess, der mehrere spezialisierte Entwickler erforderte
- Next.js hat es Websites ermöglicht, sich der Qualität von iPhone-Apps anzunähern
- Einige der heute ausgefeiltesten Produkte, darunter Linear und ChatGPT, wurden als Next.js-Anwendungen eingeführt, während mobile Apps nur nachrangige Priorität hatten
- Rails hat sich in den 20 Jahren seit seiner Veröffentlichung weiterentwickelt und JavaScript-Interaktionen, Verwaltung von Backend-Jobs, Ladezustände, Werkzeuge für Echtzeit-Anwendungen und mehr ergänzt
- Es unterstützt auch die Entwicklung mobiler Apps. Während sich Anwendungsmuster weiterentwickelten, integrierte Rails diese Muster als Framework-Funktionen und behielt zugleich seine HTML-basierte Grundlage bei
- Die meisten Webanwendungen bestehen noch immer aus Formularen auf Seiten
- Dazu gehören Jobbörsen, Vendor-Systeme und E-Commerce-Stores
- Next.js kann diese ebenfalls bauen, benötigt dafür aber im Vergleich zu Rails zusätzliche Entwicklungszeit
- Der Einsatz eines hochmodernen Frameworks bringt Instabilität durch häufige Updates, neue Bibliotheken und unerwartete Probleme mit sich
- Next.js-Anwendungen sind oft auf zahlreiche Drittanbieter-Dienste wie Vercel, Resend und Temporal angewiesen, was das Plattformrisiko erhöht
- Entwickler entscheiden sich auch heute noch für Rails, weil es selbst 20 Jahre später noch die einfachste und am stärksten abstrahierte Methode zum Bau von Webanwendungen ist
- Solo-Entwickler können eigenständig dynamische und Echtzeit-Webanwendungen erstellen, und Enterprise-Teams können Anwendungen mit mehreren Modellen und Zugriffskontrollen entwickeln, die umfassende Tests unterstützen
- Rails hilft kleinen Teams, schneller zu arbeiten und gleichzeitig Entwicklungs- und Wartungskosten zu senken
- Der Autor hat Erfahrung mit beiden Frameworks
- Er baute das venture-finanzierte AI-Startup Find AI mit Rails
- Als Suchmaschine profitierte es von der Fähigkeit von Rails, komplexe Backend-Aufgaben mit einfachen Frontend-Anforderungen zu verbinden
- Derzeit arbeitet er an Chroma Cloud zur Erkundung und Verwaltung großer Datensätze, wobei Next.js die Anforderungen an fortgeschrittene Interaktionen und Datenladung erfüllt
- Rails beginnt in der aktuellen Welle AI-getriebener Anwendungen, erste Alterserscheinungen zu zeigen
- Es hat Schwierigkeiten in Bereichen wie Text-Streaming von LLMs (Large Language Models), paralleler Verarbeitung in Ruby und starker Typunterstützung für AI-Coding-Tools
- Dennoch bleibt es ein wirksames Werkzeug
- Vinyl machte Musik zugänglicher und veränderte die Branche
- Mit der Zeit hat sich die Klangqualität verbessert, aber das frühe Format behält weiterhin seinen Wert
- The Köln Concert bleibt unabhängig von der Bitrate populär
- Genauso ist es auch in der Technologiewelt: Man kann ausgefeilte Produkte wie Linear genießen, während eine Website im Stil der 1990er wie Craigslist weiterhin höhere Umsätze erzielen kann
- Am Ende interessiert Nutzer mehr, wie nützlich ein Produkt ist, als wie es implementiert wurde
- Äußerliche Raffinesse kann verblassen, Nützlichkeit bleibt
7 Kommentare
Erstaunlich, wie viele Unternehmen Ruby on Rails nutzen, etwa Airbnb, Shopify und GitHub!! 😊
Es war mir völlig neu, dass GitHub mit Rails entwickelt wurde. Dass GitLab mit Rails entwickelt wurde, stimmt aber ... GitLab ist mir lange im Gedächtnis geblieben, weil es Rails so gut eingesetzt hat.
GitHub hat in der Anfangszeit sein Netzwerk rund um die Rails-Community aufgebaut.
https://read.first1000.co/p/-github
Das ist zwar ein etwas anderer Fall, aber es gab einmal einen Vorfall, bei dem Egor Homakov auf ein Sicherheitsproblem in Ruby on Rails hinwies (
Mass Assignment Vulnerability). Da es sich um ein Problem handelte, das sich vermeiden ließ, wenn Entwickler vorsichtig waren, wurde darüber diskutiert, ob man das überhaupt patchen sollte. (Man konnte ja so etwas wie RTFM sagen.)Die Methode, die der meldende Egor Homakov wählte, war, GitHub anzugreifen, das damals ebenfalls mit Rails betrieben wurde und auf dem Rails sogar gehostet war. Und es war tatsächlich erfolgreich.
Damit zeigte er, dass selbst die größte Rails-App von diesem Fall nicht ausgenommen war.
Ich denke, es war eine Entscheidung zwischen der Frage, ob man Entwicklern vertraut (manuelle Speicherverwaltung) oder nicht vertraut (
GCusw.). Aber ich muss oft daran denken, wenn ich Antworten wie RTFM sehe oder wenn man in Sicherheitsfragen davor warnt, dass jemand es "wissentlich schon richtig machen wird".https://news.ycombinator.com/item?id=3666564
Danke. :)
https://github.blog/engineering/building-github-with-ruby-and-rails/
Danke.
Hacker-News-Kommentare
Während Hunderte von Menschen diesen Artikel gerade lesen, greifen sie über den Mac Mini auf meinem Schreibtisch darauf zu
Ich mag Web-Apps, die nur aus CRUD-Formularen bestehen. Das passt nicht auf jedes Problem, funktioniert aber in vielen Problemfeldern, die mit der realen Welt interagieren, gut. So nach dem Muster: „Wenn du prüfen willst, ob es einen Termin gibt, schau in die Terminliste.“
Das Merkwürdige an der Ruby/Rails-Community ist, dass die eine Hälfte still vor sich hin arbeitet und die andere Hälfte anscheinend regelmäßig bestätigen muss, dass Rails nicht tot ist
Rails zeigt im Zuge der Welle von AI-Anwendungen sein Alter. Es hat Schwierigkeiten mit LLM-Text-Streaming und Parallelverarbeitung
Ich empfehle Django + gevent. Man nutzt das Python-Typsystem, und es eignet sich gut für Streaming sowie IO-gebundene Parallelverarbeitung. Für CPU-gebundene Parallelverarbeitung ist es nicht geeignet, aber das ist bei Web-Anwendungen weniger wichtig
Man kann metaartige Web-Frameworks wie RoR in Ruby, Django und der Sprache D bauen und pflegen
RoR ist mächtig. Aber alles verändert sich so schnell, dass man das Gefühl hat, zurückzufallen, wenn man nicht mit den neuesten Technologien Schritt hält
Ich habe Kritik gehört, dass AI-Coding-Tools starke Typisierung fehle, aber meiner Erfahrung nach funktionieren LLMs in Rails-Codebasen gut
Ich nutze Django, und alles fühlt sich frisch an. Ich verwende htmx + alpine.js, um HTML auszuliefern, und seit ich von JSON-REST-APIs weggegangen bin, ist meine Produktivität stark gestiegen
RoR ist großartig. Ruby muss darüber hinaus wachsen
In den 2010er-Jahren wurde der Ansatz „Konvention vor Konfiguration“ populär