AppleScript
[Wikipedia|▼Menu]
Classic Mac OSからmacOSを通じて継承された唯一のテクノロジーであり[2]、海外を中心に古くから開発者コミュニティが形成され[3]、GUIベースのアプリケーションのコントロールについての知見が蓄積されている。
仕組み

AppleScriptはOSAに準拠したスクリプト言語の一つであり、アプリケーション等のプロセスApple eventを送ることにより自動操作を実現する。通常はコンパイル済みのバイトコードが保存され実行される。このため、基本的にはOSのバージョンやCPUの形式 (68000, PowerPC, x86, x64, Apple Silicon) 、記述した言語(AppleScript英語、AppleScriptフランス語、AppleScript日本語)などに依存しないコードが生成される。

AppleScriptの言語そのものが定義している予約語(複数の単語による連語から構成される)は数十程度と少なく[4]、標準では絶対値を求める機能や三角関数の機能すら持たないが、Scripting Additions/OSAX(Open Scripting Architecture eXtension)[5]と呼ばれる機能拡張書類、あるいはAppleScriptそのもので記述したAppleScript Librariesによって命令を増やすことが可能となっている(サードパーティのOSAXはmacOS 10.14で廃止になった[6])。

AppleScriptはMac OS上のアプリケーション間通信を基礎技術として用いているため、アプリケーションがApple eventに対応していればそのアプリケーションに処理を委ね、その処理結果を別のアプリケーションに対して用いることも可能である。また、現在のバージョンではUser Interface Scripting[7]あるいはGUI Scripting[8][9]あるいはUI Element Scripting[10]と呼ばれる機能を用いて、スクリプトからアプリケーションにメニュー操作やキー入力を伝達することも可能になっている。アプリケーションは、システム経由で送られてきたApple eventメッセージを解釈して対応した処理を行い、処理結果を再びシステムを経由してApple eventメッセージとして返す。

バイトコードインタプリタ型の逐次実行で処理されるため[要出典]、ネイティブコードに比べると実行速度は劣るものの、アプリケーションの機能呼び出しを行わない場合にはスクリプト言語としては十分な速度で実行される[要出典]。ただし、アプリケーションの機能呼び出しはコストも高く、前述のGUI Scriptingを用いたメニューなどの強制操作を行うと、さらに処理コストが増加し、時間がかかる。
ユーザインタフェース

AppleScriptは、簡素なダイアログ (display dialog、display alert)、ノーティフィケーションセンターへのノーティファイ (display notification)、ポップアップメニューからの項目選択ダイアログ (choose from list)、ファイル選択 (choose file)、フォルダ選択 (choose folder)、新規ファイル保存先パス選択 (choose file name) 、プログレスバー表示(Mac OS X v10.10以降。アプレット動作時のみ)などの、目的に特化した簡単なユーザインタフェースを提供している。

これら以外のユーザインタフェースを利用するために、現在利用できる手段で一番簡単なやり方は、Mac OS X標準搭載の「スイッチコントロール」でパネルを作成し、パネル内のボタンに対してアクション「AppleScript」を割り当てておくというものである。

Adobe InDesignなどの一部のアプリケーションでは、簡易的なユーザーインタフェースをAppleScriptのプログラムから動的に生成する機能を備えている。

本格的な、自由度の高い自作のインタフェースを持たせるには、Xcode上で「AppleScript App」プロジェクトを作成し、その中にAppleScriptコード(AppleScriptObjC)を記述する。Xcode上で一般のアプリケーション開発と同様にユーザインタフェースを作成できる。コントロール(GUIの部品)が操作されると、AppleScriptコード中の対応するイベントハンドラが呼び出される。
開発環境

macOSにはスクリプトの編集・実行ツールであるスクリプトエディタMac OS X v10.0?v10.4スクリプトエディタMac OS X v10.5?v10.9はAppleScriptエディタ(スクリプトエディタの名称が変更されたもの)、Mac OSでは『スクリプト編集プログラム』)が付属する。

スクリプトエディタにAppleScript対応アプリケーションのアイコンドラッグ・アンド・ドロップするとAppleScript用語辞書が表示され、これを参照しつつアプリケーションのコントロールを行う処理を記述する[11]

スクリプトエディタにはブレークポイント設定や変数内容のモニタリングなどの機能はないため、これらの機能を利用したいユーザーは ⇒Late Night Software社の「Script Debugger」を用いる必要がある。また、Cocoaオブジェクトのログ表示やAppleScript Librariesに添付するAppleScript用語辞書の編集についても ⇒「Script Debugger」で行える。

AppleScriptへのコードサインはApple純正のスクリプトエディタおよびScript Debuggerで行うことができる。Mac App StoreにAppleScriptで作成したアプリケーションを提出するには、Xcode上で記述・コードサインする必要がある。

その他、テキストで書いたスクリプトをコマンドラインからosascriptコマンドでコンパイル・実行することも可能である。

Apple純正の統合開発環境Xcode(旧Project Builder)上でAppleScriptによるアプリケーション開発を行うこともできる。


次ページ
記事の検索
おまかせリスト
▼オプションを表示
ブックマーク登録
mixiチェック!
Twitterに投稿
オプション/リンク一覧
話題のニュース
列車運行情報
暇つぶしWikipedia

Size:71 KB
出典: フリー百科事典『ウィキペディア(Wikipedia)
担当:undef