Photoshop UXP Plugin 2023開発環境

UXP

2023年も終わりなのでここ最後にUXPのここ数ヶ月、最近更新された機能とか細かい仕様についての記事です。

Photoshop最近更新された機能

CC2024のメジャーアップデートに合わせるように以下のような機能が更新されました。

  • action recording

    PhotoshopアクションからScriptを実行できる機能が実装されました。詳しくは詳しくはこちらの記事へ。
    本製品版でも使用できます。

  • Adobe UXP Developer Tools ver2

    開発に仕様する専用アプリ、UXP Developer Toolsがver2にアップデートされて大幅に更新されてテキストエディターも搭載されました。簡単なプラグインはUXP Developer Tools上でも作れます。
    詳しくはこちらの記事へ。

  • Spectrum Web Component対応

    UXP Spectrumとは別にAdobeのデザインシステムAdobe Spectrumも限定的ですがUIで使えるようになりました。
    詳しくはこちらの記事へ。

ベースのJavaScript

ExtendScriptと比較してECMA2015に対応して新しいという話はよく聞きますがじゃあ具体的にどこまで新しいECMAに対応しているかと言うとこれまた
公式のドキュメントでも触れられていなかったります。と言うわけでちょっと調べてみましたが結論から言うとPhotoshop2024(25.0)の時点でECMA2022位は対応してそうです。なので結構新しいです。
以下、具体定的に試してみました。動作環境はPhotoshop2024(25.0)です。

Arrayメソッド

atメソッドが対応しています。ECMA2022からの実装なので基本これ以前の機能は使えると思います。
ただ、やはりfindLast、findLastIndex,非破壊的なtoSplicedメソッドはまだ使えませんでした。
ちなみにString.atメソッドも動きました。

Error cause

エラーコンストラクターのcauseプロパティにメッセージとは別途情報を付与することができます。キャッチしたエラーが莫大なスコープ内からのものだとconsoleを見ただけだとどこが原因で起こっているのか分かりにくくなりますがこれを解決してくれます。

classプライベートフィールド、static

class のプライベート、staticも対応しています。
よりclassらしい書き方が素のJSで書けます。

CSS

何度も述べているい気がしますがCSS及びHTMLの部分はモダンブラウザーに全く追いついていない状態です。なんせ未だにanimation CSSもgridLayoutも使えないので現役のフロントエンジニアとか
この環境で開発してくりと言ったら顔が真っ青になりそうな環境です。
こちらのコミュニティのディスカッションを読む限り現状ブラウザ、クロームベースのシステムでない以上モダンブラウザーと横並びになる日は永遠と来ないと思った方が良さそうです。Canvasも対応したとはいえこの実装だけでも結構時間がかかってたのでその他の基本的なシステムも実装にかなり時間がかかっているので大きな課題としてまだまだ残りそうです。
また細かい部分では徐々に追加されているCSS機能もあったりするらしいのですが
公式のドキュメントに全く反映されてないので有志の開発者が自発的にまとめようとしている状況です。CSSに限らずJSも含めてそうですが仕様のまとまったドキュメントが
ないので仕様がブラックホール化してるのが現状です。

2023年末現在Photoshopベータ版は24.5

しかしアップデートのページはここ二ヶ月くらい更新されていません。いつ頃更新されるのでしょうか。
ちなみにInDesignに至っては公式APIのドキュメントが未だにclass毎にまとまっていなかったりするので読みにくことこの上ないです。

参考サイト

JavaScriptのES2023・ES2022の新機能まとめ

Beer 寄付してサイトを応援する。