Webframework: Rails 6 ist da

Das für Ruby-Entwickler wichtigste Framework bringt unter anderem Neuerungen im Umgang mit eingehenden Mails und der Verarbeitung von Rich-Text-Inhalten.

In Pocket speichern vorlesen Druckansicht 3 Kommentare lesen
Webframework: Rails 6 ist da!
Lesezeit: 3 Min.
Von
  • Alexander Neumann

Nach ungefähr zweieinhalb Jahren Entwicklung ist nun die Version 6 des Webframeworks Rails erschienen. Offenbar mehr als 800 Personen haben in knapp 7300 Commits an Funktionen wie dem Umgang mit eingehenden E-Mails, der Zusammenstellung von Rich-Text-Inhalten, der Verbindung zu mehreren Datenbanken und der Parallelisierung von Testläufen gearbeitet. Als weitere wichtige Bereiche gelten eine nun wohl bessere Integration von JavaScript sowie ein stark überarbeitetes Code-Loader-Werkzeug.

David Heinemeier Hansson, Schöpfer des Ruby-Frameworks, räumt ein, dass es bis zur nun finalen Version länger gedauert hat, als beabsichtigt war – früher im Jahr hieß es mal, dass Rails 6 Ende April fertig sein würde. Die längere Zeit hätten die Entwickler aber genutzt, das Framework stabiler werden zu lassen, und in der Zeit hätten Unternehmen wie GitHub, Shopify und Basecamp bereits mit den Vorversionen im Produktivbetrieb gearbeitet, was dafür spreche, dass auch andere das Framework im jetzigen Zustand nutzen können, selbst wenn noch nicht alles wie gewünscht sei.

Action Mailbox leitet eingehende E-Mails an steuerungsähnliche Postfächer weiter. Es wird mit Eingängen für Amazon SES, Mailgun, Mandrill, Postmark und SendGrid ausgeliefert. Außerdem lassen sich eingehende E-Mails direkt über die integrierten Exim-, Postfix- und Qmail-Eingänge verarbeiten.

Action Text bringt Rich-Text-Inhalte und -Bearbeitungen in Rails. Es enthält den Trix-Editor, der Aufgaben wie Formatierung, Verlinkungen, Zitate, Listen, eingebettete Bilder und Galerien übernimmt. Der von Trix generierte Rich-Text-Inhalt wird in einem eigenen RichText-Modell gespeichert, das mit offenbar jedem Active-Record-Modell in der Anwendung verknüpft ist. Die eingebetteten Bilder (oder andere Anhänge) werden automatisch über Active Storage gespeichert und mit eben dem RichText-Modell verknüpft.

Die neue Unterstützung für mehrere Datenbanken ermöglicht es Entwicklern, eine Anwendung gleich mit mehreren Datenbanken zu verbinden. Demnach können sie beispielsweise bestimmte Datensätze zur Skalierung oder Isolierung in eigene Datenbanken segmentieren und das Lesen/Schreiben-Splitting mit Replikadatenbanken durchführen. Mit der Unterstützung für parallele Tests können Anwender alle Cores in ihrer Maschine nutzen, um große Testsuiten schneller auszuführen.

Webpacker ist nun der Standard-Skript-Bundler für Rails. Es lässt sich aber wohl auch weiterhin die Asset-Pipeline mit Sprockets for CSS und statischen Assets nutzen. Beide integrieren sich anscheinend gut und bieten den offenbar besten Kompromiss aus fortschrittlichen JavaScript-Funktionen und einem Ansatz für andere Assets, der schlichtweg "nur" funktioniert. Der neue Zeitwerk-Code-Loader wird als effizient und threadsicher beschrieben und kommt wohl der Ruby-Semantik für Konstanten zugute. Rails 6 setzt übrigens minimal Version 2.5 der Skriptsprache voraus.

Weitere Informationen gibt es in der Ankündigung von Heinemeier Hansson. Dieser verlinkt im Beitrag auf weiterführende Auskünfte zu den Neuerungen. Einen direkten Zugang liefern die Release Notes. (ane)