Since Xojo Inc. announced that the Android target will be included for 2023r2 release, I got a few people asking whether our plugins will be ported. If you like to try Android soon, please join the Testers group.
Well, there is not yet a plugin SDK for Android. We expect there will be one, but first Xojo Inc. has to figure out how to make the plugins works on Android. This includes preparing how to do C++ library compilation, how to bridge that to their Kotlin app and have calls get through including exception handling.
There will need to be a lot of bridge code to make anything in the plugin SDK working well. It starts with simple parameter passing to call something in C++. Retaining a kotlin object from C++ and later releasing it requires a kind of object management in the C++ side.
- Passing strings, memoryblocks, ptr, objects and arrays from plugin to app and back.
- Calling events on instances of plugin classes.
- Querying a pointer for a function in the framework or an app class.
- Query getter/setter for properties and call them, independent of whether the class is in C++ or Kotlin.
- Call delegate functions in Kotlin code from C++.
- Run a timer via plugin to do something in background or check regularly for something.
- Create objects from plugin classes and framework classes.
- Access picture bitmaps from the plugin side.
- Efficiently access bytes from a string.
Yes, this is an awful lot of work, so we don't expect this to show up quickly. Once most of this is done, Xojo Inc. can build all their own plugins using the SDK. You will notice that when RegEx, XML or XojoScript classes appear for Android in a future Xojo release.
Once we have a SDK, we can work on our scripts and adjust code. There will be a few days of work to get something to build. Then it may take weeks to go through all our plugins. It may be limited to only a portion of our plugins like things already Linux compatible.
When we finally ship our existing plugins for Android as far as it makes sense to us, we may look into adding Android only classes. Please note that GUI things will be easier to do with declares, so the Xojo Library project type, but that may have other questions.
For the upcoming Xojo 2023r2 there will be as of today no third-party plugins, beside a few declare collections.