結論から
2018年3月現在、Windows向けデスクトップアプリケーションをRubyで書いて実行可能ファイル(.exe)を作って配布したいなら、採用するのはこれ択一!
- Ruby-GNOME2 (GUIライブラリ)
- OCRA (実行可能ファイル作成ツール)
手順
Ruby-GNOME2をインストール。Windows用GNOMEライブラリも自動でインストールされる。
gem install gtk2 -r
RubyスクリプトからWindows実行可能ファイルを作成するツールOCRAをインストール。
gem install ocra -r
OCRAを使ってRuby/GNOME2で書かれたデスクトップアプリケーションから実行ファイルを作成。
ocra desctopapplication.rb --no-autoload --add-all-core
生成された実行ファイルdesctopapplication.exeは75MBだった。
RubyでWindowsデスクトップアプリケーション(GUIアプリケーション)を作るためライブラリ比較
名前 | 活動状況 | サポート環境 | メリット | デメリット |
---|---|---|---|---|
Ruby-GNOME2 | 活発 | Windows, Linux, Mac | 安定、情報豊富 | メンテナンスのみ。機能開発はGNOME3 |
Ruby-GNOME3 | 活発 | Windows, Linux, Mac | 活発に開発中 | 情報が少ない、機能不足のところも |
FXRuby | 活発 | Windows, Linux, Mac | Rubyらしいコードが書ける | 日本語入力に対応していない(表示は可能) |
Shoes | 活発 | JRuby | 簡素でRubyらしいコードで書ける | JRubyが必要。将来pure Rubyになる? |
Qt | ||||
wxRuby | 7年間更新なし | Windows, Linux, Mac | - | - |
gem install gtk2 -r -p http://lv2west-proxy.nwdept:8080
結果
Fetching: pkg-config-1.2.9.gem (100%)
Successfully installed pkg-config-1.2.9
Fetching: native-package-installer-1.0.6.gem (100%)
Successfully installed native-package-installer-1.0.6
Fetching: cairo-1.15.11-x86-mingw32.gem (100%)
Successfully installed cairo-1.15.11-x86-mingw32
Fetching: glib2-3.2.1-x86-mingw32.gem (100%)
Successfully installed glib2-3.2.1-x86-mingw32
Fetching: atk-3.2.1-x86-mingw32.gem (100%)
Successfully installed atk-3.2.1-x86-mingw32
Fetching: cairo-gobject-3.2.1-x86-mingw32.gem (100%)
Successfully installed cairo-gobject-3.2.1-x86-mingw32
Fetching: gobject-introspection-3.2.1-x86-mingw32.gem (100%)
Successfully installed gobject-introspection-3.2.1-x86-mingw32
Fetching: pango-3.2.1-x86-mingw32.gem (100%)
Successfully installed pango-3.2.1-x86-mingw32
Fetching: gio2-3.2.1-x86-mingw32.gem (100%)
Successfully installed gio2-3.2.1-x86-mingw32
Fetching: gdk_pixbuf2-3.2.1-x86-mingw32.gem (100%)
Successfully installed gdk_pixbuf2-3.2.1-x86-mingw32
Fetching: gtk2-3.2.1-x86-mingw32.gem (100%)
Successfully installed gtk2-3.2.1-x86-mingw32
Parsing documentation for pkg-config-1.2.9
Installing ri documentation for pkg-config-1.2.9
Parsing documentation for native-package-installer-1.0.6
Installing ri documentation for native-package-installer-1.0.6
Parsing documentation for cairo-1.15.11-x86-mingw32
Installing ri documentation for cairo-1.15.11-x86-mingw32
Parsing documentation for glib2-3.2.1-x86-mingw32
Installing ri documentation for glib2-3.2.1-x86-mingw32
Parsing documentation for atk-3.2.1-x86-mingw32
Installing ri documentation for atk-3.2.1-x86-mingw32
Parsing documentation for cairo-gobject-3.2.1-x86-mingw32
Installing ri documentation for cairo-gobject-3.2.1-x86-mingw32
Parsing documentation for gobject-introspection-3.2.1-x86-mingw32
Installing ri documentation for gobject-introspection-3.2.1-x86-mingw32
Parsing documentation for pango-3.2.1-x86-mingw32
Installing ri documentation for pango-3.2.1-x86-mingw32
Parsing documentation for gio2-3.2.1-x86-mingw32
Installing ri documentation for gio2-3.2.1-x86-mingw32
Parsing documentation for gdk_pixbuf2-3.2.1-x86-mingw32
Installing ri documentation for gdk_pixbuf2-3.2.1-x86-mingw32
Parsing documentation for gtk2-3.2.1-x86-mingw32
Installing ri documentation for gtk2-3.2.1-x86-mingw32
Done installing documentation for pkg-config, native-package-installer, cairo, glib2, atk, cairo-gobject, gobject-introspection, pango, gio2, gdk_pixbuf2, gtk2 after 21 seconds
11 gems installed
ocra sample.rb C:\Ruby193\lib\tcltk\ --no-autoload --add-all-core
公式サイトであったはずのfxruby.orgが死んでいるけどgithub上の活動はそこそこあるので気にしない。READMEで代用。
最新バージョンは1.6.39。2017年12月25日にリリースされている。
日本語入力ができない。非公式パッチの適評が必要。らしい。
http://magazine.rubyist.net/?0001-RubyGUI#l8
Shoes ... JRuby用
FXRuby ... 生きてる
公式サイト http://www.fxruby.org/ は死んでるし、
trunkは6年放置されているけど、最新版の1.6はまあまあ活発に活動されているので大丈夫。
最新のりりース
=== 1.6.39 / 2017-12-26
Fix FXGLVisual.supported and .supported?
Add support for RubyInstaller-2.5
Ruby/Tk
Ruby-GNOME2
QTRuby ... 最近怪しい
Ruby/FLTK ... 当時から開発が停止
wxRuby ... 7年前から更新なし
limelight ... 6年前から更新なし
FXRubyを使う
インストール
gem install fxruby -r -p http://lv2west-proxy.nwdept:8080
結果
Fetching: fxruby-1.6.39-x86-mingw32.gem (100%)
Successfully installed fxruby-1.6.39-x86-mingw32
Parsing documentation for fxruby-1.6.39-x86-mingw32
Installing ri documentation for fxruby-1.6.39-x86-mingw32
Done installing documentation for fxruby after 38 seconds
1 gem installed
参考
https://code.i-harness.com/ja/q/3fb29
https://code.i-harness.com/ja/q/1c32d
https://qiita.com/drumath2237/items/16ab7247f30000cb7583