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.

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:
- Objekttrennung. Während einige Objekte gepinnt sind, können die übrigen auf den Heap übertragen werden.
- Automatische Verdichtung. Zum Verdichten des Mülls sind keine speziellen Befehle erforderlich – in der neuen Version wird die automatische Verdichtung vollständig unterstützt.
Erstellen Sie ein Rails-Projekt?
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.

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.