PhotoshopUXP開発を始める

head img
    Photoshop
    developerTool

PhotoshopUXPの開発に着手する。

この記事では初めてUXPの開発に着手する手順について解説します。UXPの開発において重要な Adobe UXP Developer Tool(以下DeveloperTool)の使い方からUXPのファイル構造まで解説します。 最初にPhotoshopの県境設定のプラグインの開発者モードのチェックをオンにします。これをオンにしないと Photoshop上のプラグインの開発の機能が動きません。オフからオンにしたら再起動してください。

環境設定
開発モードをチェック

その後はDeveloperToolをダウンロードしてください。DeveloperToolはver2.0以降より以前のバージョンと別アプリケーション扱いとなっております。

developerTool
DeveloperTool

立ち上げると上記のような感じで開かれます。ただし初めて立ち上げた場合はアプリのリストは空欄になっていると思います。 とりあえず開発に着手しましょう。今回CEPと違ってpluginを特定のディレクトリーに置かないといけないわけではないので自分でUXPプラグインの保管場所を作りましょう。

createPlugin

このような画面が出てきます。 おおよそ想像がつくと思いますがPluginの名前、id、バージョンを決めてHost ApplicationはPhotoshopを選択、 PhotoshopのHost Application Versionを選択。 入力が終わったらSelect Folderボタンを押してください。

plugin files

フォルダーを選択すると上記のようなファイルがID名のフォルダー内に作成されます。以前はフォルダーを自動で作成してくれませんでしたが最新のバージョンですと このようにフォルダーを作成の上一連のファイルを生成してくれます。 このデフォルトの状態の時点で簡単なサンプルコードが埋め込まれているので読み込んでPhotoshop上に表示してみましょう。 作成したプラグインがDeveloperToolのリスト上に表示されると思います。 Plugin右側のメニューボタン押すとサブウインドウが立ち上がるのでLoadをクリックします。 するとPhotoshop上にUXPパネルが表示されます。

load plugin
プラグインを読み込む
panel
パネルの初期状態

上記のようなパネルが表示されたら成功です。 Change Colorボタンを押すとHello worldの色が変わります。 アクティブな状態のpluginはDeveloperTool上でLoadedと表示されます。 再度右側のメニューボタンを押すと選択できなかったボタンが選択できるようになっています。

DeveloperTool 16

DeveloperTool16以降いくつかテンプレートが選べるようになりました。

select template
いくつか種類があるがデフォルトは select template

layer starter

これ以外にも幾つかのサンプルがあります以下は一番シンプルなレイヤー名を読み込むだけのプラグインです。一から開発したい場合はこのlayer starterがいいでしょう。 その他Photoshopのサンプルプラグインの詳細はGit Hubから確認できます。

layer starter
layer starter

Playground

DeveloperTool ver2.0よりPlayground機能が追加されました。この機能はDeveloperToolをテキストエディターとして使って編集内容を即座に アプリケーションで反映させてプラグインとして使えるようにできる代物で簡単なプラグインをテストで開発したい場合などは即座に反映、編集できる ので便利でしょう。

アプリケーション選択画面
アプリケーションを選択する

最初に開発するアプリケーションを選択します。その後デフォルトのテンプレートが表示されるのでそのまま開発、右上の三角ボタンを押すと アプリケーション上で開発中のプラグインを読み込みます。

開発中の様子
このまま開発でき、即座に反映される

このまま実際のプラグインとして使いたい場合は右上のDownloadボタンよりファイルの書き出しもできます。ただしこのエディター自体基本的なファイル構成のみ 編集できることとTypeScript等は対応していないのである程度込み入った事をやりたい場合はやはりVSCodeなどで編集するしかありません。

developer consoleのページからダウンロード

developer consoleのページからプラグインのデータを登録してそこからプラグインの 雛形をダウンロードすることもできます。Adobe market placeで配布する場合ユニークなid番号が必要になるのですが これもdeveloper consoleから取得できるので 配布する予定がある場合はここからプラグインの雛形を作るのが良いでしょう。

UXP pluginのファイル構成

ファイル構成ですが以下のようにCEPに比べてかなり簡素になっている印象があります。ただ CSS、アイコン画像、gitignoreと追加してゆくと結局それなりの数のファイルになりますが。

  • index.html
  • index.js
  • manifest.json
  • package.json

index.htmlはパネルの表示、index.jsはパネルおよびアプリケーションを動かすscriptファイルと CEPと同じですね。package.jsonはまんまnpm packageです。Reactやwebpackのパッケージをインストールする 場合はそのままインストールできます。今回一番重要なのがmanifest.jsonです。CEPではxmlファイルでプラグインの ベースの設定を決めていきましたが今回からjsonファイルになりました。CEPでxmlを触った経験がある方なら大体初見でも 何がどう影響するのかわかるとは思います。

主にパネルのサイズ、対応アプリケーション、バージョンといった設定が関わっているのがわかります。上記のコードはv4のmanifestですが 今後バージョンが上がって行く度に仕様も変わるでしょう。(実際v5はセキュリティ関連の設定が大幅に増えた)

CSSおよびAdobe Spectrum

UXPからSpectrumUXPがデフォルトで使えるようになっています。 CEPにおけるtopcoatのような位置付けです。特に特別なCSSファイルやJSファイルがなくともSpectrumの パーツが使えます。特にこだわりな無い場合はそのままSpectrumのパーツを使うのが無難でしょう。

パネルデザインの手引き

パネルを開発する上でのデザインも公式である程度解説されています。 パネルの中の上下左右 に開ける余白の量からパネルの幅の設定など。pluginを開発、Adobeのサイトで登録する場合は 承認に向けてデザインガイドに沿って開発した方が良さそうです。

参考サイト

  • 公式サイトリファレンス
  • You Tube Davide Barranca
  • 公式サイト manifest v4
  • 公式サイト manifest v5
  • 公式サイト Developer Tool
  • designing for Photoshop
  • Spectrum Web Components

DTP script site city-pop mix

この記事をシェア
Facebook
Twitter
B!