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が紹介されているが、ほとんどが開発をストップしていたり、古くなっているがほとんとだ。

f:id:toumasuxp:20190518210956j:plain

参考リンク:An overview of Desktop Ruby GUI development in 2018 – Saverio Miroddi – 64K RAM SYSTEM  38911 BASIC BYTES FREE

個人的には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/shoes4: Shoes 4 : the next version of Shoes

Shoesの環境構築

以下は、Shoesの環境構築の方法を紹介していく。

 1, JRubyをインストールする

まずは、以下のサイトにアクセスしてJRubyをダウンロード&インストールをする。基本的にJRubyと後述するJDKのインストーラーは、デフォルトの設定で「OK」を押してインストールすれば良い。

Downloads — JRuby.org

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.

参考:shoes/shoes4: Shoes 4 : the next version of Shoes

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.

参考:shoes/shoes4: Shoes 4 : the next version of Shoes

ただ、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'を書いて、通常通りに実行するのが好き。