iOS plugins

IOS not permitting plugins wasnt a Xojo imposed restriction. That was Apples.
But it was possible to compile a dylib, and then in your code declare into that dylib
Thats basically what Jean Paul did

What about that never realised promise of Xojo coded plugins ?

To tell you the truth, I was amazed at the number and quality of libraries for B4A and B4i. Perhaps the fact that they are based on Java explains it.

Fact is, I cannot seriously rely on a bunch of half baked volunteer declares to develop professional apps. Either I had to spend an inordinate amount of time painstakingly developing myself all the declares I needed, or I turned to a richer environment.

Xojo has a formidable asset with MBS, Einhugur, GraffitiSuite and others. That is for a professional almost as important as the language itself. Almost all my apps could not have been created without MBS plugins. They are maintained and Christian’s support is outstanding. This kind of asset was sorely missed for iOS.

I do hope that the upcoming Android will permit plugins, so users won’t have to suffer through breakable declares.

As Normal mention, iOS plugins is an Apple Isse not an Xojo one.

what can be done with iOS is custom frameworks (pre-compiled classes/methods) that just need to be linked during compile
However, while Apple supports this via ObjC and Swift, Xojo does not.

I for example have created an entire SQLite Framework, that allows Swift to interact with SQLite using syntax very similar to that of Xojo… just add IMPORT mySQLITE and I have access to all my routines

Where there is a will, there is a way. I am afraid there was no will.

and I doubt Xojo will supply a way

Now, the future of the company may rest on such “detail” as plugins.

When I see my son doing all his work on his iPhone, including typing letters, and fetching his Surface Pro once every other blue moon, I know our desktop computers may very well be soon a thing of the past.

When I see apps being validated almost immediately in the MAS, it tells me they are not as busy as they were back in 2013 when validation took several days. Probably because business in the MAS has been low for a while. It maybe that I lost the touch, but precisely back in 2013, I had 2 to 3 times more income from the MAS as today.

The next frontier is mobile. Being able to produce rich and reliable mobile apps will soon be critical to the survival of our small community.

[quote=453581:@Michel Bujardet]What about that never realised promise of Xojo coded plugins ?
[/quote]
still on the roadmap
BUT to get at the low level native code you may still ned / want a dylib + declares

quite possibly
java has a TON of stuff available for it

You might need to avoid java then as a LOT of it is developer by those volunteers :stuck_out_tongue:
Seriously a LOT of the software all of us depend on is maintained by volunteers - some who have vastly more experience than any of us.
OpenSSL Apache etc rely on this model

While not as easy to do as MBS plugins nor as easy to use its not impossible to do (Jean Paul showed that)
Its just a lot more hassle since you have to write 2 pieces every time

Really depends on whats possible on android itself
Again this was an iOS restriction - not a Xojo one

But since Android is basically a java runtime I expect that everything for any plugin SDK will require or depend on something like JNI
Something I do not mind not having to deal with
But thats just a wild a s s guess and maybe Xojo will have an SDK that makes it so you do not have to deal with JNI at all (that would be nice)
Until it ships we wont know

[quote=453596:@Norman Palardy]But since Android is basically a java runtime I expect that everything for any plugin SDK will require or depend on something like JNI
Something I do not mind not having to deal with
But thats just a wild a s s guess and maybe Xojo will have an SDK that makes it so you do not have to deal with JNI at all (that would be nice)
Until it ships we wont know[/quote]

I do hope the product comes with plugins right away. Since it will necessarily be limited, plugins could boost the possibilities to make it truly worth professional use.

Xojo Android will be kind of late to the party, so it needs more than binary compile to succeed.

ALl I can say is what is on the roadmap
Whether plugins and an sdk will be available for them isnt mentioned

[quote=453560:@Norman Palardy]IOS not permitting plugins wasnt a Xojo imposed restriction. That was Apples.
But it was possible to compile a dylib, and then in your code declare into that dylib
Thats basically what Jean Paul did[/quote]
I’ve never understood this problem.
• You can use dylibs on iOS
• Plug-in developers already create dylibs today for macOS

so… Why can’t plugin developers create iOS plugins that have the Intel dylib for the simulator and the ARM dylib for building?

Is there some other restriction such as the plugin not being able to communicate with the Xojo framework?

Sounds more like Xojo never tried hard enough to communicate with Dylibs the way it does with DLL in Windows. If that was the case, MBS would have provided a set of features long ago for that rather limited environment.

[quote=453560:@Norman Palardy]But it was possible to compile a dylib, and then in your code declare into that dylib
Thats basically what Jean Paul did[/quote]

Actually, no. Jean Paul did not provide a dylib. He provided a set of classes containing declares.

[quote=453622:@Kevin Gale]I’ve never understood this problem.
• You can use dylibs on iOS
• Plug-in developers already create dylibs today for macOS

so… Why can’t plugin developers create iOS plugins that have the Intel dylib for the simulator and the ARM dylib for building?

Is there some other restriction such as the plugin not being able to communicate with the Xojo framework?[/quote]

dlopen dlsym etc dont exist on iOS (well they might but your app will be rejected)

It looks like I was wrong when I said dylibs can be used in iOS. It is actually external frameworks that can be used.

so… Couldn’t the plugins actually be frameworks rather than dylibs?

There is also a section in the iOS documentation that talks about using dlopen to load external frameworks (see the section: “Deploying a Containing App to Older Versions of iOS”)
https://developer.apple.com/library/archive/documentation/General/Conceptual/ExtensibilityPG/ExtensionScenarios.html#//apple_ref/doc/uid/TP40014214-CH21-SW1

what I had said earlier :slight_smile:

now ? quite possibly I suppose
at the time iOS was introduced a lot of this wasnt possible and thats where Xojo’s iOS support has remained

they’d need someone on the team to comment about making any forward progress on iOS
I just dont expect they have it in the schedule at this time but might when API 2.0 work is being done

does “Xojo for iOS” support the equivalent of “IMPORT”?

Xojo does not support “import” on any type of project :frowning:

[quote=453689:@Norman Palardy]now ? quite possibly I suppose
at the time iOS was introduced a lot of this wasnt possible and thats where Xojo’s iOS support has remained

they’d need someone on the team to comment about making any forward progress on iOS
I just dont expect they have it in the schedule at this time but might when API 2.0 work is being done[/quote]
Imagine what Xojo could do if the weren’t spending their time on white elephants such as the API 2.0 renaming nonsense
(-:

then that might make it difficult to “import” 3rd party frameworks I would guess.

And my opinion… there is a LOT more that should be done to “Xojo for iOS” before they get to something like frameworks

I will say what as I worked on Xojo’s iOS project I learned a lot and it quite possibly needs a significant rethink as there are some aspects that I would say need to be redone
maybe that happens when they revisit iOS for API 2.0
I dont know