Export Design Contents(*.json format) and Open My Application

Hello, I want to export the contents from my AdobeXd design file(*.json file) to my own application by using Plugin API, but there are some questions I can’t find answers to.

1- Is there any way to access all *.json contents of an artboard.(My designs are in cloud). I searched and there is a way about this just use instance of Rectangle methods, but I think it is a waste of time.
2- How can I open my application from the plugin? and how can I open the exact page of my application?
3- Is there any easier way to export an artboard like this?

Is there anyone who may help me?

There are existing Adobe XD plugins to export a design from Adobe XD to some other format. For example:

  1. Anima for Adobe XD - Export an Adobe XD design to a website (i.e. to HTML and CSS files).
  2. XD to Flutter - Export an Adobe XD design to Flutter (i.e. Dart) code, i.e. to create a mobile app using Flutter.

Since those exist, it should be possible to do what you want.

The Adobe XD plugin APIs are documented at https://adobexdplatform.com/plugin-docs/

Thanks @TroyMc, what about open my application from the plugin? how can i do that?

I don’t know. I’ve never tried to do that. An Adobe XD plugin can open a URL in the user’s system web browser, using code like:

const shell = require("uxp");
shell.openExternal(url);

Maybe if you register a custom protocol for your application with the user’s operating system, then the operating system will open your application when it sees that custom protocol in the URL. For example, maybe your application’s custom protocol is “macp:” (for My Application’s Custom Protocol) instead of “http:”, “ftp:” or “mailto:”. You would have to try it and see what happens.

openExternal won’t open anything except a real URL.

Adobe’s said they’re planning to offer some kind of companion-application opening, but it’s still theoretical as far as I can tell.

Axure plugin can open their apps from plugin without anything. @cpryland I wonder how they can manage it. Also, Thanks for response :slightly_smiling_face:

I’ve just tested the mentioned Axure plugin. When the app isn’t open, it tells you to open the app (and, as expected, isn’t able to open it by itself):

Speculation (I don’t own Axure, meaning I can’t test this hypothesis):
Now, something that they might be doing would be to let the app (that’s already open, but in the background) bring itself to the front when it receives the data (looking at the source code, it looks like the plugin does some communication via a web socket). That, however, is something the app does by itself (and not the plugin).