RubyでGUIアプリ(デスクトップアプリ)を作るための環境構築
最近C/C++にハマっておりGUIアプリ(デスクトップアプリ)を作っているが、RubyでもGUIアプリを作りたくなってきた。
そこで今回は、RubyでGUIアプリ(デスクトップアプリ)を作るための環境を構築したので、その方法を解説していく。
RubyでGUIアプリを作るためのフレームワーク達
RubyでGUIアプリを作る方法としてフレームワーク(FW)を利用するのが一番だが、2019年現在ではFWの選択肢はあまりない。
2018年3月に投稿された「An overview of Desktop Ruby GUI development in 2018 – Saverio Miroddi – 64K RAM SYSTEM 38911 BASIC BYTES FREE」では、以下のFWが紹介されているが、ほとんどが開発をストップしていたり、古くなっているがほとんとだ。
個人的にはWindowsでGUIアプリを作りたかったので、今回はShoes4を選択した。
参考:shoes/shoes4: Shoes 4 : the next version of Shoes
ボクの開発環境
- Windows 10
- JRuby 9.1.17.0 (2.3.3)
- JDK 12.0.1
今回はWindowsで行ったが、MacでもLinuxでも同じように環境構築ができると思う。(GitHubのShoes4公式ページを要チェック!)
JRubyとはJavaで実装されたRubyのことで、Shoesを使うためにはJRubyとJDKが必要。公式にも「JDKとJRubyをインストールしておいてね」と書かれている。
So your first step is to install a JDK (shoes also works with OpenJDK) and JRuby. Make sure to grab the appropriate JRuby version for your operating system. On Linux/Mac you can also use ruby installation tools to install JRuby. For instance rvm.
Shoesの環境構築
以下は、Shoesの環境構築の方法を紹介していく。
1, JRubyをインストールする
まずは、以下のサイトにアクセスしてJRubyをダウンロード&インストールをする。基本的にJRubyと後述するJDKのインストーラーは、デフォルトの設定で「OK」を押してインストールすれば良い。
Shoes公式には、「JRubyのバージョンは9.X以上がおススメだよ。俺たちのテストは9.1でしたよ」と書かれているので、よほどの事情がない限りは9.1.17をダウンロードすると良い。
We recommend using JRuby 9.X+, with the majority of our testing currently against 9.1. JRuby 1.7.x may work, but has been untested since 4.0.0.pre6.
2, JDKをダウンロードする
以下のサイトにアクセスして、JDKをダウンロードする。
Java SE - Downloads | Oracle Technology Network | Oracle
公式には「JDKのバージョンは7or8がおすすめ。バージョン9はJRubyとShoesが動かなかった」と書かれているので、基本的にはJDK7or8をダウンロードするのが良い。
>JDK version note: JRuby version 9 requires a JDK version of 7 or 8 - JDK 9 does not yet work with JRuby and therefore not with Shoes. Also within the JDK major version make sure to have the latest updates installed, we had cases where newer versions resolved bugs.
ただ、JDK8をダウンロードするためにはOracleの会員登録をする必要があり、すごく面倒に感じたので、最新のJDK12をダウンロードした。(今のところ動いています)
3, Shoes4をインストール
WIndowsの場合は、以下の通りのコマンドを実行。
jruby -S gem install shoes --pre
Mac, Linuxの場合は以下の通り。
gem install shoes --pre
コマンドを実行すると、いっぱいWARNING
が出て「これ大丈夫か?」と思うけど、とりあえずはこれでOK.
4, Shoesを実行する
公式サイトに倣って、以下のサンプルコード(main.rb)を用意する。
# main.rb
require 'shoes'
Shoes.app width: 300, height: 200 do
background lime..blue
stack do
para "Welcome to the world of Shoes!"
button "Click me" do alert "Nice click!" end
image "http://shoesrb.com/img/shoes-icon.png",
margin_top: 20, margin_left: 10
end
end
そして、以下の様に実行。
jruby main.rb
上手く行けば、くつのイラストが描かれたGUIアプリが起動するはず。もし上手く動かなければ、JRubyのバージョン等をいじるとできると思う。
公式ページには複数の実行方法が掲載されているが、個人的にはrequire 'shoes'
を書いて、通常通りに実行するのが好き。