Webentwicklung: Automatisches Flushing für Rails 3.1

Yehuda Katz aus dem Core-Team von Ruby on Rails hat in seinem Blog einen interessanten Post veröffentlicht, in dem er auf eine neue Technologie in Rails 3.1 eingeht: Automatisches Flushing. Dies soll vor allem die Performance auf Client-Seite verbessern und auch dann funktionieren, wenn man es nicht explizit in seiner Anwendung nutzt (deshalb automatisch). Insofern ist für Rails 3.1 wahrscheinlicher ein deutlicher Performance-Schub zu erwarten.

Derzeit wird in eine Seite komplett mit Design und Templates zusammengestellt, und erst dann ausgeliefert. Mit Flushing soll ermöglicht werden, dass eine Seite ausgeliefert wird, obwohl diese noch nicht fertig gerendert ist, damit der Client bereits Abhängigkeiten (CSS und Javascript) laden kann, während den Content der Seite erst noch erstellt und erst dann ausliefert.

Insofern werden Seiten beim Client wesentlich schneller dargestellt, da einiges an Zeit eingespart werden kann. Dies trifft vor allem dann zu, wenn viele Javascripte bzw. CSS eingesetzt wird. Der einfachste Fall des Flushing wäre es demnach, das der Head einer Seite ausgeliefert wird, damit der Client alle externen Dateien laden kann, während Ruby den Body erst noch zusammenstellt und erst nach dem fertigen Rendern ausliefert. In dieser Zeit könnte der Client bereits alle statischen Ressourcen aus dem Head geladen haben.

Wie Yehuda Katz in seinem Post bemerkt, setzt das automatische Flushing natürlich voraus, das bei der Entwicklung von Templates und Seiten daran gedacht wird, wie der Server diese später ausliefert. Trotzdem legt Katz auf ein Paradigma von Rails Wert: Man versucht immer die Seite so schnell wie möglich auszuliefern, ohne das der Nutzer die Hintergründe verstehen muss.

Rails Flushing

Bildnachweis für die Newsübersicht: Foto von fraserspeirs auf Flickr. Lizenz: CC BY.

Weitere Artikel zu Rails, Ruby und Webentwicklung

Das interessiert dich bestimmt auch

Deine Meinung


(wird nicht veröffentlicht)