Objective-Cの勉強のためのオープンソース
Objective-CはMacintoshやiPhoneのアプリケーションを開発に最も使われている言語です。Cocoaフレームワークをと密に接していることを除いても、非常に柔軟で記述が楽な、優秀な言語だと思います。
しかし、いかんせん情報が少なく、最近では本もだいぶ出てきましたがそれでも十分とは言えない状態です。
そこで、Objective-CとCocoaの勉強のために何ができるかと考え、オープンソースのアプリケーションのソースコードをのぞくのが一番だろうと思い、その中から有名なものをいくつかリストアップしてみることにしました。
まだすべてのソースコードをチェクした訳ではないので、一部勘違いなどがあるかもしれませんが、ご容赦ください。
なお、ここに挙げたすべての情報は "CocoaOpen" に掲載されています。
この記事では有名なもの、コードが有用そうなものを画像とともに紹介します。
Adium
Cocoa open source IM alternative to iChat/AOL IM/Yahoo IM/MSN IM/Proteus/Fire.
言わずと知れたインスタントメッセンジャーアプリケーションです。IRC、MSN、Skype、最近ではFaceBookのチャットまで使えるようです。
ネットワーク通信を行うコードが参考になりそうです。
Camino
Web browser wrapping a Cocoa UI around the Mozilla HTML rendering engine. Largely done in ObjectiveCPlusPlus
CaminoはGeckoエンジンを搭載した、高速なウェブブラウザーです。
完全にCocoa製ということなので、Mozilla Firefoxのコードを読むならこちらを読んだ方がいいかもしれません。
ちなみに、記述言語は上にもあるように Objective-C++ です。
Colloquy
An IRC & SILC chat client based on Irssi's core (wrapped in the ChatCore framework)
デザインがなかなか奇麗なIRCクライアントです。最近ではiPhone盤がリリースされるなど、活動が未だに活発なもののひとつです。
ChatCore フレームワークなるものを利用しているようです。
Snatch.app
Open-source DVD ripping program based on mplayer for Mac OS X
DVDのリッピングソフトです。詳細はわかりませんが、コードを眺めるだけでも面白そうです。
http://impulsedev.sourceforge.net/
TexShop
TeX previewer written in Cocoa
LaTeXの編集&プレビューソフトです。僕も頻繁にお世話になっています。
外部のプログラムを利用する方法や、印刷周りが参考になりそうです。
http://darkwing.uoregon.edu/~koch/texshop/texshop.html
ToastMount
Mount ISO and other disk images on your desktop with drag-n-drop
ISOイメージをマウントするアプリケーションです。
Snatch.appと同様に、あまり情報が多くないもののひとつだと思います。
http://toastmount.sourceforge.net/
他にも有名ではないものの、有用なコードがありそうなプロジェクトがいくつかありました。もっといいものがありましたら、ぜひ教えてください。
今回はこんなところで。
では。