macosのアプリをswiftでコントロールするscriptarian
TRANSCRIPT
Apple純正 GUIアプリの操作
サードパーティ製 GUIアプリの操作
アプリのGUI強制操作(GUI Scripting)
Shell Scriptの呼び出し
RESTful APIの機能呼び出し
サードパーティ製 マクロからの呼び出し
(Office, FM)
GUIベース アプリ開発
Cocoaの機能呼び出し
AppleScriptの応用エリア
アプリ内のScriptメニューからの呼び出し
音声認識呼び出し
障害者サポート系機能
Apple純正 GUIアプリの操作
サードパーティ製 GUIアプリの操作
アプリのGUI強制操作(GUI Scripting)
Shell Scriptの呼び出し
RESTful APIの機能呼び出し
サードパーティ製 マクロからの呼び出し
(Office, FM)
GUIベース アプリ開発
Cocoaの機能呼び出し
Scriptarian(Swift App Control)がリーチするエリア
英語圏でしかテストしていない場合には、日本語などの取り扱いに問題が出る(未知のバグ)
アプリ内のScriptメニューからの呼び出し
OSA言語ではないため、スピードは速いかもしれないが、運用面では制約が生じる
来年になったらSwiftのバージョンが上がって、使えなくなるプログラムが多数出てくる
音声認識呼び出し
障害者サポート系機能
通常のSwift環境(Xcode)で
できないわけではないが 周辺補助ツールがないので とてもやる気が起きない
ScriptarianのコードJXAよりは読みやすいかもしれない
AppleScriptの代替ではなく、JXAの代替に見える
フィルタ参照が使えるのかがキモ(JXAでは使えない)
var Safari = Application("Safari"); var win = Safari.windows; // ウィンドウを取得する var url = win[0].currentTab.url(); // 最前面のウィンドウのアクティブタブのURLを取得する Safari.includeStandardAdditions = true; // 標準コマンドを使用可能にする Safari.displayAlert(url); // アラートダイアログを表示する
■JXA(JavaScript for Automation)の実例