SlideShare una empresa de Scribd logo
1 de 14
Rubyで
GUIアプリケーションを
書く
kawasaki.rb #49
ぺけみさお
自己紹介
• ぺけみさお(xmisao)
• ブログ https://www.xmisao.com/
• Twitter https://twitter.com/xmisao
• GitHub https://github.com/xmisao
• BestGems.org http://bestgems.org/
Rubyで
GUIアプリケーションを書く
Rubyで
GUIアプリケーションを書く
• 流行っていない
Rubyで
GUIアプリケーションを書く
• 流行らせたい
選択肢
• “Ruby GUI”などとぐぐると上位に出る記事
• Ruby de GUI (Rubyist Magazine 0001号!!)
• http://magazine.rubyist.net/?0001-RubyGUI#l7
選択肢
• 取り上げられている実装の状況
• Ruby/Tk -- Ruby2.3で本体付属でなくなった
• Ruby-GNOME2 -- 今日の話題はこれ、唯一Webサイトが生きてい
る、活発
• QTRuby -- 最近怪しい(更新1年前)
• FXRuby -- 生存
• Ruby/FLTK -- 当時から開発が停止
• wxRuby -- 7年前から更新なし
GTK3
• GTK3のラッパ
• https://ruby-gnome2.osdn.jp/ja/
サンプル(Gemfile)
https://github.com/xmisao/kwskgtk
source 'https://rubygems.org'
gem ‘rake’
gem ‘gtk3’
サンプル(本体)
https://github.com/xmisao/kwskgtk
require 'gtk3'
w = Gtk::Window.new
w.set_default_size(300, 200)
l = Gtk::Label.new('Hello, kawasaki.rb!')
w.add(l)
w.show_all
Gtk.main
使う側
git clone git@github.com:xmisao/kwskgtk.git
cd kwskgtk
bundle install --path .bundle
bundle exec hello.rb
※gtk3はネイティブ拡張ですがnative-package-installerがgtk3の指定したOS固有の
パッケージのインストールもやってくれるのでスムーズに入ります。
デモ等
所感
• 簡単に使える
• 実装は良い感じ(Rubyっぽく書ける)
• ドキュメントは薄い
• GTK2の情報しか無くて辛い
• PythonのGTKのコードが参考になる
• Cの世界に落ちる(本家GTK3)
まとめ
• GTK3を使ったアプリは意外と簡単に書ける
• Ruby + GTK3のアプリはbrewで入れてればMac
でもすんなり動く
• みなさんも書いて下さい

Más contenido relacionado

La actualidad más candente

Composer による依存管理 と Packagist によるライブラリの公開
Composer による依存管理 と Packagist によるライブラリの公開Composer による依存管理 と Packagist によるライブラリの公開
Composer による依存管理 と Packagist によるライブラリの公開
Shogo Kawahara
 
Next GAE Heroku を使って 3分でRailsアプリをリリース
Next GAE Heroku を使って 3分でRailsアプリをリリースNext GAE Heroku を使って 3分でRailsアプリをリリース
Next GAE Heroku を使って 3分でRailsアプリをリリース
よしだ あつし
 
僕はどうしてもLibsassが使いたかったんだ!
僕はどうしてもLibsassが使いたかったんだ!僕はどうしてもLibsassが使いたかったんだ!
僕はどうしてもLibsassが使いたかったんだ!
Masato Noguchi
 

La actualidad más candente (20)

Rails解説セミナー: Rails国際化 (I18n) API
Rails解説セミナー: Rails国際化 (I18n) APIRails解説セミナー: Rails国際化 (I18n) API
Rails解説セミナー: Rails国際化 (I18n) API
 
Ruby on Rails の特徴とそのエコシステム
Ruby on Rails の特徴とそのエコシステムRuby on Rails の特徴とそのエコシステム
Ruby on Rails の特徴とそのエコシステム
 
ぼくのかんがえたさいきょうの Rails スタートダッシュ
ぼくのかんがえたさいきょうの Rails スタートダッシュぼくのかんがえたさいきょうの Rails スタートダッシュ
ぼくのかんがえたさいきょうの Rails スタートダッシュ
 
Sprocketsを捨てたい
Sprocketsを捨てたいSprocketsを捨てたい
Sprocketsを捨てたい
 
Web技術勉強会 20120609
Web技術勉強会 20120609Web技術勉強会 20120609
Web技術勉強会 20120609
 
ゲーム会社でのRuby : rails活用事例
ゲーム会社でのRuby : rails活用事例ゲーム会社でのRuby : rails活用事例
ゲーム会社でのRuby : rails活用事例
 
Railsチュートリアル(second)を終えて
Railsチュートリアル(second)を終えてRailsチュートリアル(second)を終えて
Railsチュートリアル(second)を終えて
 
Composer による依存管理 と Packagist によるライブラリの公開
Composer による依存管理 と Packagist によるライブラリの公開Composer による依存管理 と Packagist によるライブラリの公開
Composer による依存管理 と Packagist によるライブラリの公開
 
Ruby on Rails 入門
Ruby on Rails 入門Ruby on Rails 入門
Ruby on Rails 入門
 
Ruby on Rails を用いたWEBアプリケーションの開発
Ruby on Rails を用いたWEBアプリケーションの開発Ruby on Rails を用いたWEBアプリケーションの開発
Ruby on Rails を用いたWEBアプリケーションの開発
 
クローズドソースから始めるオープンソース
クローズドソースから始めるオープンソースクローズドソースから始めるオープンソース
クローズドソースから始めるオープンソース
 
RubyでGitHubをちょっと便利にする
RubyでGitHubをちょっと便利にするRubyでGitHubをちょっと便利にする
RubyでGitHubをちょっと便利にする
 
RubyでGitHubをもうちょっと便利にする
RubyでGitHubをもうちょっと便利にするRubyでGitHubをもうちょっと便利にする
RubyでGitHubをもうちょっと便利にする
 
Railsのフロントエンド開発を考える
Railsのフロントエンド開発を考えるRailsのフロントエンド開発を考える
Railsのフロントエンド開発を考える
 
ヤマハルーターとクラウドをVPNで繋いでDaaS環境を構築しよう
ヤマハルーターとクラウドをVPNで繋いでDaaS環境を構築しようヤマハルーターとクラウドをVPNで繋いでDaaS環境を構築しよう
ヤマハルーターとクラウドをVPNで繋いでDaaS環境を構築しよう
 
Next GAE Heroku を使って 3分でRailsアプリをリリース
Next GAE Heroku を使って 3分でRailsアプリをリリースNext GAE Heroku を使って 3分でRailsアプリをリリース
Next GAE Heroku を使って 3分でRailsアプリをリリース
 
僕はどうしてもLibsassが使いたかったんだ!
僕はどうしてもLibsassが使いたかったんだ!僕はどうしてもLibsassが使いたかったんだ!
僕はどうしてもLibsassが使いたかったんだ!
 
Ember コミュニティとわたし
Ember コミュニティとわたしEmber コミュニティとわたし
Ember コミュニティとわたし
 
Appcelerator TitaniumでSocket.io (1.x)
Appcelerator TitaniumでSocket.io (1.x)Appcelerator TitaniumでSocket.io (1.x)
Appcelerator TitaniumでSocket.io (1.x)
 
Closure CompilerのES6対応 あるいはES6時代のAltJS生存戦略
Closure CompilerのES6対応 あるいはES6時代のAltJS生存戦略Closure CompilerのES6対応 あるいはES6時代のAltJS生存戦略
Closure CompilerのES6対応 あるいはES6時代のAltJS生存戦略
 

Similar a RubyでGUIアプリケーションを書く

Building Static Website With Github And Jekyll
Building Static Website With Github And JekyllBuilding Static Website With Github And Jekyll
Building Static Website With Github And Jekyll
Yoji Shidara
 
my unite plugins
my unite pluginsmy unite plugins
my unite plugins
basyura
 
RubyKaigi2009 - RubyをつかったiPhoneアプリケーション開発
RubyKaigi2009 - RubyをつかったiPhoneアプリケーション開発RubyKaigi2009 - RubyをつかったiPhoneアプリケーション開発
RubyKaigi2009 - RubyをつかったiPhoneアプリケーション開発
takuma mori
 

Similar a RubyでGUIアプリケーションを書く (20)

Git & GitHub & kintone でウルトラハッピー!
Git & GitHub & kintone でウルトラハッピー!Git & GitHub & kintone でウルトラハッピー!
Git & GitHub & kintone でウルトラハッピー!
 
OSC 2013 .Enterprise
OSC 2013 .EnterpriseOSC 2013 .Enterprise
OSC 2013 .Enterprise
 
増井雄一郎の「wri.pe」を事例に学ぶ、自作サービスの広め方〜PR・継続できる目標の立て方・改善編 先生:増井 雄一郎
増井雄一郎の「wri.pe」を事例に学ぶ、自作サービスの広め方〜PR・継続できる目標の立て方・改善編 先生:増井 雄一郎増井雄一郎の「wri.pe」を事例に学ぶ、自作サービスの広め方〜PR・継続できる目標の立て方・改善編 先生:増井 雄一郎
増井雄一郎の「wri.pe」を事例に学ぶ、自作サービスの広め方〜PR・継続できる目標の立て方・改善編 先生:増井 雄一郎
 
Mrubyの始め方
Mrubyの始め方Mrubyの始め方
Mrubyの始め方
 
emruby: ブラウザで動くRuby
emruby: ブラウザで動くRubyemruby: ブラウザで動くRuby
emruby: ブラウザで動くRuby
 
Building Static Website With Github And Jekyll
Building Static Website With Github And JekyllBuilding Static Website With Github And Jekyll
Building Static Website With Github And Jekyll
 
jupyter notebook (jupyterhub) で ruby とグラフ
jupyter notebook (jupyterhub) で ruby とグラフjupyter notebook (jupyterhub) で ruby とグラフ
jupyter notebook (jupyterhub) で ruby とグラフ
 
一人でもはじめるGitでバージョン管理
一人でもはじめるGitでバージョン管理一人でもはじめるGitでバージョン管理
一人でもはじめるGitでバージョン管理
 
本番環境で使える実行コード記録機能
本番環境で使える実行コード記録機能本番環境で使える実行コード記録機能
本番環境で使える実行コード記録機能
 
RubyからC#を扱う
RubyからC#を扱うRubyからC#を扱う
RubyからC#を扱う
 
増井雄一郎の「wri.pe」を事例に学ぶ、自作サービスの広め方〜リリース編 先生:増井雄一郎
増井雄一郎の「wri.pe」を事例に学ぶ、自作サービスの広め方〜リリース編 先生:増井雄一郎増井雄一郎の「wri.pe」を事例に学ぶ、自作サービスの広め方〜リリース編 先生:増井雄一郎
増井雄一郎の「wri.pe」を事例に学ぶ、自作サービスの広め方〜リリース編 先生:増井雄一郎
 
GitLab から GitHub + CircleCI に乗り換えてチーム運用を改善しつつある話
GitLab から GitHub + CircleCI に乗り換えてチーム運用を改善しつつある話GitLab から GitHub + CircleCI に乗り換えてチーム運用を改善しつつある話
GitLab から GitHub + CircleCI に乗り換えてチーム運用を改善しつつある話
 
マニアックなRuby 2.7新機能紹介
マニアックなRuby 2.7新機能紹介マニアックなRuby 2.7新機能紹介
マニアックなRuby 2.7新機能紹介
 
oFの話題が殆ど出ない oF jp Summer Workout
oFの話題が殆ど出ない oF jp Summer WorkoutoFの話題が殆ど出ない oF jp Summer Workout
oFの話題が殆ど出ない oF jp Summer Workout
 
Githubサービスについて
GithubサービスについてGithubサービスについて
Githubサービスについて
 
GitHub Handson
GitHub HandsonGitHub Handson
GitHub Handson
 
増井雄一郎の「wri.pe」を事例に学ぶ、自作サービスの作り方〜サービスデザイン編 先生:増井 雄一郎
増井雄一郎の「wri.pe」を事例に学ぶ、自作サービスの作り方〜サービスデザイン編 先生:増井 雄一郎増井雄一郎の「wri.pe」を事例に学ぶ、自作サービスの作り方〜サービスデザイン編 先生:増井 雄一郎
増井雄一郎の「wri.pe」を事例に学ぶ、自作サービスの作り方〜サービスデザイン編 先生:増井 雄一郎
 
my unite plugins
my unite pluginsmy unite plugins
my unite plugins
 
RubyKaigi2009 - RubyをつかったiPhoneアプリケーション開発
RubyKaigi2009 - RubyをつかったiPhoneアプリケーション開発RubyKaigi2009 - RubyをつかったiPhoneアプリケーション開発
RubyKaigi2009 - RubyをつかったiPhoneアプリケーション開発
 
mikutter入門
mikutter入門mikutter入門
mikutter入門
 

Más de Misao X

VimとRubyのアツい関係
VimとRubyのアツい関係VimとRubyのアツい関係
VimとRubyのアツい関係
Misao X
 

Más de Misao X (7)

BestGems.org 2018年の進化
BestGems.org 2018年の進化BestGems.org 2018年の進化
BestGems.org 2018年の進化
 
Rubyからg rpcでdocker化したkuromojiを使った話
Rubyからg rpcでdocker化したkuromojiを使った話Rubyからg rpcでdocker化したkuromojiを使った話
Rubyからg rpcでdocker化したkuromojiを使った話
 
極貧Webサービス運用 kawasaki.rb #044
極貧Webサービス運用 kawasaki.rb #044極貧Webサービス運用 kawasaki.rb #044
極貧Webサービス運用 kawasaki.rb #044
 
Native Extensionのビルドどうしてますか?
Native Extensionのビルドどうしてますか?Native Extensionのビルドどうしてますか?
Native Extensionのビルドどうしてますか?
 
しょぼいカレンダーからアニメデータベースを作る
しょぼいカレンダーからアニメデータベースを作るしょぼいカレンダーからアニメデータベースを作る
しょぼいカレンダーからアニメデータベースを作る
 
BestGems.org -RubyGemsランキングサイトのご紹介-
BestGems.org -RubyGemsランキングサイトのご紹介-BestGems.org -RubyGemsランキングサイトのご紹介-
BestGems.org -RubyGemsランキングサイトのご紹介-
 
VimとRubyのアツい関係
VimとRubyのアツい関係VimとRubyのアツい関係
VimとRubyのアツい関係
 

RubyでGUIアプリケーションを書く