UXPのロードマップが出ましたね。InDesign関連をかいつまんで
「InDesign JavaScript教室 第3期」ですが、明日・明後日にも募集を開始しようと準備を進めています。
前回まではAdobe JavaScript ≒ ExtendScriptだったんですが、InDesign 18.0からはExtendScriptに加えてUXPスクリプトも使えるようになりました。そのため「JavaScript教室」は内容を正確に表していないことになったのですが、名前は変えずに行きます。というのも、実はUXPスクリプトにも少し触れます。皆さんの環境がバージョン18になってUXPスクリプトが使えるのはまだ先でしょうから、今回はExtendScriptが中心で、ちょっとだけUXPスクリプトの話をするという段階です。ただ、いずれ(5~10年後?)UXPスクリプトに切り替えるときが来るでしょう。
ということで募集ページを作っている途中なんですが、このタイミングで今年のUXPのロードマップが出てきました。
ここではUXP本体とPhotoshop、XD、InDesignについてのロードマップが提示されています。その中からInDesignに関するところをピックアップして紹介します。その前に「UXPとは何ぞや?」という方はこちらの記事を先に読んでくださいませ。
UXPにもバージョンがありまして、今開発中なのはバージョン7.0です(ですから現行は6.xと思われるのですがどこで確認したらいいんでしょうね)。利用可能な時期については次のように記載されています。
UXP v7.0
Already available with Photoshop v24.4 (Beta) and soon to be integrated with Adobe XD (tentative June) and InDesign (tentative July), UXP v7.0 has major updates and new features.
つまり
- Photoshop → 24.2Betaで利用可能
- XD → 6月(仮)
- InDesign → 7月(仮)
ですね。XDはまだ生きてるみたい。
InDesignに関する次の記述は多くのことを示唆していますが、まだ謎です。
Future releases (UXP > v7.0)
We plan to add new features and enhance existing ones for the rest of the year. Here’s how:
Exciting enhancements to InDesign UXP Scripting
Last year we unlocked the support for UXP Scripts in InDesign v18.0. With InDesign v18.4 (tentative release date — June) we plan to release the following set of enhancements.
- InDesign Server (IDS): UXP scripts will be able to take arguments and return value from/to the client.
- InDesign Cloud Service (IDCS) will support UXP scripting.
UXP 7.0の後で追加される機能のようですが、次の内容があります。
- InDesign 18.4が6月(仮)に出る
- InDesign ServerでUXPスクリプトがサポートされる
- InDesign Serverでは引数を持ったり値を返すことができるようになる
- InDesign Cloud Service (IDCS) というものが存在する
まず思ったのが「日付が矛盾してる?」ということです。上の方の記述で「UXP 7.0は7月ごろに出るInDesignで利用可能」と書いているのに「6月ごろに出るInDesign 18.4で7.0後の機能追加がある」と書かれています。でも、上の記述はUXPのもので、下の記述はUXP Scriptingのもの、ということならば矛盾していないのかもしれません。英語には自信がないので読み間違えているかもしれません。誰か教えてください。
「InDesign Cloud Service (IDCS)」については初耳です。これ何でしょうね。
この18.4からUXPScriptの書き方が変わります。「すでにバンバンUXPScriptを書いてるぜ」って人はそういないと思いますが、そういう人にとっては今まで書いていたものが動かなくなります。
従来(18.0Beta~18.3)の書き方
let doc = app.documents.add();
18.4以降の書き方
let idDom = require("indesign"); let doc = idDom.app.documents.add();
Photoshopと同じように、DOMを呼び出す行を追加しなければなりません。 "indesign" のところはバージョンを指定して "indesign_18.0" とすることもできます。(これ「let app = require("indesign").app;」と書けるんなら1行追加だけでいけそうなんだけどな)
あと、イベントリスナとScriptMenuActionがサポートされる予定です。これらはExtendScriptでサポートされているものが未実装だったので、だんだん追いついてきているという感じですね。記述にはないですが、Photoshopの方でalert()、prompt()、confirm()が追加されたので、いずれ追加される可能性が高いですね。
UXP Plugins for InDesign
Along with the support for UXP Scripts, you will be able to build and publish UXP plugins for InDesign. The tentative date is mid-July. Join InDesign’s prerelease program to build UXP plugins as soon as it’s available. (Note: If your application has been pending for these programs for more than a few business days, reach out to wwds@adobe.com.)
In the latter half of the year, you will also be able to create UXP Hybrid plugins (UXP plugins with C++ capabilities) in InDesign.
7月中旬にUXPプラグインをサポートする予定ということです。早く見たい人はプレリリースに参加してね、参加が数日保留されている場合(私は数年ほったらかしにされましたけど)はメールしてね、ということです。
終わりに近いところに「InDesign v18.5」の記述がありますね。これが「7月中旬」を意味するんでしょうか。そのあたりもまだ謎です。
あと「AI/ML」の記述がありますが、Artificial Intelligence(人工知能)とMachine Learning(機械学習)のことのようです。この辺になると何をしたいのか全く想像がつかないです。
ということで、わからないことが多すぎて紹介になってないですね。間違ってるかもしれない(多分間違ってる)ので是非原文で確認してください。
4月25日 追記
UXPのバージョンの確認ですが、UXP Developer Tool(UDT)から確認できました。InDesignを起動した状態でUXP Developer Toolを起動すると表示されているという。
このツール、エディタと連動できないから、普段全く使わないんだよな。