Dsc01683-2

2005年6月6日から10日、一週間にわたって開催された、Apple World Wide Developer Conference 2005の総括。特に本プロジェクトに関連する項目について、以下にまとめてみた。

各セッションの内容については、NDA(非公開義務)に抵触しない程度に触れることにする。

(記述に間違いがある場合が大いにあります。もし何か気になる点があれば気軽にメールあるいはコメントをいただけると幸いです。)

1. プロセッサーの変更

Dsc01679 1

IBMのPowerPCから、Intelベースのシステムへの移行が今回のWWDCの最大のトピックであろう。アーキテクチャ的には非常に大きな変更だが、ソフトウェアディベロッパーとしてはそれほどの差異を感じることなく、開発を進められそうだ。Xcode2.1/gcc4.0で適当なアーキテクチャオプションを指定するだけで(基本的には)問題ないらしい。

Developer向けのIntelベースのシステムのレンタルが既に始まっている(990ドルで1年半程度) プロジェクトの期間を考えると最適か。

2. CoreDataの充実

Picture 3-1

CoreDataとは、データモデルの作成、データオブジェクトの管理などを一般化したシステム。すでに昨年のWWDCで発表されていたが、Xcode2.0で本格的なデータモデリングツールが登場し、さらにTigerからは軽量でパーソナルユース向けのDBシステム・SQLiteがOSにデフォルトで含まれるようになったことで、ますます実用的になっているように感じた。

Phonetchicaでも、言語とそれに付随する関連情報のデータモデルをCoreDataの仕組みを使って実装するのが現実的に最も効率のよい方法であるように思う(上のモデル図のサムネイルを参照)。CoreDataでは、ファイルの保存方式を、XML, SQLite, Binaryフォーマットの中から選べるが、高速性、Atomicな入出力(ほかのデータ形式だと、セーブする際にはファイルを全てセーブする必要がある)などの特性を考えると、SQLiteが一番良いだろう。PHPのスクリプトと結びつけて、簡易的なWebバージョンのPhonethicaを作ることも念頭に入れておく(例えば、web上から新しい単語の意味と発音などを入力できるインタフェースを作る)。

3. Quartz Composerの導入

Picture 4

Quartz Composerは、Tigerで導入された新しい開発者向けアプリケ−ションの一つ。”パッチ”と呼ばれる特定の機能を持ったオブジェクトを、つなげていくことでグラフィカルに様々なビジュアルエフェクトを作ることができる(こうして作られた一つのプログラムを”コンポジション”と呼ぶ)。CoreImage(これもTigerで導入された映像を扱う一連のシステム)との親和性が高く、ImageUnitを自由にコンポジションの中で使うことができる。

従来、OpenGLのプログラミングでやっていたような処理が非常に簡単に、しかも高品質でできることに衝撃を覚えた。Phonethicaのグラフィック表示部分に使える可能性は高い。

ただし、問題がない訳ではない。適当なコンポジションの自作を試みたところ、いわゆるgateやflipflopのような非常に基本的な処理を行うパッチがないことに気づいた。今後、AppleがQCをどのように拡張していくのか、あるいは3rd party製のパッチの交換と行ったユーザコミュニティが発展するのか注意深く見守りたい。

4. 隠れたキーテクノロジー Cocoa Binding

Picture 1

CoreDataやQuartz Composerのような派手さはないが、その重要性と意味で目立っていたのが、Cocoa Biding。Cocoa Bindingは、データモデルとビューの間のコントローラーを簡略化することを狙ったシステム(参照- Model-View-Controllerパラダイム)。いわゆるGlue-Codeを減らせる。 bindingとはオブジェクトのattributeで、別のオブジェクトのattributeに関係づけられているもの。そのため、一方の変更はもう片方に反映される。通常はMVCモデルで使われ、viewへの変更が、そのままmodelに反映され、また別のviewにも同時に反映されるといったことが簡単に実現できる。 実際、Quartz ComposerのコンポジションやCoreDataのデータモデルをCocoaアプリの中で利用する場合には、Cocoa Bindingで、モデル(この場合はコンポジションやデータモデル)とビュー(コンポジションを表示するQCViewやデータを表示するテーブルなど)の間を簡単につなぐことができる。

Cocoa Biding自体は、Pantherからすでに導入されていたのだが、個人的には今まで見過ごしていた。今回をきっかけにこのテクノロジーを利用して、開発の効率をあげたいと考えている。

5. <番外> subversionによるバージョン管理

subversionは、オープンソースのマルチプラットフォームのバージョン管理システム。直接Mac OS XやTigerには関係ないのだが、元Apple社員の一人が開発の中心にいるためか、WWDC2005でもsubversionのセッションがあった。

バージョン管理システムといえば、以前何度かCVSを試したことがあったが、バイナリーファイルやnibファイルなどのの扱いが煩雑で挫折した苦い経験がある。WWDC2005のsubversionのセッションで見る限り、その辺の使い勝手がsubversionでは大幅に改善されているようだ。Xcodeとの組み合わせて簡単に使えるようになっているということもあり、今回のプロジェクトのバージョン管理に使い始めることにした。


No Responses to “WWDC 2005 総括”  

  1. No Comments

Leave a Reply