
iOS上の JavaScript実行環境であるScriptable を使ってみた。 Scriptable で検索すると Unity の Scriptable Object が多く見つかりこちらの Scriptableはまだあまり見かけないが、とても便利なので紹介してみる。
ちなみにScriptableに似たものとして、Pythonista がある。Pythonista はiOS上のPython実行環境で、iOSの機能も呼び出すことができてとても便利である。有料アプリで、App Storeからダウンロードができる。こちらはすでにかなり有名だが、Scriptable も負けずに便利である。
もともとScriptableを発見したのは、自作iOSアプリからWebページのスクレイピングを行うにあたり、iOSアプリ上のWebViewからJavaScriptを実行しようとしたところいろいろな制限があり開発に苦労したのと、そもそもiOSアプリからstringByEvaluatingJavaScriptFromString でJavaScriptを実行した場合ログも見られずデバッグが難しいため、他の方法で実行してデバッグしたくなったためである。最初はMacBook上のSafariで実行していたが、iOS上で同じJavaScriptを動かすとうまく動かなかったりするので最初からiOS上で動かす方法として、Scriptableを選択した。
Scriptable で実行すれば、その場でLogを確認することができる。また、iCloudにスクリプトを置けるため、Macで好きなエディタで編集して、iPhoneで実行することが可能だ。自分はスクリプトの編集には Visual Studio Codeを使っている。

Scriptableは、ドキュメントのページ Scriptable Docs にある通りiOSの様々な機能を呼び出すことができる。
情報が少ないのが問題だが、Reddit のページ Scriptable – iOS や、ユーザ向けの AutomatorsのページLatest Scriptable topics – Automators Talk も参考になるし、質問するとほどなくしてまともな回答がくる。
Pythonistaと同様、ScriptableでApp Storeで公開できるアプリを作ることはできないが、自分が便利に使うためのちょっとしたアプリ相当の機能は作れそう。
しばらく遊べそうなアプリである。