見出し画像

[#7] AppleScriptは普及しないのか?

初出: MacPower 2001年 1月号

10月号ではさんざんAppleScriptを褒めたたえた。「素晴らしい環境にこんなステキな未来が待っているんだぁ〜」という気楽な内容だった。しかし、現実はそれほど安心できる状況ではない。皆さんの周囲に、AppleScriptでスクリプトを組んで活用している人がいるだろうか?自分でスクリプトを書かないまでも、他人が組んだスクリプトを利用している人を見つけることができるだろうか?いや、無理だ。AppleScriptが使われない一番の理由は、スクリプトを書ける人が少ないということだ。これでは、スクリプトがあまり流通しない。今回は、この現実を掘り下げてみよう。

AppleScriptが利用されないのはなぜだろうか? AppleScriptに対応したアプリケーションが普及していないのか?そんなことはない。かなり充実している。テキストエディターでは、米ベアボーンズ・ソフトウェア社の「BBEdit」や日本製の「Jedit」および「LightWay Text」もスクリプタブルだ。電子メールソフトでは、「Eudora Pro」や「Outlook Express」がAppleScriptで操作できる。Outlook Expressの開発元である米マイクロソフト社は、古くからAppleScriptを支持し、製品をしっかりと対応させてきた。もっとも、対応当初の「Microsoft Excel」はひどく、VBA[*1] の文法をそのままAppleScriptに適用しただけの代物だったのだが(笑)。

こうしたアプリケーション用のAppleScriptを組んでみて、初めて気付くことがある。それぞれの場合で、スクリプトの書き方が微妙に異なってくることが多いのだ。単純に用語の使い方が違うアプリケーションもあるが、もっと根本的に異なるものすらある。これは、各アプリケーションへAppleScriptを実装する方法に相違があるためだ。

AppleScriptを活用していると、単体のアプリケーションで完結するスクリプトよりも、ほかとの連携を図るものを組みたくなる。そうしたときに、各アプリケーションでとに微妙なクセが出てくると都合が悪い。同じスクリプトでも、Aというアプリケーションでは一度変数に代入しないと以後の操作ができないとか、Bというアプリケーションでは選択範囲を設定しないと何も行えないなどと、決まり事がそれぞれ違う。すると、スクリプトを手軽に組めなくなってしまう。この点が、AppleScriptの普及を大きく妨げているのではないだろうか。

AppleScriptは、システムとアプリケーションの連携作業によって初めて機能する。システムは、「AppleEvent Manager」や「Object Support Library」を用意して、アプリケーションがスクリプト機能を搭載する手助けをする。そしてアプリケーションは、これらの機能を使って固有の実装を行う。次に、どういう機能を搭載したかを表(機能拡張)にしてAppleScriptに渡す。するとAppleScriptは、機能表に従ってユーザーが入力したスクリプトをコンパイル[*2]して、アプリケーションに実行命令を出す。

アプリケーションは、基本的には米アップル社の定めた規格どおりにAppleEventやObject Support Libraryを組み込む。だが、規格と実装は別物だ。実装とは、プログラマーが規格を解釈してプログラミングを行った結果なのだ。プログラマーの解釈次第で、規格のインプリメントの仕方は異なる。例えばWebブラウザーは、どれも同じHTMLという規格に沿ったページを閲覧するためのソフトだ。だがご存じのとおり、製品によって表示が違ってくる。これも、実装結果が異なることの現れだ。

このように、プログラマーの解釈に幅があることよって生じる混乱は大きい。規格は、あくまでも一般的なケースを想定したものでしかない。だから、実際に適用する場合に解釈の違いが生まれるのだ。

だが、規格とは本来そういうものだ。組み込み時に自由度がない規格は、発展の余地がないことになる。規格なんて、その程度で構わない。問題は、アップル社がAppleScriptの実装例を示すためのアプリケーションをあまり提供していないことだ。いや、少なくはないが、ほとんどがユーティリティーソフトなのだ。ユーティリティーソフトは通常のアプリケーションとは違って、「ある機能を実行しろ」という単純なスクリプトになることが多い。だから、ほかのソフトと連携して動作するときでも、インプリメントの仕方の違いが気にならないのだ。これでは、われわれは参考にできない。書類を扱う普通のアプリケーションをスクリプタブルにしてほしい。典型的なものとしては、はなはだ役不足ではあるが 「SimpleText」になるだろう。だがなぜか、SimpleTextはAppleScriptに非対応だ。

もし早い段階でSimpleTextがスクリプタブルになっていれば、開発者はそれを手本にして自分のアプリケーションをAppleScriptに対応できただろう。サンプルプログラムやソースコードなど、実際の現場で使われていないものをたくさん用意されても役に立たない。手荒いユーザーの文句とともに実装方法が成長していくようなアプリケーションでないと、手本にはならないのだ。アップル社は、それを理解していなかったのではないか。同社特有のお坊ちゃん的な考えの甘さが、現れてしまったのだと思う。

われわれデベロッパーは、自分勝手に開発しているわけではない。ほかの人がいいものを作れば進んでまねをする。それを共有できる喜びが得られるのが、Mac関連デベロッバーのコミュニティーなのだ。アップル社には、参考になるアプリケーションを作ってもらいたい。

あぁ、また最初の話題で終わってしまった。拡張性や色気のなさについても書きたかったのだが。次に続けよう。たぶん.......

バスケ
Mac関連のデベロッパーで、シエスタウェア代表取締役。今回の原稿は「Microsoft Word 2001」を使って書いてみた。結構いいんじゃない。でも、MSゴシックで書く文章はもうWindowsそのものだなあ。問題はフォントなのね。

[*1] VBAマイクロソフト社のソフトでマクロ言語を利用するための機能。
[*2] コンパイルプログラム言語で記述したソースコードを、コンピューターが理解できる機械語に一括して翻訳すること

編集・三村晋一

この記事が気に入ったらサポートをしてみませんか?