タイトルCocoaアプリケーションのフレームワークはイベントモデルに対応カテゴリーAppleScript, Mac OS X
作成日2000/2/24 18:0:20作成者新居雅行
Mac OS XのネイティブなAPI環境であるCocoaでは、フレームワーク自体がAppleEventのオブジェクトモデルを内包しているため、従来よりもAppleScript対応が容易になることになりそうだ。Macworld Expo/Tokyo 2000開催中にデベロッパー向け行われた説明会で明らかになったものだ。また、AppleScriptのプロダクトマネーじゃであるSal Soghoian氏、AppleScript Technology ManagerのJason Yao氏とのインタビューでも明らかにされた。
Cocoaアプリケーションを作成するためには、用意されたフレームワークを利用するのだが、フレームワークのコンポーネント自体がすでにAppleEventを受け付けるようになっているという。おそらく、AppleEventのオブジェクトモデルとして手軽に利用できるようになっていることと、イベントをハンドリングする機能が組み込まれているものと思われる。たとえば、テキスト編集やオブジェクトを扱うコンポーネントがAppleScriptに対応できる状態で提供されているそうだ。つまりはフレームワークに用意されたコンポーネントを使う限りにおいては、最初からAppleScript対応していると考えていいようだ。
現在のaeteリソースに対応する用語辞書情報については、Cocoaでは大きく変わり、テキストファイルでその情報を所持させることになる。Cocoaから見たファイルシステムにはリソースというものが存在しないため、こうした手法を使うことになるそうだが、土台がUNIXであるという点にも関連しているそうだ。この用語辞書情報をおさめたテキストファイルは、Rezで処理するリソース定義ファイルのフォーマットのようなものだそうだ。インタビュー中に、このフォーマットをXMLフォーマットにすれば、さまざまなツールを用語作成に使えるのではないかと、筆者より提案をした。なお、アプリケーションとは別にファイルが必要になるが、Mac OS 9から導入されたパッケージを利用すれば、利用者には1つのアイコンだけが見えるようにもできる。
なお、CarbonでのAppleScript対応は、従来とおり、aeteリソースを記述し、イベントのハンドリングプログラムを基本的には作成する必要がある。Cocoaでも全く何もしなくてもAppleScript対応できるということにはならないだろうが、従来のAPI環境にくらべてより少ない労力でAppleScript対応ができ、しかも、単一コンポーネントに対しては均一なスクリプト環境を構築できると言う大きなメリットもある。Cocoaアプリケーションでは、AppleScript対応がより多くのソフトウエアに広がることが十分に予想できる。
関連リンク