Creating Plug-ins or add-ons for other XoJo Apps

This is just out of curiosity at this point, but let’s say I write some XoJo Apps and later on would like to produce add-ons for those apps without the need to update the original apps. Is there a way to create XoJo apps that are ready to accept plug-ins or add-ons?

Really only possible if your app embeds scripting engine, Xojo Script, Python Script, Lua or Java Script those all exist for Xojo as plugins.

Then your app can accept extensions in form of Scripts later (if you implement it well).

Though of course its a bit limited and hard to call it “Plugin” though really depends on what your app is.

Lets say your app is Spreadsheet and the desired plugin functionality is to provide new Calculation routines for the formulas then you perfectly could do that via one of the scripting engines and all users to add more “Plugin script later”.

Xojo it self has no external component model which is why you cannot directly do it just with plain Xojo.

1 Like

I see. So if I wanted to keep everything in XoJo code I would need to produce an updated version of the app or possibly launch another app.

Plugins made with Xojo itself is on the roadmap. So it maybe worth waiting for that too.


Well, those would be at compile time.

@Steve_Batson may better have a way to extend his app with XojoScript as the built-in script class in Xojo. So users could write their own scripts and run it in the app without recompiling the app.

Or use other stuff like a plugin from Björn or e.g. JavaScriptEngineMBS from us to use JavaScript for this.

1 Like

It’s currently number 10 on the roadmap. How long have plugins been on the roadmap?

It is number 10, but there isn’t a number 5 :rofl:


Xojoscript exists for pretty much exactly this purpose. You can achieve a lot with it.

Plugins within Xojo probably does not mean External component model.

More likely it just means Xojo classes or modules that are deployed pre-compiled in some way instead of encrypted.

1 Like

See older blog post:

Library vs. Plugin

That would be a really nice addition to have Libraries (Xojo plugins made in xojo).

To get back on topic try these video’s they explain xojoscript in detail:

XojoScript intro:

Xojo Script Make your app extensible:

XojoScript allows your app to run user-defined or execute code (from file/string) into a running application.

Even with xojoscript, because it’s sandboxed you’ll probably come to a point where you’ve forgotten to implement or hadn’t though about implementing something exposed via your “context object” at which point you’ll need to push a new update out anyway. Of course, if you future proof your context object to the nth degree then you’d be able to do this via xojoscript either by downloading the script at runtime from the internet or providing it somewhere they can cut and paste it into your program, but that would probably be a lot more work than implementing a system to notify a user that there’s been an update.