Adobe CEP11 2022年の開発環境
UXPの裏で影が薄くなってきていますがまだまだCEPはAdobeアプリケーション内でも主流ですし当分は現役でしょう。しかし終わりの見えてきたCEPも未だに情報が少なく開発に困ることが少なくありません。というわけで今回はライブラリ関係とjs実行環境関係について触れたいと思います。
JSON2
ECMA3のExtendScript側からオブジェクトをパネル側に返すときに必要なJSONのPolyfillです。(詳しくは過去の記事参照。) douglascrockford氏の公開しているGitHubから使わせてもらいましょう。
Vulcan.js
CEPパネルの相互的な通信を可能とするライブラリです。(詳しくは過去の記事へ)異なるアプリケーション間でも通信可能。公式のAdobeCEPのGitHubより入手できます。
AIHostAdapterプラグイン
Illustrator上でユーザのアクションをイベントとして登録できるプラグインです。Mac,Win各OSに対応したプラグインが公式のGitHubよりダウンロードできます。(詳しくは過去の記事参照)ただしプラグインとは別にイベントのコンストラクターの定義されたライブラリが無いとどうやって動かすのか検討もつかないでしょう。該当のライブラリ(jsファイル)をgistにアップしています。
CSInterface.js
VsCodeのCC Extension Builderから作成する場合CSInterfaceのバージョンは9.0になっています。最新のバージョンは公式のGitHubよりダウンロードできますが正直何が変わったのか自分でもわかっていません。CC Extension Builderから生成されたコードそのままでもおそらく問題ないと思います。
CSSとES
公式のドキュメントを確認するとCEP11はChromium88,Node.jsのバージョンは15.9.0がベースになっています。2022年3月現在の最新の環境から比較すると1年以上前のシステムになりますが少し動作を確認してみました。manifestのCEPのバージョンを10にして(11だと動かなかった)以下Photoshop2022で実行。
flex gap, grid gap
以下のCSSは動きました。gapが使えるとレイアウトの間を整えるがグッと楽になります。
aspect-ratio
aspect-ratioはChrome88からの対応なのでギリギリ使えるみたいです。CSSは余程凝った事をしない限り当分は困ることはなさそうです。
ES2021
ESの環境ですが2021までは動くみたいです。以下実行確認済み。
数値の_区切り、replaceAll,Null 合体代入等使えたのでES2021までの環境は整っているみたいです。当たり前ですがatメソッド、hasOwnメソッド等は動かなかったのでES2022に関しては全く使えません。
以上CEP11の開発環境でした。勿論ドキュメントを確認すれば実行テストするまでもないですが何かの参考になれば幸いです。