CocoaバインディングとCore Data

今日は、初台オペラシティーで開催されたCocoaセミナーに参加させて頂いた。内容はCocoaバインディングとCore Data。久々に、XcodeCocoa環境に触れた。ここ最近、Ruby on Railsのことばかりだったので、ちょっと気分転換、新鮮味を感じた!

  • まず、Interface Builderを使って、マウス操作でアプリケーション画面をデザインする。

  • そのままのマウス操作で、モデル、ビュー、コントローラの接続を行う。(アウトレットやアクションの追加、接続、Cocoaバインディングなど)

  • その後、Xcodeに戻って、必要なデータ処理だけのコーディング。
  • Core DataはOSX環境が用意したデータベースのようなもの。
  • こちらもマウス操作で視覚的にテーブル同士の関連を確認しながら設計できる。

データ処理のコーディング以外は、XcodeとInterface Builderが連携して、ほとんど全てマウス操作による作業。ただ、設定内容を理解して、操作を覚えるのが最初の難関だ。マウス操作に頼る分、設定項目はとても多く、その関連は複雑。設定する対象が違うと表示される設定項目もガラッと変わる。1箇所のチェックボックスのチェックが抜けてしまうだけで、意図する動作をしないこともある。どの順番で、何を設定するかなんてのも、ある程度自由があるので、うっかりすると忘れてしまうこともある。(1文字違っただけで動かないと同じレベルのことなんだけど...。うっかりミスをなくすのは永遠の課題ですね。)

今まで、適当に触ってみて試行錯誤したことはあったが、今回のセミナーのように、Core Dataの設計からCocoaバインディングで接続して、ちゃんと動作するアプリケーションまでは作ったことがなかった。一つの動作するアプリケーションを自分の操作で完成させることは最高の教材になる。(サンプルといえどもかなり実用的)GUI操作は分かっている人には直感的なのだが、文書で説明すると長くなりがち。分からない人にとっては難しく感じてしまう。今回のように、現地で実習しながら、分からないところは質問できるというのは、GUI操作が複雑になるほど学ぶためには価値のある方法ですね。

学ぶためには、事前に配られる教材の予習は絶対必要と感じた。限られた時間なので、話はどんどん進む。久々のCocoaと思い、出かける前、教材片手に、ひと通り操作しておいてよかった...。Interface Builderの操作って久々に触ると忘れてることが結構ある。思い出せば「ああ、そうか」と思うんだけど。

「CoreDataRSSリーダー」を作ってみて、CocoaにもRuby on Railsのような「15分で出来るRSSリーダー」なんていう紹介の仕方があってもいいかな、と思った。(果たしてその時間で出来るかは試したことがないが...。Railsはプレゼンの仕方が素晴らしかった。)ほとんどがGUIの選択操作だけで、分かる人がテキパキ作る様子を見てたらきっと楽しいだろうなーと。毎回Cocoaセミナーで分かりやすい教材を作ってくれるHMDTさんのページに、そんな映像があれば、よりCocoaの魅力を感じるなー、と。(講師、お疲れさまでした。とても勉強になりました。感謝です。)

  • webアプリケーションでもInterface BuilderのようなGUI環境でページデザインなんかが出来るのだろうか?
  • Ruby on Railsと連携したそんなツールってあるのだろうか?
  • 次期OS X10.5では、Ruby on Railsも搭載されると聞いているが、果たしてそれは、そんな魅力的なGUI環境で開発できるということなんだろうか?

期待は膨らむなー。

これが出来上がったRSSリーダー