Railswaycon 2010 in Berlin

Letzte Woche durften Christian Felder und ich die Railswaycon in Berlin besuchen (danke Namics!). Auch wenn neben Yehuda Katz vielleicht die eine oder andere Grösse mehr hätte anwesend sein können, waren die Talkthemen sehr interessant. Hier eine kurze Zusammenfassung von ausgewählten Talks:

Push it to the limit – An intro to Websockets and Rails applications
Michael Johann zeigte, wie die Zukunft von real-time Applikationen aussehen kann. In HTML5 kann das bisher gängige Polling durch Websockets abgelöst werden. Dabei wird im Browser eine bidirektionale Verbindung zum Server aufgebaut, mit welcher der Server den Client per Push über Updates informieren kann. Ebenfalls erwähnenswert ist PubSubHubbub. Mit Hilfe von Websockets implementiert es ein Publish Subscriber System, basierend auf Atom und RSS.

Cross-Browser testing in the real World
Die Browservielfalt macht das Leben jedes Webentwicklers schwer. Martin Kleppmann stellte eine Landkarte der vielen vorhandenen Tools vor. Capybara steuert Selenium 2 via Webdriver und Watir, womit man auf Chrome, Firefox, Internet Explorer und Safari automatisiert testen kann. Mit Celerity kann zusätzlich noch Headless (hierbei wird kein Browser geöffnet) getestet werden. Anschliessend wurden 10 praktische Probleme und Lösungsansätze vorgestellt. Ziemlich komplex, wenn man alles abdecken will.

Small is Sexy – We need Components in Rails!
Nick Sutterer ist der Überzeugung, dass wir in Ruby on Rails Views Komponenten brauchen. Cells bietet gekapselte View-Objekte, welche sich kontextunabhängig selbst rendern können. Auf Wunsch können diese mit dem eventgetriebenen Aptomo auch stateful sein. So kann z.B. für eine Warenkorb-View einiges an Logik strukturiert werden. Laut Yehuda Katz werden einige Zeilen der Cells Codebase vielleicht in Rails 3 einfliessen.

Mongodb and Mongomapper 4 real!
Realational ist out, denn Document Storages sind da! Jan Krutisch zeigte wie der No-SQL Ansatz mit MongoDB verfolgt werden kann. Daten werden bei Document Storages wie der Name schon sagt in Form von Dokumenten geschrieben. Somit gibt es kein festes Schema der Datenbank mehr und es können nahezu beliebige Konstrukte gespeichert werden. Klarer Vorteil gegenüber relationalen Datenbanken ist die Performance. Statt einer Query Language wie SQL werden in Javascript so genannte Map- / Reduce-Funktionen geschrieben.

Rails 3: Dashing to the Finish
Die Merb Ikone Yehuda Katz zeigte an vielen Beispielen wie Rails 3 sich im Vergleich zu Rails 2 weiterentwickelt und verändert hat: Schneller, aufgeräumter, modularer und besser erweiterbar. Es gibt einige radikale Änderungen, womit eine Migration bestehender Applikationen etwas aufwändiger wird. Der grösste Teil ist jedoch bis Rails 3.2 rückwärtskompatibel. Ein wichtiger Bestandteil ist dabei die vollständige Implementierung des Rack Ansatzes. Zudem ermöglicht Bundler endlich gutes Dependency Management von gems.
Rails 3 kicks ass!

Ruby and Redis – Simple meets Awesome
Mathias Meyer berichtete von seinen Erfahrungen bei der Erweiterung einer Mysql-basierten Applikation mit Redis. Redis ist ein unglaublich schneller (mehrere 10000 Reads/Writes pro Sekunde), persistenter Key-Value-Store. Anhand diverser Beispiele wie Caching, Session storage, Statistiken, Who’s online, etc. wurde die Anwendung von Redis klarer und klarer. Umdenken ist angesagt!

Natürlich ist das nur ein kleiner Auszug der Themen. Wer mehr erfahren will, kann die Slides zu den meisten Tracks bei der schweizer Rails Usergroup finden.

Neben guten Vorträgen gab es in Berlin natürlich auch lecker Currywurst, heiter Sonnenschein und das ein oder andere gemeinsame Feierabendbier.