JRubyとJRuby on Railsを試してみたいと思っています。 RailsとRails上のRubyのJRubyの違いに関する情報を見つけるのに問題があります。
注目すべき違いは何ですか?
JRubyは、JVM上で実行されるRuby実装ですが、MatzのRubyはC実装です。
注意すべき主な機能は次のとおりです。
JRuby wikiにリストされている他の違いがあります。
[〜#〜] gil [〜#〜]に関連して、この質問に対するすべての回答に重要なものが欠けていることに驚いています。
あなたがespを気にする必要がある主な違い。 Rails is true concurrency( "Global Interpreter Lock" free)。2つのスレッドが実行されている場合(たとえば、2つのユーザーリクエストを処理する場合) JRubyでは、単一プロセス内で同時に実行できますが、MRIでは、Rubyコードの並列実行を回避するGIL(1.9のネイティブスレッドでも)があります。
アプリケーション開発者にとって、これはJRubyを検討する際に最初に留意すべきことです。config.threadsafe!
で本当に輝いていますが、コード(およびgemコード)が「本当に」スレッドセーフであることを確認する必要があります。
間違っているかもしれませんが、通常のRoRではできない方法でRailsアプリにJRubyをパッケージ化できると思います。Mingleなどを見てください。あなたのズボン/着物を開きます。
とは言うものの、RoRパッケージについては十分に詳しくないので、それに固執しないでください:)
ほとんど同じです。 jRoRでは、RoRにはないものにアクセスできます。通常、主に展開の問題です。
ただし、RoRアプリが、JVM上で実行する同等のライブラリを持たないネイティブライブラリを使用している場合は、面倒な場合があります。ただし、ほとんどのライブラリには、ネイティブではないバージョンがあります(少なくとも私が出会った人気のあるもの)。