Expand Xojo

Is it possible to use libraries of other languages (Javascript Java etc) in Xojo?


Hi @Sardo_Giovanni

Do you mean for Web projects? → Sure! Take a look to the WebSDK

For Desktop? → Yeah, you can access DyLibs / DLL / .so directly through Declares, or create your own plugins using the Plug-ins SDK

For iOS? → Yep, also using Declares or creating your own plugins with the SDK.

1 Like


1.You can write your own Xojo plugins using C and the Xojo SDK.
2.You can hook into some external libraries using Xojo declares.
3.The MBS & Einhuger plugins have support for different scripting engines / languages such as Lua, Wren, Python, Javascript & Java.

Dynamic unmanaged code with C interfaces libs (DyLibs / DLL / .so) you can load and use through Declares.

Static libs (those that need being linked into your code) you must create your own plugin, link such lib into it, load your plugin and use it (at the end it just becomes another Dynamic Lib, but with Xojo runtime properties and using what YOU designed for accessing it).

you can use some javascript UI libraries if you embed them inside a xojo htmlviewer

using Plugins is definitely the simplest solution. Unfortunately they have a cost and are not always complete or fully functional wrappers.

Writing plugins in C is definitely not for everyone.

using “declares” and working with external libraries is another approach that I find very challenging.

Those are opposing arguments.

If you have Dynamic Libs (there are lots of them everywhere) hooking on them through Declares are the simplest solution.

why are you answering me? (cit.) :joy:
(you served it to me on a silver platter)

Anyway, I didn’t understand your answer at all.

I said using plugins is relatively easy.

Writing plugins requires knowledge of C

You mean assuming that magically a plugin for what you need exists?

The OP wants to know how to expand. That means

So the own user should hook on it, or write their own plugin.

to me “expand” means any way that goes beyond what xojo doesn’t natively offer.

There are other ways.

Some easier, some very complicated.

Plugins are written by someone. It’s not my problem.
My problem is to use a language in which you find libraries. Not all of them are low-level programmers. Many operate at a high level using libraries that others write.
Also xojo is already written by others

Well. The misunderstanding here lies on that I am talking about the OP problem.

Why would that be opposing arguments? Using pre-writtin plugins like MBS or Einhuger are a simple solution. They provide a lot of functionality, but you have to pay for them. They also may not have the exact function you need.

On the other hand, creating your own plugin may take a lot of time and effort and may not be attainable for the average programer.

The middle ground is using Declares, which can be challenging on their own.

1 Like

Bottom line, yes, there are many ways to extend Xojo.

1 Like

No, the problem is that we speak different languages. “my” problem is generic, not my personal one!!!

That’s a lot of assumption that they have all the world needs ready to go and you don’t need to write you own solution. The bottom line for what was asked is,

Xojo provides means to solve this:

If those libs are unmanaged and have compatible C call interfaces.

What in that is making the assumption?

That looks the same conflicting of ideas. But… Whatever. Everything to say about the subject was already said.

Except for, on Windows at least, you can use ActiveX as well.

With enough practice, declares become easy too.