JRuby, Rails3 und RailsWayCon 2010

JRuby

Die meisten JRuby-Nutzer kommen bekanntlich aus dem Java-Umfeld. Sie nutzen die Agilität der Scriptsprache Ruby mit der ausgereiften Infrastruktur und einer Unmenge an Bibliotheken der Java-Welt. Daher werden die meisten auch Ant kennen. In der Ruby-Welt heißt Ant Rake!

Thomas Enebo zeigt nun in seinem Blogeintrag wie man
  • Ant-Tasks mit Rake aufruft
  • Rake mittels Ant nutzt
  • Rake-Tasks als aufrufbare Ant-Targets importiert (und umgekehrt)

Ein weiterer interessanter Artikel von Charles Nutter gibt Tipps um eine bessere JRuby-Startzeit zu erreichen. Im Artikel JRuby Startup Time Tips zeigt er, wie man mittels JVM Java_OPTS die Startperformance beschleunigen kann.

Ruby on Rails 3

Die Rails 3 Beta ist nun schon eine Weile zum Ausprobieren freigegeben. Falls Euch vor dem geplanten Update eurer Rails 2.3.x Anwendung Fragen wie
  • Was muss man beim Update beachten?
  • Wo finde ich Anleitungen zur Rails 3 Umstellung?
  • Welche Plugins und Gems laufen schon mit Rails 3?
durch den Kopf gehen, hier ein paar interessante Links zu Rails 3.

Auf rubyonrails.de gibt es eine super Sammlung von Tutorials, Screencasts und Blogeinträgen.

Die Webanwendung http://railsplugins.org/ bietet eine gute Übersicht, welche Plugins schon für Rails 3 bereit sind. Diese Liste kann von allen aktiv erweitert und aktualisiert werden. Des Weiteren wird zu jedem Plugin angegeben, ob es threadsicher ist, mit Ruby 1.9 und/oder JRuby läuft.

RailsWayCon 2010

RailsWayConf 2010Wer sich lieber selbst ein Bild von der aktuellen JRuby/Rails-Entwicklung machen will, findet sicherlich wieder viele interessante Vorträge auf der diesjährigen RailsWayCon vom 31. Mai bis zum 2. Juni in Berlin.

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
Rails 3.0 Beta: 36 Links and Resources To Get You Going
Railscast #200 Rails 3 Beta and RVM
RVM - Ruby Version Manager

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.
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