Home > Archives > 2008-06-21
2008-06-21
Cocoa はやっぱり ADC
- 2008-06-21 (土)
- 記事
iPhone を買うかもしれないし、そろそろ OSX で不満な点も見えてきたので自作ツールを投入したい。ということで Mac OSX でのプログラミングもやってみようかと、Apple Developer Connection(ADC) の 日本語翻訳からCocoaアプリケーションチュートリアルを試してみる。
どうせ慣れてくれば英語でも問題が無いことは今迄のプログラミング言語体験からわかっているものの、最初のとっかかりから英語は流石にきつい。そういう意味でもリファレンスは訳してくれないけれどもとっかかりは訳してくれているアップル日本の姿勢はまあ悪くはない[1]。本当は Microsoft のように全部訳してくれるのが一番だが、まあシェアの問題もあるしね。ただ、iPhone まわりの開発を考えるとそろそろ充当して欲しい翻訳はいっぱいある。
さて、私はC/C++の基本的な所は一通りわかるものの、Objective Cの文法はダイナミックObjective-Cの連載で軽く見た程度。実践していないのでわからないに等しい。
そこでついでとばかりに、Xcodeスレを参考に荻原本こと詳解 Objective-C 2.0と、ヒレガス本ことCocoa Programming for Mac OS Xも注文しておく。これでしばらくは遊べるはず。
「Currency Converterウインドウの作成」で Text Field と間違えて Text Field Cell を使おうとしてしまい「あっれー、ドラッグで配置できない」と無駄に悩みまくる。勘が働かない新しい環境だと仕方がない範囲の無駄作業というところか。
しかし、インタフェースの配置で推奨インタフェースに沿ったガイドライン線が出るのは有り難い。自然と配置が整列できるので、自然と見た目も美しくなるし、ユーザインタフェースにおけるボックス配置とアライメントを考える良い機会になる。デザインの基本となるベースラインによる整列と近接配置の概念さえおさえておけば使える便利さが素晴しい。
「コントローラとビューの相互接続」の箇所が微妙に罠。
ライブラリで、オブジェクト項目をMainMenu.nibウインドウへドラッグします
これが「ライブラリ」の「Object」の事だったとは…訳すなら統一して欲しい。ConverterController.h を読みこませても目に見える反応が無いのにも騙された。
インタンスメソッドの宣言が - で初まるのにとまどってバグの素にしてしまったりしながら、なんとか最後までビルド完了。確かにGUIな基礎部分はほとんど Interface Builder でできることがよくわかった。しかし、IB からコードを触るようなパラダイムではないので、そういう意味ではしっかりと MVC を意識しまくらないと辛いようだ。
あえて比較するならば、Ruby On Rails では命名規約で Controller と Model, View の繋りを暗黙のうちに規定できるようにしているが、Cocoa では流石にウェブと違い適用範囲が広いのでそんなに甘くはなく、宣言だけコード側ですませておいてから IB で繋げまくる必要がある。まあ、それもGUIですっきりはっきりできるのが利点か。
とりあえず、Objective C のメッセージによる通信と、実行時の型確定によりかなり色々できそうな雰囲気はよくわかった。次あたりは何か小規模なものを一つ習作として作り潰してみて、それから本題に行くとしよう。
- OSX の起動時に Unix 系のデーモン1つつっこもうとするだけで、英語と格闘になるけどねっ orz [↩]
- Comments: 0
Home > Archives > 2008-06-21
