現在、GUIを伴ったAdobe系スクリプトを作成する場合、HTML5+CSS3+Javascriptをベースとする「CEP(Common Extensibility Platform)」環境で作成するのが主流になっています。

これはExtendScript単体(ScriptUI)で開発するよりも若干敷居が高いものになりますが、Webページと同じ要領で自由度の高いGUIが作成でき、CCアプリケーションでドッキング可能なExtensionパネルとして機能させることが可能です。

CEPを大雑把に説明するなら、「各CCアプリケーションがWebブラウザのランタイムを内蔵し、それをパネルウィンドウとして出力する仕組み」と言えるでしょう。そのベースになっているのは組み込み用の「Chromium」で、JavaScriptの実行環境は「V8 JavaScript Engine」です。

とどのつまり、それぞれのCCアプリケーションに「google Chrome」が内蔵されているようなものです。これによって、前述のHTML5+CSS3を使ったGUIはもちろん、既存の「jquery」や「Node.js」といったライブラリを使ったExtensionが比較的簡単に作成できるようになりました。

なお、このCEP環境で開発されたExtensionが動作するのは「CC(2013)」以降になります。

 

<動作イメージ>

まず始めに、CEP Extensionの動作イメージを把握しておく必要があります。

重要なポイントは、CEPパネルはあくまでWebブラウザと同等のGUIや外部通信環境などを提供するだけで、実際にアプリケーションのオブジェクトを操作するのは、これまで通り「ExtendScript」であるということです。

この2つの異なる実行環境をつなぐために、CEPパネルには拡張されたChromiumが搭載されています。そして、ExtendScriptとやりとりするために「CSInterface.js」というライブラリがAdobeから提供されています。

 

<製作イメージ>

CEP Extensionの作成には複数のファイルが必要になりますが、後述する開発環境を整えれば必要なファイル類は新規プロジェクト作成時に揃えてくれます。

参照:開発環境を構築する

このひな形はすでにExtensionとして機能するようになっていますので、それらファイル群の関係性と前述の動作イメージを理解すれば、それほど戸惑うことはありません。

 

<雑感>

パネルがWebブラウザ化したことにより、汎用技術を流用することができるので「Extension作成のすそ野が広がった」とされています。まったくの新規参入者にとっては汎用技術は資料が豊富なので、その点で歓迎されることでしょう。

しかしAdobeは、せっかくパネル化してCCアプリケーションに融和できる環境を作っておきながら、その見た目を決める標準CSSファイルといったものは用意していません。

なので、CCアプリケーションになじむような見た目にしたい場合は、それっぽい見た目になるようなCSS設定を独自に用意する必要があります。

 

追記:

誰も作ってくれないので……CSS作成のわずらわしさを軽減するためのライブラリを作成しました。すべてのUIに対応しているわけではありませんが、HTMLに不慣れな人にとってはかなり楽ができると思います。

参照:Nakatoji UI ライブラリ

 

Joomla templates by a4joomla