Application plug-in strategy? [message #1184971] |
Wed, 13 November 2013 15:32  |
Eclipse User |
|
|
|
Ok, I now have 2 awesome DSLs which are helping a lot with my Java application development. What I want to do is to publish an Eclipse version (or RCP?) which supports these as plug-ins within a Java development environment. So then, my customers (who use the application) would also be in a position to modify the application to add additional functional blocks.
These blocks would be available as class files, at the very least, which could be traded amongst users who wanted to offer a given functionality to others who were not interested in running Eclipse or an RCP to recompile the application. Kind of like Minecraft mods .
So now, this opens up the possibility of an application which has some classes which are variable, depending on whether or not any of the classes from the base distribution get replaced.
Two questions:
1) Is there any tool or system which makes this sort of application (rather than Eclipse) plugin capability easier to manage?
2) What sorts of care would one need to take around serialization and file exchange at the application level? For example, supposing 2 different people take the base application and add new classes? In order to exchange application files which did NOT reference these new classes, I'd hope that would be possible without issue.
In the case you get an application file which DOES reference a plugin which is not currently installed, I'd hope to get a warning rather than a serialization exception.
As it stands, in my current implementation, each of the functional blocks/classes has its own serialization ID. I usually have these randomly generated as I have not yet encountered any need to do anything else.
Thanks,
GW
[Updated on: Wed, 13 November 2013 15:32] by Moderator
|
|
|
|
Re: Application plug-in strategy? [message #1185112 is a reply to message #1185018] |
Wed, 13 November 2013 17:38   |
Eclipse User |
|
|
|
My application is a CAD system. One DSL creates an insertable "CAD Block" class and the other DSL creates the menus with reference to the Menu Item name and the CAD Block class name. So, users would use the DSLs to create new blocks and add items to the menu so that the new CAD Block would be useable. Then you compile the Java application which is the CAD program.
So, for example user 1 creates some new CAD Blocks, e.g. Chair, tree, sandwich. When they compile the application these three blocks are now available and a person using that version of the application can create drawings which include chairs, tree, and sandwiches.
User 2 either creates different blocks, or they don't create any blocks but they would like to be able to use the new blocks created by user 1. Then suppose they'd also like to be able to use from other blocks from a different user at the same time. They can't just take the application created by user 1, because it doesn't have user 3's new blocks. So these things really want to be like libraries. I just don't know how to make that happen.
[Updated on: Wed, 13 November 2013 17:39] by Moderator
|
|
|
|
|
|
|
|
|
Re: Application plug-in strategy? [message #1186116 is a reply to message #1185623] |
Thu, 14 November 2013 08:41  |
Eclipse User |
|
|
|
Christian Dietrich wrote on Thu, 14 November 2013 01:48So your question is zero Xtext related?
Well, I thought that maybe it was a common goal for people developing their DSLs, but yes, I'm sorry. I'll ask the mods to move this thread over to the JDT or RCP area. I did a little more reading last night and it's possible, if I have enough time to work on it, that I could rearchitect my current Swing application over to SWT leading to an Eclipse RCP approach.
|
|
|
Powered by
FUDForum. Page generated in 0.13450 seconds