ModuleLoader とは ?
ModuleLoader は AppleScript のライブラリシステムです。
ライブラリを活用することによって、規模の大きなプログラムを複数のファイルに分割して整理したり、コードをプロジェクト間で共有して開発を効率化させることができます。
OS X 10.9 (2013年10月)に AppleScript にライブラリ機能(AppleScript Libraries)が追加されましたが、ModuleLoader は、それ以前の2006年から継続的に開発/メンテナンスされてきたライブラリシステムです。OS X 10.9 以前から AppleScript Libraries と同等以上の機能を提供してきました。
現在は、AppleScript Libraries と併用することにより、以下の機能を追加することができます。
- コンパイル時に全てのライブラリの読み込み/保存
- 実行時にはライブラリとModuleLoader を不要にすることができます。配布に便利な機能です。
- 任意のタイミングで強制的なライブラリの読み込み
- スクリプトエディタで開発しているスクリプトでライブラリを使用しているとします。AppleScript Libraries の場合は、スクリプトをコンパイルし直さないと、ライブラリの再読み込みが行われません。ModuleLoader を使うと、実行時に強制的にライブラリの再読み込みを行えます。ライブラリの開発時に便利な機能です。
ModuleLoader は AppleScript Libraries とは、独立したライブラリ機能を有しています。独自のライブラリ構文を用いることにより、以下の機能が使えます。
- テキストファイルやアプレット、ドロップレットもモジュール/ライブラリとして扱えます
- AppleScript Libraries は、スクリプトファイル(.scpt, .scptd)ファイルしかライブラリとして扱えません。ModuleLoader は、テキストファイルの AppleScript ソースコード(.applescript)や、アプリケーション形式のアプレット/ドロップレットをライブラリとしてロードできます。
- Library/Script Libraries 以外にも、ライブラリの置き場所を作ることができます(LocalLoader 機能)
- プロジェクト毎に任意の場所にライブラリを作ると便利なことがあります。
- ライブラリの読み込み場所を指定することができます。