タイトル【MTM2000-11 Nov】互換性を持ちつつMac OS Xのメリットを利用できるCarbonカテゴリーCarbon/CF, MOSA Softwre Meeting 2000
作成日2000/11/13 13:40:12作成者新居雅行
アップルの永松氏より「Mac OS X Carbonオーバービュー」と題した講演が行われた。CarbonはMac OS 8.1〜Xで働くAPIである。Mac OS Xの特徴として安定性などを挙げ、Mac OS 8/9のアプリケーションのいいところの両方を取るものとして、Carbonの意味があるとしている。Carbonを使うユーザの利点としてはメモリ空間をアプリケーションごとに用意することでの高い安定性を挙げた。0番のアドレスに書き込みを行うようなCのプログラムを実際に動作させ、他のプログラムに影響がないことを示した。プリエンティブスケジューリングとPowerPCネイティブによる高いパフォーマンスを実現している。また、ヒープが固定長ではないためにアプリケーションメモリの設定がなくなる点も利点として挙げられる。
Toolboxは大事なものだが、進歩のさまたげとなっていたとして、動作に問題のあるAPIを排除してCarbon APIが定義された。アプリケーションは95%は適合するものとした。ただし、Carbonはオブジェクト指向モデルではなく、再コンパイルの必要もある。デベロッパーにとっては1つのアプリケーションをMac OS XとMac OSの両方に対してリリースできるというメリットもある。また、Carbonは将来に渡って利用できることが保証されていることなども挙げられた。デベロッパーの生産性も向上するとして、デバッグ中にマシンがクラッシュしないとか、偶然に動くといったことない点も挙げた。
Carbon化においては、アプリケーションやプラグインはCarbon化するものの、ドライバなどCarbon化できないものもある。Carbon Daterで変更が必要な箇所を得る。Carbon SDKを入手する。まっ先にすることとして、68kのコードを使わないようにする。そして、構造体アクセスの部分などのコンパイルエラーをクリアしていく。こうした変更は、Mac OS X上ではPerlでプログラムを作り自動的に置き換えるようなことをすることも可能であることが紹介された。Window Manager Port、トラップマネージャはサポートされず、Carbon Event Managerを使う。印刷については、プリントマネージャをMac OSとMac OS Xで切り替える。固有のAPIやCarbonだけで利用できる新しいAPIもある。Carbonイベントにより、無駄なポーリングになり、コードは簡単でシンプルになる。ただし、Carbonイベントは必須ではない。実行オブジェクトとしてCFMとMach-Oを利用できる。CFMだとMac OSでも稼動するが、利用できない機能がある。開発ツールとしては、アップル製のツールとメトロワークスのツールがある。アプリケーションのパッケージについては、Finderで1つの項目として見えるようになる。アイコンも128ドットで32ビットのものが作成できるようになったが、開発ツールのIcon Composerによるアイコン作成のデモとそれを組み込んだアプリケーションをビルドすることが実際に行われた。自社のソフトをなるべく早くCarbon化して欲しいとした。
利用できるCarbonのバージョンは、Mac OS 8.1では1.0.4、Mac OS 8.6/9では1.xでCarbon Eventなどが追加される。Mac OS XはさらにAquaが追加される。
関連リンク