5

Web アプリケーションには Ruby on Rails を使用しています。今度は、Ruby でデスクトップ アプリケーションをコーディングできるかどうかを確認します。

では、どちらを選べばいいのか迷ってしまいます。

私の見方は、MacRuby+IronRuby 対 JRuby です。

前者では Mac と Windows の両方でデスクトップ アプリケーションを使用できますが、後者では両方で使用できますが、学習できるツールは 1 つだけです。

  • 後者よりも前者を使用する強力な議論はありますか?

  • JRuby デスクトップ アプリケーションは、MacRuby+IronRuby デスクトップ アプリケーションと同じくらいネイティブ (または十分ネイティブに近い) になりますか?

  • 各ソリューションの長所と短所は何ですか?

私も非常に新しいデスクトップ開発です。あなたの考えや経験を共有してください!

4

2 に答える 2

3

MacRubyは、ネイティブの Apple Objective C スタックを使用します。
長所: そのクラス ライブラリは基本的に、Objective C GUI クラスのラッパーです。高速なネイティブ アプリケーションを取得できます。
短所: Mac でのみ実行されます。それらは iPad や iPhone にも移植できません (Ruby ソリューションは移植できません)。

IronRubyはネイティブの Windows .NET フレームワークを使用します。
長所: ネイティブの WinForms を使用して、リッチなネイティブ アプリケーションを作成します。ライブラリの完全な .NET エコシステムにアクセスできます。
短所: Windows でのみ実行されます。

JRubyは Java 抽象化レイヤー (JVM) を使用します。
長所: 複数の GUI ライブラリが利用可能です。最も一般的なものは SWT と Swing です。SWT はネイティブ ウィジェットを使用し、より高速でネイティブに似ています。Swing は純粋に Java (エミュレートされたウィジェット) であり、より移植性があります。SWT と Swing を抽象化して、より Ruby に適したものにするライブラリが他にもあります。たとえば、スイングのProfligacyを見てください。
短所:レイヤーの上のレイヤーの上のレイヤー。Swing と SWT は非常に成熟していますが、その上の Ruby レイヤーはそれほど成熟していません。

Qt ライブラリを使用した別のオプション
Rubyもあります。
Qt はクロス プラットフォームであり、ネイティブ ウィジェットを使用し、C++ で記述されています。かなり高速ですが、ライブラリは複雑で大きいです。

私の経験則では、GUI が複雑になればなるほど、ネイティブ プラットフォームに近づける必要があります。これらの各グラフィカル ライブラリの学習曲線と、プラットフォーム間での移植に必要な労力も評価する必要があります。

于 2010-08-23T00:33:26.487 に答える
1

IronRuby は主な開発者をたくさん配置しているだけなので、慎重に検討する必要があるかもしれません。 https://en.wikibooks.org/wiki/Ruby_Programming/GUI_Toolkit_Modulesが役立つかもしれません

于 2010-08-23T13:41:25.607 に答える