タイトル鶴薗賢吾のCocoaはやっぱり!出張版》Mac OS X対応アプリケーションをCocoaでプログラミング(2)カテゴリーCocoa, 鶴薗賢吾のCocoaはやっぱり!出張版
作成日2001/7/15 13:13:33作成者新居雅行
■ 開発環境の入手方法
もしかすると、Cocoaで開発をする最大のメリットは、開発環境が安価に手に入ることかもしれません。14,800円のMac OS Xのパッケージには、開発ツールが標準でついています。Macでは、こんなに安価な開発環境は他にはありません。
また、Appleの開発者向けのサービスである「Apple Developer Connection(ADC)」に入会することで、Appleのサイトより無料でダウンロードすることができます(ファイルは巨大ですので常時接続環境がないと辛いですが)。ADCのにはいくつかのコースがありますが、「Onlineプログラム」は無料ですので入会して損は無いでしょう。

◇Apple Developer Connection プログラム
 http://developer.apple.com/ja/membership/index.html

■ Cocoaの欠点
いいこと尽くめのようなCocoaにも欠点はあります。ここでは、その欠点についても触れておきましょう。

〈CocoaアプリはMac OS X専用〉
Cocoaで開発する最大のデメリットは「CocoaアプリがMac OS X専用であること」でしょうか。Carbonアプリは、Mac OS 8.6以降で動くように開発が出来ますが、Cocoaではそれはできません。古いマシンや古いOSでも動くようにという要求がある場合は、Cocoaでの開発はマッチしないといえます。

〈大規模なClassicアプリからの移行は大変〉
Classic/CarbonとCocoaの間にはAPIの互換性がありませんので、既存のClassicアプリをCocoaへ移植する場合、Carbon化するよりも一般に工数がかかります。小規模なものであれば、開発の容易さもありますので、ゼロから作りなおすという手もあるかもしれませんが、大規模なものには向かないといえます。

〈Cocoaは発展途上〉
Mac OS X自体が発展途上であるともいえるのですが、CocoaはOPENSTEPから発展してきたために、従来のMac OSの作法を完全には身に付けていないところがいくつか見受けられます。例えば、

  • ファイルタイプやクリエータのサポートが弱い。
  • エイリアスは扱えないのでファイルパスを使う。
  • リソースフォークのサポートが弱い。

というような点です。CocoaアプリからはCarbon APIを呼び出すことができるため、以上の問題は解決できない問題ではありませんが、CocoaとCarbonの両方を知らなければならないということには変わりありません。これは、今後のCocoaのフレームワークの改善に期待するしかありませんが、現状としては、Mac OSらしいアプリを作るのには多少面倒な手続きが必要になることがあります。

■ 情報源
最後に、現在手に入るCocoaの開発情報源を紹介します。情報は豊富にあるとはまだまだ言い難いのですが、徐々に増えつつあります。また、Cocoaで作成されたフリーウェアは、ソースコードが公開されているものが比較的多く参考になります。日本語による情報はもう少し増えてほしいところですが..。

◎ WEBサイト

◇Cocoa (英語)
 http://developer.apple.com/cocoa/
AppleのオフィシャルなCocoaのサイトです。Cocoaに関するドキュメントやCocoaのメーリングリスト(英語)があります。

◇Cocoa Sample Code (英語)
 http://developer.apple.com/samplecode/Sample_Code/Cocoa.htm
Appleが配付しているCocoaのサンプルコードが置いてあるサイトです。

◇Discovering OPENSTEP (PDF)
 http://developer.apple.com/ja/techpubs/pdf/DiscoveringOPENSTEP-J.pdf
アップルが日本語で配付している資料は少ないのですが、最も本格的なものといえば、この「Discovering OPENSTEP」です。名前から分かるようにOPENSTEPの解説なのですが、大半は今でも通用しますのでダウンロードしておいて損はありません。オブジェクト指向についての解説もあります。

◇Nito’s Page
 http://www.fsinet.or.jp/~nito/index-j.html
Cocoa倶楽部というメモリ管理や例外処理についてかかれた記事や、OPENSTEPの詳細な解説があります。

◇HAPPY Macintosh Developing TIME!
 http://www05.u-page.so-net.ne.jp/xd5/mkino/HMDT/
Cocoaについての調査結果をアクティブに発表しているサイトです。サンプルも多く参考になります。

◇Java de Cocoa
 http://underwater.lab.nig.ac.jp/~takaho/computer/osx/index.html
JavaでのCocoaの開発情報は比較的少ないのですが、日本語のサイトではこちらが一番充実しています。

◇Cocoa Dev Central (英語)
 http://www.cocoadevcentral.com/
テーマ毎に短かめのサンプルを用いて解説を行っていて分かりやすいです。

◇Vermont Recipes (英語)
 http://www.stepwise.com/Articles/VermontRecipes/
丁寧なチュートリアルや充実したリンク集があってお薦めのサイトです。

◇Native OS X Application : Cocoa Source Code (英語)
 http://osx.hyperjeff.net/Apps/CocoaSource.html
Cocoaの公開されているソースコードへのリンク集です。大量のリンクがあり、生きた教材であるソースコードを沢山見ることが出来ます。

◇Omni Group (英語)
 http://www.omnigroup.com/
NeXT時代からのデベロッパー。OmniWeb等でMac OS Xのアプリも多数リリースしています。メーリングリストや高機能なフレームワークも配付しています。

◇Cocoaはやっぱり!
 http://www.big.or.jp/~crane/cocoa/
手前味噌になってしまうかもしれませんが、私が書いているサイトです。順に読んでいくことでCocoaを理解できるように書いています。サンプルコードも沢山あります。

◎ 書籍

◇Mac OS Xプログラミング入門 Objective-C
 萩原剛志著 広文社 ISBN4-87778-068-8
残念ながら日本語のCocoa解説書は現在この1冊だけです。タイトルどおりObjective-Cに絞った解説ですので、やや地味な内容ですが、Cocoaに関する知識の地固めには欠かせない情報が豊富にあります。アプリケーションを作るために不可欠なApplication Kitについての解説は少なく、そういった情報に関しては、現在はWeb上から得ることになります。

◇Learning Cocoa (英語)
 Apple Computer, Inc. O’REILLY ISBN0-596-00160-6
現在、唯一のCocoaアプリケーション開発の解説本です。ただし英語です。また、内容的にはAppleのサイトからダウンロードできるPDFの内容が中心です。ですので紙で読みたい方には悪くありませんが、画面で読めればいいという方は、PDFをダウンロードしましょう。

■ 終わりに
いかがだったでしょうか。Cocoaの開発環境は、高機能で効率的に開発が出来ることがちょっとは分かっていただけたのではないかと思います。もし、Mac OS Xのパッケージをお持ちであれば、今すぐにでも始められます。週末にでもチャレンジしてみてはいかがでしょうか。
今後毎月一度のペースで、サンプルを交えたすぐに役に立つCocoaのワンポイントレッスン的なものを書いていきたいと思っています。
[鶴薗賢吾]
関連リンク