Ruby on Rails 3 bald als Beta verfügbar

Rails 3 ist die Verschmelzung von Rails und Merb (im Dezember 2008 angekündigt). Die Rails-Entwickler haben vor allem die schnelleren Teile des Merb-Frameworks integriert. (Performance in Rails 3 )
Weitere Neuerungen sind eine verbesserte Modularität, die Unterstützung für die JavaScript-Bibliothek jQuery und eine einfachere Routing-API, um die Webanwendungen auf Basis der REST-Architektur besser zu unterstützen. Die Entwicklung und Integration von Plugins wird vereinfacht und die Anwendung soll besser gegen Cross-Site-Scripting-Attacken (XSS) geschützt sein.

Die erste Beta von Rails 3 könnte schon im Februar erscheinen.

Interessant wird das Zusammenspiel von JRuby mit Rails 3. Die ersten Performance-Messungen von Yehuda Katz zeigen ein sehr erfreuliches Bild. Performance Messungen Rails 3 mit unterschiedlichen Implementationen (EngineYard Blog) (Bildquelle: Performance in Rails 3 )

Update: Mittlerweile ist die Beta tatsächlich draußen (zur Meldung). Sie ist natürlich noch nicht perfekt, aber um einen Eindruck vom neuen Framework zu bekommen und den Entwicklern erste Reaktionen zukommen zu lassen, reicht sie vollkommen aus. My Five Favorite Things About Rails 3
Rails 3 im Rails-Blog
Blog-Eintrag über Rails 3 von Yehuda Katz

Observer in Migration ausschalten

Vor einiger Zeit erwähnten wir die Komplikationen, die auftreten können, wenn man Migrationen in Rails mit den realen Modellen der Anwendung durchführt. Um Validierungen, before_update-Methoden und ähnliches während der Migration auszuschalten, ist es oft günstig, der Migration eine eigene Version des Models zu geben.
Dazu noch ein Tipp:
Mit Model.delete_observers können Observer, welche am Model lauschen, entfernt werden. Da die Observer vom eigentlichen Model unabhängig sind, ist während der Migration nicht garantiert, dass die Observer problemlos arbeiten können.

GlassFish-Gem 1.0.0

Das GlassFish-Gem von Vivek Pandey ist in der Version 1.0.0 erschienen.

Neuerungen sind neben einigen BugFixes:
  1. die Implementierung mittels des neu erschienen Glassfish v3 Servers
  2. die Startzeit wurde um ca. 15% verbessert
  3. die Unterstützung von Rack (Ruby Webserver Interface) ist komplett
  4. es ist möglich, Glassfish mittels eines Codeblockes auszuführen
    GlassFish::Server.start(:address=>"127.0.0.1", :port=>4000) do
      use Rack::CommonLogger
      use Rack::ShowExceptions
      map "/hello" do
        use Rack::Lint
        run Proc.new {[200, {"Content-Type" => "text/html"}, "Hello"]}
      end
    end
    
  5. der Sinatra-Support wurde verbessert
  6. auf der Kommandozeile kann die IP Adresse mitgegeben werden
  7. die Konfiguration von Grizzly (NIO based HTTP Lib) kann mittels der glassfish.yml festgelegt werden
  8. man findet es nun auch bei GemCutter
Was ist eigentlich das GlassFish-Gem?

Einführung ins Test Driven Development

Nicht erst mit dem Bekannterwerden von Rails erfreuen sich Unit-Tests und insbesondere das Test Driven Development immer größerer Beliebtheit. Rails bringt bereits viel Funktionalität mit, damit das Testen von Models, Controllern und Views sehr vereinfacht wird.

Rails 2.3.5, JRuby und Java

Es ist viel passiert in der letzten Zeit! JRuby ist in der Version 1.4 erschienen. Rails kommt mit einem neuen Bugfix-Release 2.3.5, in dem es auch mittels des RailsXss-Plugins von Michael Koziarski einen Vorgeschmack auf die kommende Rails 3 Version gibt.

Wer etwas mehr über die Vorträge zur ersten JRuby-Konferenz erfahren will, kann sich bei ruby-mine informieren.

Die JRuby-Entwickler Nick Sieger, Charles Nutter und Thomas Enebo schreiben auf dem Engine Yard Blog weiterhin interessante Artikel.

RubyMine 2.0 veröffentlicht

Seit der ersten Veröffentlichung von RubyMine arbeiten wir mit dieser coolen IDE und sind sehr zufrieden. Seit einigen Wochen konnten wir nun schon Beta-Versionen des neuen Releases testen und können sagen, dass JetBrains hier nochmal richtig gute Erweiterungen geschaffen hat: Oft verwendete Ruby- und Rails-Techniken wie HAML, RSpec, Cucumber und die Rails-I18n-API werden direkt von der IDE unterstützt und die Editoren wissen noch mehr über den Aufbau der Rails-Projekte, sodass viele neue Refactorings und Code Inspections möglich wurden. Außerdem wurde die JRuby-Unterstützung verbessert - so lassen sich nun zum Beispiel auch unter Windows die gestarteten Server ohne den Umweg über den Task-Manager beenden.

Die Arbeit mit den Betas machte schon Spaß, das fertige Release freut uns um so mehr.
Zum Download geht es hier.

JRuby 1.4 Release ist fertig

Die JRuby-Version 1.4 ist seit dem 2. November erhältlich. Einige Neuerungen sind die Ruby 1.8.7 Unterstützung (1.8.7 patchlevel 174), weitere Verbesserungen für Ruby 1.9 und die *.bat Scripte für Windowsnutzer. Die Java-Integration wurde durch neue Java- Methoden erweitert, der Windows-Installer erneuert, es gibt einen neuen YAML-Parser und vieles mehr.

Alle Neuerungen und die über 300 Bugfixes kann man sich auf der JRuby.org News Seite anschauen oder sich im Engine Yard Blogeintrag 5 Things to Look for in JRuby 1.4 noch ausführlicher und mit Beispielen erläutert durchlesen. JRuby.org Homepage
JRuby 1.4 Downloadseite
5 Things to Look for in JRuby 1.4

JRuby und Ruby interpretieren Erb-Kommentare unterschiedlich

Erst neulich berichteten wir von Kommentaren in Erb-Files, die das Layout zerstören. Heute haben wir eine unserer Anwendungen testweise auf reinem Ruby laufen lassen und mussten hier folgenden Unterschied feststellen. Wenn man in einem Erb-File einen einzeiligen Kommentar mit
<% # comment %> oder <%- #comment %>
schreibt, geht das unter JRuby - unter Ruby aber nicht. Dort werden in merkwürdiger Weise Teile von nachfolgenden Statements abgeschnitten, sodass dann Teile des HTML-Quellcodes auf der Webseite landen. Hier sollte also nur die korrekte Form <%# comment%> verwendet werden.

JRuby 1.4.0RC1 ist da

Die erste 1.4 JRuby Version liegt als Releasekandidat vor. Unter http://jruby.org/news werden die Neuerungen und über 200 Bugfixes seit Version 1.3.1 ausführlich beschrieben.

Vorschau auf JRuby 1.4

Die JRuby-Entwicklung geht trotz oder gerade wegen des Arbeitgeberwechsels (JRuby-Team verlässt Sun) unaufhaltsam weiter.

Gerade wurden, neben den üblichen Bugfixes, 5 Hauptthemen der neuen Version JRuby 1.4 angekündigt.
  1. JRuby 1.4 wird kompatibel zu Ruby 1.8.7

  2. Weitere Verbesserungen der Ruby 1.9 Unterstützung.

  3. Ein neuer YAML-Parser wird enthalten sein. (geschrieben von Ola Bini)

  4. Die Java-Integration wird verbessert.

    Genauer gesagt soll es möglich sein, präziser zu bestimmen, welche Java-Methoden angesprochen werden sollen.
    Zur Zeit gibt es nämlich das Problem, dass, wenn man z.B. die Methode use() bei dieser Java-Klasse
    public class Overloaded {
        public static void use(int i) { /* ... */ }
        public static void use(long l) { /* ... */ }
    }
    
    mit JRuby aufruft,
     
    Java::Overloaded.use 10
     
    
    die Methode public static void use(long l) genutzt wird. Das jetzige JRuby-Verhalten erzwingt eine Umwandlung von Ruby-Fixnum in einen long-Wert in Java. Daher kann nie die Java-Methode mit dem int-Argument aufgerufen werden.

  5. Die Generierung von echten Java-Klassen aus Ruby wird "experimentell" enthalten sein.

    Zum Beispiel wird aus:
    require 'java'
    require 'jruby/core_ext'
    
    class SimpleTest
      def equals
        raise "not equal" unless 1.0 == 1
      end
    end
    
    SimpleTest.add_method_signature("equals", [java.lang.Void::TYPE])
    SimpleTest.add_method_annotation("equals", org.junit.Test => {})
    SimpleTest.become_java!
    
    package ruby;
    import org.junit.Test;
    public class SimpleTest {
        @Test
        public void equals() {
            // dispatch back to Ruby code here
        }
    }
    
Ausführlicher kann man sich die Punkte und Beispiele im Engine Yard Blog durchlesen. www.jruby.org
5 Things to Look for in JRuby 1.4
JRuby Ruby-to-Java Compiler
Bookmark and Share

Sponsor

Gesponsort von ObjectFab GmbH

Letzte Kommentare

  • iGEL: Auf GitHub sind auch aktuelle Versionen verfügbar. Sucht euch hier Mehr lesen
  • David Cresces: Jaa stimmt ein ähnliches Problem hatte ich auch schonmal vor Mehr lesen
  • David Cresces: Jaa stimmt ein ähnliches Problem hatte ich auch schonmal vor Mehr lesen
  • Martin: Zur Subversion-Problematik konnte dank JetBrains' Forum eine Lösung gefunden werden. Mehr lesen
  • Claudia: http://it-republik.de/jaxenter/news/Google-App-Engine-JRuby-on-Rails-und-Groovy-sind-dabei-048255.html Mehr lesen