«前の日記(2007-08-23) 最新 次の日記(2007-11-02)» 編集
2002|09|
2003|04|05|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|10|11|
2008|01|

ひ日誌


2007-10-28  ( ja -> en )

_ [macosx][ruby][cocoa][rubycocoa] LeopardでのRubyCocoaアプリ作成手順を動画にしてみた

Leopardで、ボタンをクリックするとテキストフィールドに入力したテキストを読み上げるだけの単純なRubyCocoaアプリケーションを作る様子を動画にしてみました。あまりにぼけぼけでわかりにくいので公開はなしにしようかと思ったけど、せっかく作ったので字幕だけつけて公開します*1

おおよその流れは以下の通り。

  • プロジェクトを作る
  • コントローラの実装 (ボタンが押されたら標準出力にテキストをプリント)
  • InterfaceBuilderでビューを編集
  • 実行して確認
  • ボタンが押されたらテキストを読み上げる機能を機能を実装
  • 実行して確認

最初のコントローラ(テキストを標準出力にプリント)のソース:

# SpeechController.rb
class SpeechController < OSX::NSObject
  include OSX

  ib_outlet :textField

  ib_action :speech do
    puts @textField.stringValue
  end
end

読み上げ機能を実装したSpeechController.rbのソース:

class SpeechController < OSX::NSObject
  include OSX

  ib_outlet :textField

  ib_action :speech do
    speech_string @textField.stringValue
  end

  def speech_string(str)
    voice = NSSpeechSynthesizer.defaultVoice
    synth = NSSpeechSynthesizer.alloc.initWithVoice(voice)
    synth.startSpeakingString(str)
  end
end

_ [macosx][ruby][cocoa][rubycocoa] Xcode 3.0 と InterfaceBuilder 3.0 の連係が素晴らしい

何が素晴らしいか。Xcode上でRubyで書いたコントローラのプログラムを更新(保存)すると、InterfaceBuilderでコントローラのクラスが選択できるように自動的に反映されます。コントローラプログラムに書いたアウトレットやアクションも自動的に反映されます。上の動画ではこのあたりを見せているつもりです(ぼけぼけでわかりにくいけど)。

逆に、InterfaceBuilderで追加したアウトレット・アクションを、Xcode上のRubyファイル編集ウィンドウにドラッグドロップすることもできます。また、IBで作ったコントローラからRubyプログラムを生成することもできるようになっています(これはまだ改善の余地がある感じ、RubyCocoa.frameworkの中にあるrb_nibtool.rbに改善の余地あり)。

基本的には、Xcodeでソースを編集してから、InterfaceBuilderで接続したりするという流れの方が使い勝手が良さそうです。

_ [macosx][ruby][cocoa][rubycooca][rails] 近況

Loepardとtypoしまくってます。ForeFrontという会社でRailsアプリを開発したりしてます。それから、MOSA Software Meeting 2007 で、RubyCocoaを中心にLeopardのRuby環境について話したりデモしたりすることになっています。

_ [ruby][cocoa][rubycocoa][macosx] RubyCocoa 1.0 とは

RubyCocoa 0.12 (Leopardに入っている)のことです。ひとりひとり名前をあげることはできませんがいろんな形でサポートしていただいた皆様どうもありがとう。

MacOS X v10.5 Leopard MacOS X v10.5 Leopard

*1  最初、初音ミクに解説をお願いしてみたのだけどちょっと難しくて断念。歌は上手に歌ってくれますがナレーションは苦手なよう

本日のツッコミ(全3件) [ツッコミを入れる]
_ lrz (2007-10-28 08:35)

Nice screencast :)

_ hisa (2007-10-28 08:50)

I think it's out of focus too much ;)

_ Kutuma (2008-08-14 05:27)

Cool video! I reshot this in English and with the important parts zoomed in, if anyone's interested.
kutuma.blogspot.com/2008/08/hello-world-in-cocoa-ruby.html


«前の日記(2007-08-23) 最新 次の日記(2007-11-02)» 編集