LoginSignup
5
2

More than 3 years have passed since last update.

WindowsデスクトップアプリケーションをRubyで作って実行可能ファイル(.exe)を配布する!

Posted at

結論から

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

公式サイトであったはずのfxruby.orgが死んでいるけどgithub上の活動はそこそこあるので気にしない。READMEで代用

最新バージョンは1.6.39。2017年12月25日にリリースされている。

APIマニュアルはこちら

日本語入力ができない。非公式パッチの適評が必要。らしい。
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

5
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
2