Cocoa Archive
Leopard Technology Overview超訳
このエントリーは
を勝手に要約・翻訳したものです。逐語訳ではありません。
見どころ
Xcode、Objective-C 2.0、Core Animation、Image Kit、Instruments
開発ツール
Xcode 3.0
Xcodeは統合開発環境です。プログラム開発は重要なので、最新版のXcodeを洗練したものにするためにずいぶん時間をかけました。特にテキストエディタの機能は大きく改良してあります。コードの折りたたみ、スコープ強調、iChatっぽいメッセージの吹き出し(警告やエラーがブレークポイント同様にわかりやすくなる)などが目玉です。
新しいResearch Assistantは小さなパネルにコードのシンボルに関する関連情報を表示し、作業中にドキュメントを読むのに便利です。詳しい情報が欲しければクリックすると完全なドキュメントが開きます。次にProject Snapshotはプロジェクトの状態を記録しておいて、必要に応じて戻せるものです。
Interface Builder 3.0
Interface BuilderはCore Animationの機能をアプリケーションに組み込むことができます。たとえばiChatのスライディングリスト、Keynoteのようなトランジションを数分で作れます。
Instruments
新登場、タイムラインにあわせたパフォーマンス視覚化ツールで、アプリケーションがどう動いているかわかるようにします。CPU、ディスクIO、メモリ使用量、ガベージコレクション、イベントなどを視覚的に表示します。たとえば、リアルタイムでユーザインターフェース関連のイベントを拾って、それがどうIOやCPU負荷に影響するかがわかります。
Application Technology
Core Animation
Core Animationはダイナミックなアニメーションインターフェースをシンプルなプログラミングモデルで実現するCocoaフレームワークです。流れるようなアニメーションはQuartz、OpenGL、Core Imageで作られています。これは見慣れたNSView似の階層構造です。Leopardの新しいインターフェースはCore Animationで作られています。Core Animationを使うと楽にすごい効果を出せます。スムーズに動くインターフェース、フェードイン・アウト、エフェクトを数行のコードで書けます。Interface Builder 3.0でもCore Animationの設定ができます。
Objective-C 2.0
わずらわしいメモリ管理から解放してくれるガベージコレクタがランタイムに実装されました。また文法も拡張され、たとえばプロパティとかFast Enumeratorがつきました。
解像度非依存
ディスプレイが72dpiという古い仮定をとっぱらいました。高解像度になると高精細にはなりますが、見づらくなるデメリットもあります。そのためにQuickDrawをやめて、Quartzを使う必要があります。
Graphics & Media
ImageKit
ImageKitはCore ImageやCore Animationを使ったCocoaフレームワークです。イメージを見つけたりブラウズしたり表示するための機能を提供します。
OpenGLの改良
OpenGL 2.1になりました。
QuickTimeの改良
H264とか64ビット関連など改良されました。
OSの基盤
64ビット
64ビットアプリケーションが作成できます。OS Xの64ビットモデルはLP64といって、SunやSGIと同じです。64ビットになっても32ビットアプリを実行できます。インテルプロセッサでは64ビットレジスタが利用可能です。
Cocoaプログラミング始めました、その1
- 2007-10-17 (水)
- Cocoa
Cocoaプログラミングを少しやってみた。簡単、分かりやすいと言われるCocoaだけど、確かに本に書いてある通りのことをするのは簡単で「私にもできる」感はあるのだけど、どうも釈然としないものがある。これは頭が古いのだろうか、それとも既存(知っている)本の流れが自分にあわないのか。
まず、Cocoa Applicationプロジェクトを作り「ビルドして実行」を押すとウィンドウが1つ出てくる。気になるのは、なぜ出てくるのかがよくわからない。Interface Builderでnibを開いてWindowsのプロパティから”Visible at launch time”チェックボックスをオフにするとウィンドウは現れなくなる。これはウィンドウ(インスタンス)を作成しないのか、作成するが表示しないだけかがよくわからない。このような細かい疑問がふつふつと湧いてくる。”Release when closed”は閉じたときに(インスタンスを)解放するという意味だろう。ということは、これをチェックしないとウィンドウを閉じたときにメモリリークするのか、それとも使い回すという意味か。NSApplication、First Responder、File’s Ownerあたりは最初に見た方がよさそう。入門書を見ていると、これらの説明は後回しになっている。NSStringのことよりもそっちが気になる。以下学習メモ(間違ってるかも)
File’s Ownerはnibを呼び出す側のこと。NSApplicationインスタンスだったり、自作のクラスのインスタンスだったり。
First Responderはコマンドチェーン関係。Viewなどにメッセージを送って応答しないとnextResponderを次々辿っていく。
Home > Cocoa
- Search
- Feeds
- Meta














