Plugin architecture and license

Hi,

We have been producing DSL tools and their IDEs, and runtimes for a while (30 years).

Now we are evaluating remaking our DSL+IDE+runtime combo, now using JetBrains technology.

The new version of our tool is intended to produce nodejs solutions.

We have no experience with jetbrains technology.

So we have a central question:

  1. Is it convenient to create a DSL+runtime in MPS that would integrate (as plugin or in some other way) with WebStorm, as the IDE ?
  2. Are there alternate recomended paths to reach the same goal ?
  3. What are the possible licensing schemes ?

Thanks in advance

* IDE means Integraged Development Environment, DSL means Domain Specific Language.

4 comments
Comment actions Permalink
Official comment

Hello Ariel,

1. MPS can currently only create plugins for IntelliJ IDEA, WebStorm is not supported.

2. You could be using MPS to edit models of your DSL code and have the nodejs code generated into folders that WebStorm can see and use.

3. MPS is licensed under Apache 2 and thus available free of charge. You can purchase trainings and support serviced from JetBrains.

Best regards,

Vaclav

Comment actions Permalink

Hi Ariel.

The option 1, to deploy right into WebStorm, will be possible in the future. Actually, technically it's already possible in mps plugin version 3.3 (for plugin mps-core), in the sense that WebStorm will not complain about mps-core plugin being incompatible with it. But it's still in the works, so there may very likely be problems.

The typical scenario would be this. Your plugin depends on mps-core plugin. And your plugin also specifies that it supports WebStorm. Here is how intellij plugins do it

http://www.jetbrains.org/intellij/sdk/docs/basics/getting_started/plugin_compatibility.html

I'm not sure regarding licensing. Let others comment here.

1
Comment actions Permalink

Thank you, Daniil, Vaclav, for your very quick and to-the-point responses.

From your comments, we will be following developments closely, and probably launch a pilot project to acquire expertise and shorten the final development time.

Best regards,

Ariel Tejera.

0
Comment actions Permalink

Couple of comments and pointers:

  • Marco Lombardo has developed an ECMAScript language for MPS which you may find useful. See https://github.com/mar9000/ecmascript4mps
  • If you follow Vaclav's suggestion to generate code in a folder where WebStorm can find them, you  might find the staging language useful. Staging was developed as an example for a chapter of the second volume of my book. There's no need to buy the books to use the code (although that won't hurt if you are beginners), available here: https://github.com/CampagneLaboratory/CustomWebAspectExample The language of interest is called org.campagnelab.staging and will help you move generated file to specific directories. When generating Java code, it can adjust import statements and packages for a new destination package. If others are interested, I could make this available as a plugin.

I look forward to hearing more about your future product(s) when appropriate on this forum. Best, Fabien

 

 

0

Please sign in to leave a comment.