ひ日誌
2006-12-09 ( ja -> en )
_ [rubycocoa][macosx][cocoa][ruby] RubyCocoa 0.5.0 リリース
RubyCocoa 0.5.0 をリリースしました(ダウンロード, 変更点)。木村さんどうもご苦労さまです!(僕はほとんど何もしてません汗)…ということで、ここでRubyCocoaアプリの簡単なサンプルをふたつほど紹介。
まずは、RubyCalc.app。これは、オープンソースマガジン11月号のRubyCocoa記事にスクリーンショットが出ている電卓アプリケーションです。50行ほどのRubyプログラムとInterfaceBuilderで作ったGUIで構成されています。
もう一つは、CocoaRuby.app。こちらは、MOSAの湘南ミーティング2006のRubyCocoaセッションのときにチュートリアルに使った対話型Rubyインタープリタアプリケーションです。やはり、50行ほどのRubyプログラムとInterfaceBuilderで作ったGUIで構成されています。
どちらも RubyCocoa.framework (0.5.0) をまるごと含んでいるので、Mac OS 10.4 で RubyCocoa をインストールしていなくても動くはずです。Finderのコンテクストメニューの「パッケージの内容を表示」で、Contents/Resources フォルダを開くとRubyプログラムのソースを見ることができます。
CocoaRuby.appの方は、ちょっとした動画をYouTubeに置いてあります。画質が悪いのでわかりにくいけど、後半、動的にGUIを変更していくあたりがポイントのつもり:
この動画で入力しているRubyプログラム片はおおよそ以下のようなものです:
puts "hello,world"
puts "こんにちは、世界"
"hello,world"
"こんにちは、世界"
1 + 2 + 3 + 4 + 5
# hoge
# raise "hoge"
include OSX
app = NSApplication.sharedApplication
win = app.keyWindow
win.setTitle "Microsoft VisualStudio 2006 Professional Edition (うそ)"
v = 0 ; (1..10).each {|i| v += i } ; v
v = 1 ; (1..10).each {|i| v *= i } ; v
v = "" ; ('a'..'z').each {|i| v << i } ; v
(1..10).inject(0) {|v,i| v + i }
(1..10).inject(1) {|v,i| v * i }
('a'..'z').inject("") {|v,i| v + i }
50.times do |i|
win.setAlphaValue((i+1) / 50.0)
sleep 0.03
end
win.setTitle "RubyCocoa"
$app = app
$win = win
swin = NSWindow.alloc.
__send__ :initWithContentRect, [750,500,50,150],
:styleMask, 15,
:backing, 2,
:defer, 0
swin.setLevel(3)
swin.display
swin.orderFrontRegardless
slider = NSSlider.alloc.init
swin.setContentView(slider)
class SlideController < NSObject
def slide(sender)
$win.setAlphaValue(sender.floatValue)
end
end
sc = SlideController.alloc.init
slider.setTarget(sc)
slider.setAction("slide:")
$win.setContentView(NSView.alloc.init)
_ [rubycocoa][macosx][cocoa][ruby] RubyCocoa 1.0 開発状況
Laurentさん中心に鋭意開発中のapple-unstableブランチ(1.0としてLoepard搭載予定)ですが、BridgeSupportのメタデータ生成器が素のCにも対応。例えば、/Developer/Examples/Quartz/Python/circle.py のような CoreGraphics のAPIを叩くプログラムをrubyで書くことができようになりつつあります([Rubycocoa-devel 472])。
_ [macosx][cocoa][rubycocoa] MiniKidsGames
RubyCocoaで書いているそうです。ゲーム開発のための開発環境もあるとのこと。まだ、ちゃんと見てないのだけど楽しみです。
おひさしぶりです。RailsConfで一緒になった増井です。
いつもRubyでカスタマイズできる、自分用エディタをRubyCocoaで書きたいと思いつつ、なかなか手が動かないでいます。
OSMの11月号に記事が載ってるんですね。ちょっと探して買ってみます。
p.s
来年のRailsConfには参加しますか?
増井さんごぶさたです。ぜひ作ってみてください。僕もエディタ(もしくはお手軽開発環境)は作りたいリスト?に入ってます。
RailsConfはちょっとわからないです(すんません)。どちらかというとRubyConfの方がおもしろそうかなぁと…