誰かがミキシングJavaFX
を試みましたJRuby
か?Swing GUI (100% JRuby) を使用して JRuby デスクトップ アプリケーションを構築しましたが、GUI を JavaFX に置き換えてより滑らかな感触にすることを考えています。
現在のアプリケーションに適合させるために、View が JavaFX で、Controller と Model が Ruby である MVC パターンを実装したいと考えています。
JavaFX 2.0 を操作するための JRuby プロジェクトのJRubyFX gemが追加されました。コード内のJavaFXとFXMLの両方をサポートしています。ほとんどのことは機能するはずですが、Readme に記載されているいくつかの問題があります。
Java 7u6 の時点で、javafx は Java 言語の一部になり、Linux、Mac、および Windows でデフォルトで使用できるようになりました。これは jvm 上の任意の言語でプログラムできるため、アプリケーションを非常に簡単にコーディングできるはずです。
JavaFX スクリプトは削除されましたが、JavaFX のテクノロジはこれまで以上に大きく、優れています。すべてが API に直接含まれるようになったため、Groovy または JRuby を使用すると、JavaFX を使用するための優れたスクリプト フレームワークが提供されます。
ハッピーコーディング!
JavaFX 2.0 が登場すると、はるかに簡単になります。
JavaFX Script と J Ruby の概念上の違いに関しては、かなりの数があります。JRuby から始めます。JRuby は実際には言語ではありません。代わり に、Ruby プログラミング言語のJavaでの実装です。Ruby のオリジナルのランタイム インタープリターは C で書かれていました (おそらく C++ で書かれたものもありますが、よくわかりません)。JRuby プロジェクトは、代わりに Java で書かれた Ruby の実行時実装を望んでいた何人かの人によって開始されました。
なんで?さて、いくつかの興味深い利点があります。まず第一に、Ruby アプリケーションから Java コードを非常に簡単に呼び出すことができました。第 2 に、Ruby プログラムは最終的に Java 仮想マシン (JVM) によって実行されるため、過去 10 年間に JVM で行われたすべての最適化作業の恩恵を受けることができます。現在、JRuby はインタプリタとしてのみ機能しますが、今月初めにプロジェクト リーダーの 1 人から聞いたところによると、Ruby プログラムを JVM バイトコードに直接コンパイルできるようになる日が近づいています。これにより、パフォーマンスがさらに向上します。
最後に、JRuby は、Ruby で書かれているが、既存の Java ライブラリまたは既存の Java ランタイム (JVM と、GlassFish や Tomcat などのアプリケーション/Web サーバー)、またはその両方を活用したいプロジェクトにとって非常に興味深いものです。
一方、JavaFXは、グラフィックスのようなものを作成するために直接注入されるスクリプト言語です。非常に実用的でもあります。したがって、この場合、MVCのデザインパターンに従っているときに使用されるようになり、ルールに従っている場合は問題ありません。 JRuby で FX を使い始めたというケースはほとんどないかもしれません。