Kontakt
#Tech | 8 min read | Updated: 4/1/2025

Ruby on Rails-Kritik: Verdient oder nicht

Updated: 4/1/2025
, Lead Ruby on Rails Developer
#Tech
8 min read

Ruby on Rails criticism

Nun, jegliche Ruby on Rails-Kritik, Vorurteile, Mythen oder andere urbane Legenden werden hier ans Licht gebracht. Viel Spaß!

Schauen wir uns die 10 wichtigsten Ruby on Rails-Kritikpunkte an.

Ruby on Rails criticism

1) Ruby on Rails ist langsam

Nicht ganz. Es ist langsamer als Frameworks anderer Programmiersprachen, wie Node.js oder Phoenix. Allerdings ist es nicht fair, solche unterschiedlichen Frameworks zu vergleichen, denn Rails wurde auf der Grundlage von Ruby entwickelt.

Da Ruby eine interpretierte Programmiersprache ist, lässt sie sich nicht sofort in ausführbaren Code kompilieren, wie es beispielsweise bei C++ der Fall ist. Ruby wird zunächst in Maschinencode übersetzt, und erst dann wird eine Aufgabe vom System ausgeführt. C++ hingegen wird direkt im Computerprozessor ausgeführt.

Rails arbeitet langsamer als jedes eng gefasste Framework, weil Rails ein universelles Framework ist, das viele Standardfunktionen enthält, die ein Entwickler nicht von Grund auf neu schreiben oder installieren muss.

Zum Beispiel hat Rails einen Standard-Webserver namens Puma. Außerdem erhalten Sie mit der Rails-Installation einige Standard-Gems, wie z. B. Webpacker, Bundler, Logger und viele andere, von denen jedes seine eigene Funktionalität hat.

Es muss gesagt werden, dass die meisten Entwickler behaupten, dass Ruby on Rails aufgrund der anfänglich falschen Projektarchitektur, des Daten-Cachings oder der Datenbankoptimierung langsam ist .

Rails ist SCHNELL, was die Geschwindigkeit der Projektentwicklung angeht. Das ist der Hauptvorteil von Ruby on Rails. Mit Rails können Sie Ihr Startup in kürzester Zeit starten und es eignet sich daher perfekt für die Erstellung von MVPs und Prototypen.

Verwandte Themen: Vor- und Nachteile von Ruby on Rails

2) Rails benötigt eine Menge Arbeitsspeicher (RAM)

Es stimmt, dass Rails manchmal einen hohen Speicherbedarf hat. Tatsächlich ist dieses Problem besonders bei kleinen Projekten zu beobachten. Rails neigt dazu, dort viel Speicherplatz zu belegen.

Normalerweise empfehlen wir, für kleine Projekte andere Ruby-Web-Frameworks wie Sinatra, Hanami oder Padrino anstelle von Rails zu verwenden.

Der Grund für den hohen Speicherbedarf von Rails: Wenn mehr Objekte verwendet werden, als in den Speicher von Rails passen, fordert das System zusätzlichen Speicher an.

Es kann aber auch einen anderen Grund geben, warum im Betriebssystem kein Speicher mehr vorhanden ist – ein Code, der im Projekt Speicher leckt. Wenn das der Fall ist, ist es besser, den Code zu testen und zu überprüfen, um das Problem ganz zu beseitigen.

3) Die Syntax von RoR ist nicht so einfach

Richtig, für Neulinge ist es schwer, die Komplexität von Ruby und Rails zu begreifen, obwohl die Syntax sehr einfach aussieht. Die Syntax von Ruby ähnelt in gewisser Weise der Syntax von englischen Sätzen. Aber unter der Haube steckt so viel mehr.

Eine Zeile kann viele Aktionen ausführen, die unter der Motorhaube versteckt sind. Wenn Sie zum Beispiel eine einfache Zeile wie „user.create“ schreiben, wird das System einen Benutzer anlegen. Vielleicht wissen Sie aber gar nicht, dass unter der Haube mehrere Prozesse ablaufen, z. B. Datenüberprüfung, Parameterabgleich und Verbindung mit einer Datenbank.

Das Lustige ist, dass es ziemlich einfach wird, den Code zu lesen, wenn man sich erst einmal mit der Rails-Programmierung vertraut gemacht hat. Die meisten mittleren und älteren Entwickler bewundern, wie einfach die Syntax von Rails ist. Sie sagen, dass Rails keine Dokumentation benötigt – so verständlich ist es.

4) Die Gems sind fehlerhaft

Nein, eine dreckige Lüge. Auch wenn Rails ein Open-Source-Framework ist, werden seine Gems von RoR-Mitwirkenden erstellt.

Daher werden die Ruby on Rails-Gems von der Framework-Gemeinschaft häufig verwendet und ständig getestet und verbessert. Unter diesen Bedingungen ist es kaum möglich, Rails-Gems mit Fehlern zu haben. Vielleicht gibt es hin und wieder ein paar Ausrutscher, aber wer hat die nicht?

Es sollte keine Probleme mit Gems geben, die in Rails-Abhängigkeiten verwendet werden. Obwohl einige Probleme bei der Verwendung von Drittanbieter-Gems auftreten können, kann dies durch die Verwendung von Dienstprogrammen vermieden werden.

5) Es gibt zu viele Tools und Gems

Ja, das kann als Nachteil gewertet werden, da ein unerfahrener Entwickler nicht weiß, welche er verwenden soll. Eine Vielzahl von Auswahlmöglichkeiten ist nicht immer gut.

Ruby on Rails wurde für eine schnelle Entwicklung konzipiert. Das ist der Grund, warum Rails so viele Werkzeuge hat, weil sie den Entwicklungsprozess beschleunigen.

Rails hat ein Werkzeug für jedes Problem: Rake, für die Automatisierung des Zusammenbaus von Programmcode; Bundler, für das Aufspüren und Installieren der genauen Gems und Versionen, die benötigt werden, und RSpec, für das Testen. Aber es ist schade, dass Rails kein Toolkit anbietet, das alle notwendigen Werkzeuge für die Entwicklung enthält, wie es Python tut.

Was die Gems angeht, so hat das Problem nicht so sehr mit der Anzahl der Gems zu tun , sondern mit dem Prozess ihrer Erstellung und dem Konzept der Gems im Allgemeinen.

Einerseits beschleunigen Gems die Softwareentwicklung, andererseits gibt es viele ähnliche Gems für Rails mit leichten Unterschieden. Bei der Auswahl eines Gems für ein bestimmtes Problem sollten Sie also bedenken, dass Sie vor der Installation eines Gems einige Nachforschungen anstellen müssen.

Außerdem dreht sich das gesamte Ökosystem von Ruby um das Rails-Framework. Daher sollte ein Entwickler bei der Erstellung eines neuen Edelsteins alle Rails-Eigenheiten wie ActiveRecord und ActiveSupport berücksichtigen. Auch wenn ein Entwickler mit einem anderen Ruby-Webframework arbeitet, muss er/sie eine mögliche Verwendung eines Gems mit Rails in Betracht ziehen.

6) Rails hat Probleme mit der Skalierbarkeit

Das stimmt nicht. Schon mal was von Basecamp, Groupon, Airbnb und Shopify gehört?

Nun, sie alle wurden mit Rails entwickelt. Diese Kritik an Ruby on Rails ist also völlig unangebracht.

Der erste Gedanke, dass RoR schwer zu skalieren sei, tauchte auf, als Twitter von Rails zu Scala wechselte. Man dachte, wenn ein so großes Unternehmen wie Twitter Rails aufgibt, dann muss Rails nicht gut sein. Aber die Zeit ist vergangen und hat gezeigt, dass andere Unternehmensgiganten bei Rails geblieben sind und eine großartige Reise damit gemacht haben.

Eines dieser Beispiele ist Shopify, das seine Erfahrungen mit der Skalierung von Rails mehrfach geteilt hat. Bis heute nutztShopify Ruby on Rails, um über 500.000 Unternehmen zu unterstützen.

Normalerweise glauben Nachwuchsentwickler, dass Rails nicht skalierbar ist, weil sie noch nicht WIRKLICH mit Rails an großen Projekten gearbeitet haben oder weil sie einfach erst am Anfang ihrer Reise mit Rails stehen.

Es ist erwähnenswert, dass Skalierbarkeitsprobleme oft dann auftreten, wenn es Probleme mit der Datenbankleistung gibt. Tatsächlich hängt die Skalierbarkeit nicht von einer Programmiersprache oder gar einem Framework ab.

Verwandt: Ruby on Rails Skalierbarkeitsprobleme

Es gibt einige Lösungen für Skalierbarkeitsprobleme: Kubernetes, Docker Swarm und Marathon.

7) ActiveRecord ist grauenhaft

Ja, Trouble ist der zweite Name für ActiveRecord.

ActiveRecord ist ein ORM, das in Rails verwendet wird; ein Modell eines MVC-Prinzips, das für die Darstellung von Geschäftsdaten und Logik zuständig ist. ActiveRecord bricht das Single Responsibility Principle, ein Prinzip, bei dem jedes Element nur eine Verantwortung hat, in der es vollständig ausgeführt wird, und ein Interface Segregation Principle, ein Prinzip, das eine große Schnittstelle in kleinere Teile unterteilt.

Im Wesentlichen versucht ActiveRecord alles Mögliche zu tun, angefangen von der Interaktion mit einer Datenbank bis hin zur Datenvalidierung.

ActiveRecord verfügt über mehr als 200 öffentliche Methoden und fördert die Verwendung von Callbacks und Concerns. Dies ist ein ORM, das mit seiner wachsenden Komplexität nur schwer zurechtkommt. Aus diesem Grund können große Projekte schwer zu warten sein.

Glücklicherweise haben die Entwickler einige Umgehungsmöglichkeiten gefunden. Durch die Verwendung von dry-rb, einer Sammlung von Ruby-Bibliotheken, können Ruby-Anwender jetzt flexibler mit verschiedenen Komponenten arbeiten, da jedes Element in separate Komponenten unterteilt ist.

Außerdem können Sie jederzeit auf Trailblazerzurückgreifen , das Business-Logik-Framework von Ruby. Verwenden Sie es einfach zusätzlich zu Rails, um eine bessere Unterstützung zu erhalten.

8) Rails hat eine hohe Kopplung

Es stimmt, Rails wurde nicht mit dem Fokus auf eine geringe Kopplung zwischen Modulen entwickelt.

Die Kopplung bezieht sich auf die Abhängigkeitsbeziehungen zwischen den Modulen. Bei hoher Kopplung sind alle Komponenten miteinander verbunden. Es ist sehr schwer, sie separat zu verwenden. Wenn die erste Komponente in hohem Maße von der zweiten abhängt und Sie die erste Komponente separat verwenden wollen, müssen Sie verstehen, wie die zweite funktioniert.

Selbst wenn Ihnen das gelingt, wird die Funktionalität stark eingeschränkt sein. Eine geringe Kopplung erleichtert jedoch die Projektunterstützung und hilft, die Komplexität zu bewältigen.

9) Hostings für Rails sind kostspielig

In gewisser Weise variieren die Preise für das Hosting in verschiedenen Programmiersprachen tatsächlich.

Wenn man ein Hosting für Ruby mit einem PHP-Hosting vergleicht, dann ist Rails sicherlich teurer. Python hingegen liegt irgendwo dazwischen.

Es gibt immer kostenlose Hostings… aber das Problem dabei ist, dass Sie es von Grund auf neu einrichten müssen, was leichter gesagt als getan ist.

Die beste Option ist ein virtueller privater oder virtueller dedizierter Server (VPS/VDS), der einem dedizierten physischen Server entspricht. Der Vorteil eines VPS ist sein Preis: Er ist viel billiger, allerdings kann die Leistung sinken, da alle virtuellen privaten Server von der gemeinsamen zugrunde liegenden physischen Hardware abhängen.

10) Rails ist nicht mehr cool

Eine weitere Kritik an Ruby on Rails…

Heutzutage ist es ziemlich üblich zu sagen, dass Rails nicht mehr so cool ist oder sogar schon im Sterben liegt.

Normalerweise sind solche Argumente schlecht begründet.

Wenn wir die Kritik an Ruby on Railsanalysieren , können wir feststellen, dass sie aufkam, als neue Sprachen wie Go, Scala, Rust und Erlang ihren Einzug hielten.

Es ist wahr, dass Railsim Jahr 2019 nicht mehr auf dem Hype ist, obwohl das definitiv nicht bedeutet, dass es nicht mehr gut ist.

Nichtsdestotrotz hat es den Höhepunkt seiner Popularität erreicht und hat sich zu einem beständigen und sich weiterentwickelnden Web-Framework entwickelt.

Verwandt: Liegt Ruby on Rails im Sterben?

Letzte Worte

Es ist wahr, dass Ruby on Rails einige Schwachstellen hat, die von Entwicklern gerne und oft kritisiert werden. Nichtsdestotrotz kann die Kritik an Ruby on Rails manchmal völlig unverdient sein.

Eine wichtige Sache, die man im Hinterkopf behalten sollte, ist, dass Rails seine eigene Zielgruppe und Nischenausrichtung hat, wo es massiv glänzt. Die Erstellung von MVPs und Prototypen für Startups, der Aufbau von Online-Marktplätzen und Webanwendungen – das sind die Einsatzgebiete von RoR.

Außerdem wird in Kürze Ruby 3.0 auf den Markt kommen, das einige Probleme von Ruby beheben wird, wie Geschwindigkeit, Gleichzeitigkeit und statische Analyse.

Wir müssen zugeben: Ruby on Rails ist vielleicht cool für Ihr Projekt, aber vielleicht auch nicht. Klicken Sie unten, um eine kostenlose 30-minütige technische Beratung zu erhalten.

How useful was this post?

Click on a star to rate it!

Average rating / 5. Vote count:

No votes so far! Be the first to rate this post.

Share:

Abonnieren
Benachrichtige mich bei
guest

0 Comments
Inline Feedbacks
View all comments
Recommended articles

Im Jahr 2025 steht außer Frage, dass die Digitalisierung oder Online-Präsenz für jedes Unternehmen ein Muss ist. 96 % der Hauskäufer suchen online nach ihrem Traumhaus, was den Immobilienunternehmen wenig bis gar keine Wahl lässt….

Vielleicht hat jeder von uns schon einmal darüber nachgedacht, wie man ein Startup gründen kann, das das Leben der Menschen verändert. Und es geht nicht nur um das Geld, das Sie mit Ihrem Unternehmen verdienen…

    Wenn Sie diesen Artikel lesen, arbeiten Sie entweder mit einem Remote-Team oder denken darüber nach. Eines der größten Hindernisse, das Manager oder Geschäftsinhaber überwinden müssen, ist vielleicht die Tatsache, dass Ihre Entwickler nicht…

Erweitern Sie Ihr Team
mit uns

Steigern Sie Ihr Geschäft mit unseren engagierten Entwicklern

    Alex, VP für Kundenengagement
    alex@sloboda-studio.com