Ruby による Mac OS X デスクトップアプリケーション開発入門

RubyによるMac OS Xデスクトップアプリケーション開発入門 ~Ruby×RubyCocoa/MacRuby×HotCocoa~

RubyによるMac OS Xデスクトップアプリケーション開発入門 ~Ruby×RubyCocoa/MacRuby×HotCocoa~

出版の直前に Snow Leopard が発売になり、MacRuby が 0.5 にアップデートされるなどこのタイミングには泣かされたことだろうと思います。サポートサイトで最新版の情報はフォローされるそうなのでこちらも参照。

書籍のサポートサイト
http://www.takao7.net/rhcbk/

期待の RubyCocoa, MacRuby/HotCocoa 本がやってきました。とりあえず第3部の MacRuby と HotCocoa の部と付録を読んだところです。残りは実際に操作しながら読むことで Xcode 入門書として活用させてもらいます。

前半はざっと目次と図表を斜め読みしただけですが、Xcode でプロジェクトを作り、ビルド、リリースする手順がかなり丁寧に書かれているようなので Mac OS X での開発が始めてでも大丈夫そうだなーという印象です。Ruby のコードは読めないとつらいでしょうが、Objective-C の知識は必須ではなさそう。

現在のところ Rubyist*1 RubyMac OS X のアプリケーションを開発しようと思ったらまず本書を手にすることになるでしょう。特に MacRuby について書かれた書籍はこれが世界初だそうですし。

MacRuby/HotCocoa の部分はメソッド名のルール(キーワード引数付きの時のこととか)などはきちんと文章になったリファレンスを読んでなかったので勉強になりました。あとコラムで MacRuby で利用している Objective-C のランタイムの表があって、ごくさらっとした説明だけでしたが、これを眺めてから MacRuby のソースの bs.c あたりをみてみると、読める、わたしにも読めるぞ!とムスカ状態になれます。やっぱり適切な道標があるかないかでコードリーディングの効率は大きく変わりますね。

Core Audio のような低レベルフレームワークの API を呼ぶ方法について何か情報があるかなと思っていましたが、定数のマッピングについての記述が付録2 にあったものの、関数を呼ぶ方法については記述はないようです(多分)。関数がそのままメソッドになっていることは把握しているのですが、型のサイズやポインタなど C の生っぽい情報が必要になるのでちょっと工夫が必要だと思いつつまだ手をつけてませんでした。Pointer オブジェクトというものがあるという情報が得られたので、これが利用できないかどうか調べてみたいです。

あとこういう入門書な書籍だと、この後もっと先に進むにはどうすればっていう指標として参考文献が充実しているのが重要だと考えているので、付録 3の参考文献はもっと詳しいと良かったかなと思います。ISBN があってもいいんじゃないかっていうようなこともありますが、例えば「Happy Macintosh Developing Time」には第3版が出ているようですし、実際に参考にしたのはこれだけど、もう新しい版が出てますとかそういうような。また文中に書かれたサイトの URL も参考 URL として付録3 に再度まとめておいてもらえると便利だと思います。まあサポートサイトにちゃんと「リンク」のページがあるのでそちらを参照すればよいのですけどね。

それにしてもこんなにワクワクしながら書籍を手にしたのは久し振りでした。何か Mac のアプリを書きたくなるような、読んでて楽しくなる本でした。

*1:つまり Ruby そのものの経験はあるとして