I am currently in the process of developing a youtube development series for XD plugin development. Each video will be 10 minutes in length and similar format to the angular firebase channel (code focused deep dive into a particular use case).
Current videos in progress
- Adobe XD and serverless functions
- Developing XD Plugins with webpack, parcel, and rollup
I’d like to solicit topics from the community for very specific items you’d like to see. I’m currently planning to do 10 videos but happy to take on more suggestions based on interest.
Thanks,
Jonathan
1 Like
I think a basic intorduction to UI for plugins (how to open modals, handle events etc.) would be great. I actually wanted to do something like this myself, but currently don’t have the time to do so. In such a tutorial, I think it would be great to keep it as simple as possible (not using frameworks like React etc.), but giving peope an idea of how to do it (allowing them to use frameworks only if they really want to), since this seems to be a difficult topic to get into for some.
Also, I’d suggest using xdpm
(the CLI-tools for creating plugins), since it’s a really handy tool and makes developing plugins so much easier.
Additionally, I think a video explaining the edit context and general “quirks” of scenegraph manipulation might be helpful for many people trying to get into Adobe XD development.
Last, I would recommend (since I created them, I’m not entirely unbiased and therefore, this really is just an idea) using the typings from https://github.com/AdobeXD/typings to enable autocompletion features, which can make developing plugins easier to for new users since one doesn’t always have to look up how some attribute was called in the docs.
2 Likes
All good stuff–thanks.
How do you use your typing stuff in VSCode?
1 Like
Go to repo download and copy json file and typings folder to your porject
@cpryland
1 Like
Thanks @pklaschka I will update the list to include an intro to scenegraph
I have hesitation on the typings and xdpm videos because they are non-standard. The typings project really should be published in the definitely typed repository as @types/adobexd (I’m fine with pointing others to the repo if they want to manually copy it in).
For xdpm I’ve created a feature request to expose the api and add an export of just the plug-in development folder so it can be used to create plugins for webpack, roll-up, parcel,etc…
I’d like to see typings and xdpm work like conventional JavaScript projects which I think will reduce the onboarding process.
1 Like
@cpryland Just follow the guide on the repo (https://github.com/AdobeXD/typings/wiki/Autocompletion-in-editors-and-IDEs). It should help you getting started with the typings in VSCode.
Thanks, hadn’t thought of exploring the wiki yet…
1 Like
@jonfontanez I can understand your hesitation regarding the typings. With xdpm, however, I don’t think I can agree with you about it being non-standard. XDPM is a tool published on npm that’s simply for installing, correctly packaging (!) and quickly developing plugins. Since it is part of the official Adobe XD Github organization, easily installable via npm (like pretty much any other JS-related CLI) etc., I in all honesty don’t really understand what you find to be non-standard about it (no offense).
With the typings, I understand your request of it getting published as @types/adobexd. Unfortunately, this isn’t really a standard typings library (which is also why it includes instructions on how to use it) since that wasn’t possible with the way XD handles modules. Therefore, I’m not sure if it would be possible to publish it that way.
As I had already mentioned, this is just an idea and I’ll therefore try to contain me arguing about it . I – however – think it’s difficult to think about developing plugins for XD as just another JavaScript project. There are too many things that are just different enough that this “like conventional JavaScript projects” is nearly impossible and therefore – in my honest opinion (again: no offense, just thinking out loud ) , it would be unwise to claim it to be so.
You’re welcome (I did link to it in the Readme as well, though )
Yes, guilty of typing before thinking…
1 Like
Some great ideas here! I’ll drop some thoughts real quickly:
-
xdpm
– I did see @jonfontanez’s request – and think it makes sense. It might be even better to abstract it a bit, so that build pipelines could more easily integrate xdpm
rather than having to shell out to use it. I’ll see if I can push something like that quickly. As to who uses it, it’s proven useful to me and some others, but it isn’t a requirement by any means.
-
typings
– I’m not as familiar with typescript myself, but we could probably push the typings to the definitely typed repo. Won’t do anything for users who don’t use a package manager for their plugin, but it could be useful for those who already use a bundler.
As for ideas, which is the real topic – I’ll give it a think and post some as I have them! One that already springs to mind is setting up a real OAuth solution, and perhaps also using the network to transfer binary data (maybe exporting a rendition to Twitter, say?)
1 Like