Zum Hauptinhalt Zur Navigation Zur Suche

Webframework: Ruby on Rails 4.0 macht schnellere Webanwendungen

Mit optimiertem, Key-basiertem Verfall von Caches, Turbolinks und deklarativen Etags sollen Ruby-Entwickler in Version 4.0 des Webframeworks weitgehend auf clientseitiges Javascript und JSON auf Servern verzichten können.
/ Jörg Thoma
31 Kommentare News folgen (öffnet im neuen Fenster)
Ruby on Rails ist in Version 4.0 erschienen. (Bild: Ruby on Rails)
Ruby on Rails ist in Version 4.0 erschienen. Bild: Ruby on Rails

Mit Version 4.0 von Ruby on Rails(öffnet im neuen Fenster) haben dessen Entwickler das erste große Release seit Version 3.2 im Januar 2012 veröffentlicht. Seitdem erhielt das Webframework etwa 10.000 Einreichungen von etwa 500 Entwicklern. Ruby on Rails 4.0 soll die schnelle Entwicklung von Webapplikationen auch ohne clientseitiges Javascript und serverseitiges JSON ermöglichen. Dazu hat das Ruby-on-Rails-Team die Verwaltung von verschachtelten Caches optimiert und Turbolinks und deklarative Etags eingeführt.

Verschachtelte Caches – Russian-Doll-Caching – werden mit Keys verwaltet. Ändert sich der Inhalt eines Caches(öffnet im neuen Fenster), wird dieser nur neu geschrieben und einem neuen Schlüssel zugewiesen, der ein Timestamp enthält. Enthält der neue Cache Abhängigkeiten zu anderen, werden diese ebenfalls automatisch aktualisiert. Diese Funktion wurde bereits über das Plugin Cache_Digests realisiert(öffnet im neuen Fenster). In Ruby on Rails 4.0 soll der Einsatz von Russian-Doll-Caching erleichtert werden.

Mehr Sicherheit

Mit Turbolinks(öffnet im neuen Fenster) muss der Browser eines Anwenders nicht jedes Mal Javascript oder CSS neu kompilieren, wenn sich nur der Inhalt einer Seite ändert. Stattdessen wird die Instanz der aktuellen Seite gehalten und nur Body und Title angepasst. In der bisherigen Lösung Pjax musste noch jedes zu ändernde Element bestimmt werden. Entwickler müssen allerdings sicherstellen, dass ihr Code keine Speicherlecks verursacht oder anderweitig aufbläht, da mit Turbolinks langlebige Sessions aufrechterhalten werden. In Ruby on Rails 4.0 wurden auch deklarative Entitätsmarken(öffnet im neuen Fenster) (Etags) eingeführt. Damit lässt sich zusätzlich das Übertragen redundanter Daten vermeiden.

Optimierte Parameter sollen künftig vor Mass-Assignment-Angriffen schützen. Außerdem wird der Session-Speicher standardmäßig verschlüsselt und es gibt bessere Standardeinstellungen für Sicherheitsheader. Dem Actionpack wurde ein Keygenerator hinzugefügt, mit dem Cookies und Verschlüsselungen signiert werden können. Das Parsen von XML-Parametern übernimmt ein Plugin. Damit sollen Sicherheitsprobleme wie Schwachstellen im XML-Parser weitgehend vermieden werden.

Zu den weiteren prominenten Änderungen gehören Live-Steaming in persistenten Verbindungen und das Auslagern zahlreicher APIs in Plugins, darunter Active Resource und Active Record Observers. Weitere Änderungen sind in den diversen Changelogs im Github-Repository(öffnet im neuen Fenster) vermerkt. Ein Upgrade auf Ruby on Rails 4.0 lässt sich mit dem Befehl

gem install rails --version 4.0.0. --no-ri --no-rdoc

erledigen. Dafür wird mindestens Version 1.9.3 benötigt. Ein Upgrade Guide(öffnet im neuen Fenster) beschreibt die für eine Aktualisierung benötigten Schritte.


Relevante Themen