Kontakt
#Tech | 6 min read | Posted: 4/1/2025

Große Neuigkeiten: Ruby Version 3.0

Posted: 4/1/2025
, Lead Ruby on Rails Developer
#Tech
6 min read

Sie lieben Weihnachtsgeschenke? Warten Sie einfach auf die Winterferien 2020!

2020 wird ein großes Jahr für die gesamte Ruby-Gemeinschaft sein.

Die Ruby-Gründer haben ein wirklich großes Geschenk für uns auf Lager – die Veröffentlichung von Ruby 3.0!

Das Geschenk ist wunderschön, aber auch im Inneren gibt es viele coole Funktionen.

In letzter Zeit gab es einige Gerüchte über den Tod von RoR. Und ich glaube, dieses Update wird diese Gerüchte in Stücke schlagen.

Aktualisierungen in Ruby 3.0

4 wichtige Verbesserungen in Version Ruby 3: Leistung, Gleichzeitigkeit, statische Analyse, Übergangsprobleme

Ruby 3 Erscheinungsdatum

Ruby 3.0.0 wurde nach mehreren Vorabversionen am 25. Dezember 2020 veröffentlicht.

Ruby 3.0 Leistung: keine Probleme mehr

Jeder weiß, dass Ruby die perfekte Sprache für MVPs, Prototypen und Startups ist, aber die Geschwindigkeit von Ruby ist definitiv das größte Problem mit der Programmiersprache. Die Leute behaupten, dass die Sprache für umfangreiche Projekte schneller sein muss. Stimmen Sie dem zu? Wenn ja, wird Ihnen das aktualisierte Ruby 3.0 gefallen. Im Jahr 2020 wird Ruby 3 dank der Leistungsoptimierung von Ruby dreimal so schnell sein wie die aktuelle Ruby-Version.

Sehen Sie sich auch an: Vor- und Nachteile von Ruby on Rails

Speicherleistung

Die aktuelle Ruby 2.6 Version hat immer noch einige Ruby on Rails Leistungsprobleme, insbesondere bei der Speichernutzung.

Die Probleme entstehen, wenn Programmierer neue Objekte erstellen, die dann weggefegt werden und den Heap „fragmentieren“. Wenn dies geschieht, bleibt viel Platz für solche Objekte ungenutzt, und wir verwenden mehr Speicher als tatsächlich benötigt wird.

Gute Nachrichten: In Ruby 3.0 wird dieses Problem mit einem Garbage Compactor (GP) gelöst.

Dieser Hausarzt hat einige wichtige Merkmale:

  1. Objekttrennung. Während einige Objekte gepinnt sind, können die übrigen auf den Heap übertragen werden.
  2. Automatische Verdichtung. Zum Verdichten des Mülls sind keine speziellen Befehle erforderlich – in der neuen Version wird die automatische Verdichtung vollständig unterstützt.
letter

Erstellen Sie ein Rails-Projekt?

Kontaktieren Sie uns

CPU-Leistung

Eines der vielversprechendsten Updates für die Ruby-CPU-Leistung ist das neue Ruby JIT.

Eine weitere neue Funktion, die die Leistung der Programmiersprache erheblich verbessern könnte, ist der JIT-Compiler mit mittlerer interner Repräsentation, der leichtgewichtig und bequem zu handhaben ist.

Wir hoffen, dass diese Ruby-Updates tatsächlich in Ruby 3.0 aufgenommen werden, da sie die Probleme von Ruby lösen und zu einer deutlichen Leistungssteigerung gegenüber dem aktuellen JIT führen könnten.

Lesen Sie dazu: Ruby on Rails – Probleme mit der Skalierbarkeit

Die neueste Version von Ruby 3: Änderungen bei der Gleichzeitigkeit

Es gibt einige Programmierprobleme in Ruby, und diese Mängel werden in der 3×3-Ära behoben werden.

Falcon Rack Webserver und Async

Falcon Rack ist ein zusammensetzbares asynchrones Ein-/Ausgabe-Framework für Ruby.
Zusammen mit Async blockieren diese Funktionen keine E/A (Ein- und Ausgabedaten). Im Gegensatz zu aktuellen Webservern, die E/A blockieren und viel zusätzliche Zeit in Anspruch nehmen, gibt Async Ihrem Server die Freiheit, andere Anfragen anzunehmen, während er auf Ihre Datenbank, Ihren Speicher oder API-Aufrufe wartet.

Statische Typprüfung

Wenn Sie die notwendigen Konfigurationen vornehmen, wird der Typ-Prüfer die Eingabedaten validieren.

Aber es gibt ein Paradoxon: Das Ruby-Team möchte die Abwärtskompatibilität nutzen, aber keine schweren Typendeklarationen hinzufügen.

Daher ist dieser Teil der Aktualisierung für Ruby-Programmierprobleme ein wenig unsicher, da das Ruby-Team noch keine Lösungsvorschläge hat.

Parallele Berechnungen

Die aktuelle Ruby-Version verfügt über ein globales VM-Lock (GVL), das die Nutzung von Parallelrechnungen unmöglich macht. Das Ruby-Update verspricht, dies zu ändern. Mit Ruby 3 werden Programmierer in der Lage sein, parallele Berechnungen mit Threads durchzuführen.

Das bedeutet, dass Ruby jetzt eine Ein-Fluss-Sprache ist. Mit Ruby 3.0 wird es möglich sein, parallele Aufgaben auszuführen, was den gesamten Prozess wesentlich schneller macht.

Statische Analyse für klareren Code

Die statische Analyse ist ein zusätzliches Werkzeug, das bei der Überprüfung des Codes nach den Tests hilft. Die gute Sache – Ihre Arbeit erhält eine zusätzliche Überprüfung. Das Schlechte – die statische Analyse stützt sich auf Typ-Annotationen, die ihrerseits Ruby-Herausforderungen verursachen, wie die Wiederholungen im Code.

Es gibt zwei Hauptlösungen:

  • Steil
  • Sorbet

Am 20. Juni kündigte das Stripe-Team den Sorbet Type-Checker an, der sich zwar noch in einem frühen Stadium befindet, aber bereits ausgereift genug ist, um auf dem Großteil des Ruby-Codes zu laufen. Sie können es ausprobieren, aber seien Sie vorsichtig, soweit Ihre Erfahrung könnte noch grob sein.

Sorbet verwendet Inline-Typ-Anmerkungen, im Gegensatz zu den parallelen Anmerkungsdateien von Steep. Auf diese Weise scheint Sorbet schnell zu sein, aber Steep ermöglicht es Ihnen, Typ-Annotationen in einer separaten Datei zu speichern. Daher wird der Code klarer und lakonischer sein als bisher.

Übergangsprobleme

Parameter der Übertragung

Eine schlechte Nachricht: Bei der Übermittlung von Parametern kann es zu Problemen bei der Ruby-Kodierung kommen. Die Aktualisierung erfolgt nicht automatisch – sobald Ruby 3.0 verfügbar ist, müssen Sie es manuell aktualisieren. Das bedeutet, dass in einigen Fällen der Code, der mit der aktuellen Ruby-Version geschrieben wurde, nach dem Ruby-Update veraltet sein kann.

Eine gute Nachricht: Es gibt eine Lösung. Die neueste Version (vor dem Ruby-Upgrade) gibt Entwicklern einige Warnungen. Wenn zum Beispiel diese oder jene Funktion in Ruby 3.0 geändert werden soll, finden Sie die entsprechenden Hinweise direkt im Protokoll. So sehen Sie schon im Voraus, was nach der Veröffentlichung von Ruby 3 behoben werden muss.

Abwärtskompatibilität

Eine weitere gute Nachricht: Es ist geplant, Abwärtskompatibilität für alle früheren Ruby-Versionen hinzuzufügen, so dass es nicht allzu schwierig sein wird, von einer Version zur anderen zu wechseln.

Ruby 3.0-Entwicklung

Unser Fachwissen in Ruby on Rails

Creyos

Creyos ist ein Unternehmen, das ansprechende Bewertungen von Gehirn und Gehirnfunktionen entwickelt. Als wir unsere Kunden kennenlernten, hatten sie bereits ihr Creyos-Produkt (Business-to-Customer-Plattform). Zu diesem Zeitpunkt musste der Kunde eine neue Business-to-Business-Plattform namens Creyos Health entwickeln. Daher mussten wir eine neue Plattform von Grund auf mit den erforderlichen Funktionen entwickeln.

Unsere Lösungen:

Das Team von Sloboda Studio hat dem Kunden bei der Entwicklung eines MVP der neuen Business-to-Business-Plattform geholfen.

Während des Entwicklungsprozesses haben wir neue Kernfunktionen veröffentlicht, wie z. B.:

  • Neues Administrationskonto
  • Automatisierte Bewertungszeitpläne
  • Neuer Gesundheitsbericht von Creyos
  • E-Mail-Benachrichtigungen
  • Benutzerdefinierte Bewertungsmöglichkeiten
  • Exportieren und Importieren von Daten
  • Einhaltung der GDPR
  • Zahlungsintegration mit Stripe und Braintree

SAFHYRE

SAFHYRE ist eine Online-Rekrutierungsplattform. Diese Plattform ermöglicht Arbeitgebern den Zugriff auf die Datenbank von Arbeitnehmern. Als wir unseren Kunden trafen, befand sich das Projekt in der Anfangsphase. Daher mussten wir eine ganze Plattform von Grund auf neu erstellen.

Unsere Lösungen:

Sloboda Studio führte ein Projekt durch den gesamten Entwicklungszyklus, einschließlich Back-End, Front-End, Design und Tests.

Als Ergebnis unserer Arbeit haben wir u. a. folgende Funktionen implementiert:

  • Architektur der Kandidatendatenbank
  • Authentifizierungsmerkmale
  • Ergebnisseite der Lebenslaufsuche
  • Homepage
  • Verwaltungsbereich
  • Möglichkeit hinzufügen, Lebenslauf zu sehen
  • Entwicklung eines Matching-Algorithmus
  • Integration von Zahlungsfunktionen
  • Nachrichtenübermittlungssystem

Schlussfolgerung

Ruby mit seinem Rails-Framework war schon immer eine der besten Technologien für Start-ups. Das kann man an den Erfahrungen von Airbnb, Couchsurfing, Kickstarter oder Urban Dictionary sehen.

Ab dem nächsten Jahr wird Ruby wahrscheinlich auch für Unternehmen geeignet sein. Ruby 3.0 wird großartig für seine:

  • Bessere Gleichzeitigkeit
  • Statische Typprüfung
  • Statische Analyse
  • Tipps für eine bessere Übertragung
  • Abwärtskompatibilität

All diese Aktualisierungen werden dazu beitragen, Ruby noch skalierbarer zu machen, schneller zu programmieren und auszuführen, und einfach einfacher zu benutzen.

Wenn Sie Tipps oder Hilfe bei Ihrem Ruby-Projekt benötigen, können Sie sich gerne an unsere Rails-Experten wenden und eine kostenlose Beratung anfordern.

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
#Tech 4 min

Als Ruby on Rails ins Spiel kam, änderte sich die Popularität der Programmiersprache Ruby. Dennoch verwechseln viele Menschen immer noch Ruby und Ruby on Rails. Lassen Sie uns ein Zwei-Rollen-Spiel zwischen Ruby und Ruby on…

#Tech 5 min

Webanwendungs-Frameworks sind wie Autos. Das eine mag gut für Rennen sein. Ein anderes kann Sie bei großen Aufgaben unterstützen wie ein Monstertruck. Und manche sind zuverlässige Alltagsautos, die perfekt für den täglichen Bedarf sind. Was…

Erweitern Sie Ihr Team
mit uns

Steigern Sie Ihr Geschäft mit unseren engagierten Entwicklern

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