Exciting Updates to XD Plugin APIs: How to Get Involved Early

Ash Ryan Arnwine
Apr 12 · 7 min read
  • XD 15, January: Addition of assets panel APIs, and deep links for plugin listings
  • XD 16, February: Addition of setTimeout() & friends
  • XD 17, March: Loosening of the edit context rules
  • XD 18, April: Addition of more HTML text field controls, support for inline style attributes, support for sending FormData with XHR

Web standards: bring your skills with you

UXP, the technology that powers plugin APIs related to common surfaces like UI and network I/O, aims to map closely to web standards for HTML, CSS, and JavaScript, where possible. For example, fetch and XMLHttpRequest in XD generally behave as you would expect them to in a major browser.

New Features

  • Important: display: inline and display: inline-block support
  • Important: Improved font rendering
  • CSS variables
  • calc expressions
  • z-index support
  • position: fixed support

Updated Features

  • Important: Additional unit support: pt, em, rem, vh, vw, vmin, vmax, and more
  • Improved Flex Layout module support

Early notice for developers with existing plugins

With each API update, we put a ton of work into ensuring backwards compatibility for existing plugins. The upcoming UXP update is no exception, and we’ll be introducing a compatibility mode to minimize the impact on existing plugins that don’t take advantage of the new features. This compatibility mode will be on by default for any plugin that isn’t updated to take advantage of the new API features.

Inline support

From the list of new features:

<span>Hello, </span><span>World</span>
  • Reduced necessity to reach for flex just to position elements next to each other

Improved font rendering

Upcoming enhancements to font rendering can have an impact on a plugin’s layout by a few pixels here and there, so you may want to tweak your UI a little.

Additional unit support

From the list of updated features:

  • Values in your code that should have a unit but either don’t, or are misspelled, and therefore invalid

Panels: a new insertion point for plugins

When you create an Adobe XD plugin today, you have two options for surfacing your plugin to users:

  • As a headless script (which presents no UI)
Impekable’s Google Sheets plugin for XD presenting modal UI

Get involved: join the prerelease

XD plugin API alphas and betas are shared on the XD plugin developer prerelease.

Adobe Tech Blog

News, updates, and thoughts related to Adobe, developers, and technology.

Thanks to Kerri Shotts.

Ash Ryan Arnwine

Written by

Lead Technical Evangelist for the Adobe Creative Cloud Developer Ecosystem.

Adobe Tech Blog

News, updates, and thoughts related to Adobe, developers, and technology.