Gravit Designer discussion

How does an API will look like?

Yes its built on electron for desktop. Live reload could be maybe possible to reload the whole app again but we’d want to figure the easiest way for development. How are people i.e. developing plugins for Sketch or Fireworks where you can not simply reload?

I just took a real quick look and it appears Sketch plugins are written in CocaScript (JavaScript like syntax that allows the calling of native functions, so kind of like Node and Electron really). Sketch apparently has a “Run custom script” dialog that has a textbox to easily run your scripts and that’s about the gist of it. Now really I believe you can do the same if you don’t use const’s and let’s you can really just reload the plugin files itself overriding the currently loaded script.

Plugins can in fact be written in ES6 as long as they are transpiled to ES5 this way when reloading a plugin all the current variables can be overridden. (since this is how var works as you are most likely aware). This way there’s not even a need to live reload the whole application just the plugin that has been modified.

In the same fashion I think it would be best to work in some type of npm like fashion so you know what js file to reload and all that.

I think this is a fair start.

We’ve now contacted GitHub whether it is possible for us to download and trigger repositories for plugin versions without hitting any rate limits. If so we can use GitHub as the base for our package manager :slight_smile:

1 Like

We’ve also created a separate organization now for plugins and will start creating a starter template:

https://github.com/Gravit-Designer-Plugins/starter-template

2 Likes

Great one! Are we allowed to join the Organisation or do you want to keep People seperated out of it?
I’ll check out the starter-template asap when there are updates. Already got some ideas for plugins but I first of have to see whats going to be possible.

Yes people should be able to join the org. By next week we should have everything together :slight_smile: Looking forward to your plugins!

2 Likes

Great!

Any news for this week?

Yep but still not official.

We’re working on a new design platform which will integrate multiple design apps we have in the pipeline.

This platform will not only allow to extend the apps with plugins like gravit but also to write even your whole own apps with our framework.

More on this soon on an article

Sorry it takes a bit longer but we really want to get this perfectly right :wink:

Hello everyone,

Eventhough it might have been a bit quiet we’re working hard behind the scenes.

We’ve started to create a ready made start pack (not ready yet) here:

Our idea is to give you the option to have a dev environment with auto-reload to develop plugins. Gained from that experience we’ll then provide a way for you to publish your plugins.

1 Like

Awesome! Had a look and looks promising already!

@denner.erthal can you give updates on your progress here?

@all – we’re working hard behind the scenes and Denner is our main developer for the plugin interface :slight_smile:

sure
we already have a interface being developed. Most of the main issues we had to make it work are already solved, and we are currently working in offering a easy to build and use development environment. We are building a Node.js project with Gravit Designer’s code as dependency, so it will be really easy to set up, and with all cool features a Node.js project can have, like auto-reload when changes are detected and built in scripts to test and make the plugin ready for publishing. There are still work to be done on it, but we are looking forward to make it available for everyone interested on it

1 Like

Great one, just give me a shot and a link to the necessary docs and I’ll get development started! :slight_smile:

we will let everyone know as soon as we have everything ready :wink:

Hello everyone. Great news! The plugin development environment is finished. We just have to wait for our next release so our code will be updated, and then everyone can start with the development. For now, everyone can take a look at:


It contains all information you’ll need to start developing aswell explanations about how everything works and some basic samples to show what you will be able to create.
Please let us know if you have any doubt or suggestion, we are looking forward to improve it even more! On future, we will provide a way to easily publish plugins.
4 Likes

Very nice one!

I’ll take a look and start digging into it. Hit us up as soon as you deployed the latest version! :slight_smile:

Hi everyone!
With the release of Gravit Designer 3.1 we finally have everything ready in our plugin architecture. The source code is already updated with the link for Gravit Designer source code that will be used. Keep in mind that, when installing node dependencies, it will download a .zip approximately 250mb, so it may take a few minutes to end the process. Everything you need to know to start is on the GitHub project:

Unfortunately, for now we still don’t have a API documentation, but we are working hard on it and with you collaboration we will be able to provide a nice guide to everyone.

Currently, we will be working closely with everyone that wants to build a plugin, so any idea or question you may have related to both the architecture or source code, please get in touch with us and we will help you as fast as we can. This way we will be able to measure where we should focus more and if the environment is good enough.

Thank you all for your patience and interest, and good development :slight_smile:

1 Like

How can the community contribute to the API docs? Will there be another repo? Or do we commit to the GitHub wiki of the starter project?

Some GitHub page like gitbook offer would be great. :wink:

Hi @olivererxleben we will probably have a page in our website with the API docs. Allowing the community to contribute on the docs is a great idea and we will discuss about how it should be done. Thanks for your suggestion, I’ll keep you guys updated about it. Any question please let us know : )