Webframework: Ruby on Rails 3.0 veröffentlicht
Neu in Ruby on Rails 3.0 ist unter anderem die Query-Engine Active Record(öffnet im neuen Fenster) , die auf ARel(öffnet im neuen Fenster) basiert und das Erstellen komplexer Querys in mehreren Schritten vereinfachen soll. Zudem werden die Anfragen erst dann ausgeführt, wenn sie wirklich benötigt werden.
Dem Action Controller wurde ein neuer Router(öffnet im neuen Fenster) verpasst, der ganz auf REST ausgelegt ist. In Rails 2 wurde noch eine REST-Syntax an den alten Actioncontroller angepasst, Rails 3.0 geht konsequenter in diese Richtung. Dabei wurden zugleich direkte Referenzen zu Active Record entfernt und das API gesäubert. Auch das Plugin API Railties wurde neu geschrieben. Beide APIs sollen in Rails 3 flexibler und einfacher zu erweitern sein. Ähnliches gilt für das Generatorsystem von Rails, das nun weniger monolithisch daherkommt.
Überarbeitet wurde auch der Action Mailer, der nun als reiner Controller daherkommt. In Rails 2 war er noch als Zwitter aus Modell und Controller umgesetzt. Das Verhalten des Action Mailer(öffnet im neuen Fenster) folgt nun weitgehend dem Action Controller, die beiden teilen sich auch große Codeteile.
Mit dem Bundler(öffnet im neuen Fenster) führt Rails einen neuen Mechanismus zur Verwaltung von Abhängigkeiten ein, was Rails-Nutzern das Leben deutlich vereinfachen soll. Damit ist es möglich, alle Bibliotheken, Frameworks und Plugins zu spezifizieren, die eine Rails-Applikation benötigt. Die Angaben finden sich dann in einem Gemfile, das jede Rails-3-Applikation mitbringt.
Für mehr Sicherheit soll Rails 3 mit einer XSS-Sicherung(öffnet im neuen Fenster) sorgen, die automatisch vor Cross-Site-Scripting warnt.
Rails 3.0 ist kompatibel zu Ruby 1.8.7, Ruby 1.9.2 und JRuby ab Verison 1.5.2. Das Framework kann wie üblich mit "gem install rails --version 3.0.0." installiert werden.
- Anzeige Hier geht es zum Handbuch für Softwareentwickler bei Amazon Wenn Sie auf diesen Link klicken und darüber einkaufen, erhält Golem eine kleine Provision. Dies ändert nichts am Preis der Artikel.



