Would you build cross platform Mac, Windows, iOS, Android in Xojo? Is it prime time for mobile?
I currently have a nice looking (and complicated) Xojo app for Mac/Windows. (See www.officetime.net). I have a companion native app for iOS. I need an app for Android so am considering redoing iOS to a common mobile code base.
My options are:
Flutter / Xamarin mobile. Xojo desktop.
Xojo for everything. (But do widgets, Apple Watch app, etc natively and integrate.)
Iām aware that all the Xojo views would have to be redone for mobile. I just donāt know if the quality is there for an external facing B2B app.
I have also a few xplat apps and I use JavaFX FOR desktop all platforms and with Pro Server for Web and with GluonMobile for iOS and Android and I can share the whole Code.
B4A and B4I and B4J can also share a big amount of Code, yes. It is a bit less than I can share when using JavaFX in my configuration while my App is in one project for all targets. But at least I can share my application logic with B4x without any problem, thatās for sure.
Omnifocus is written in SwiftUI (Apple donāt support Windows or Android, albeit Android support is available via a 3rd party transpiler) Blog - The Omni Group
Thereās a reason why these bigger companies do NOT use Xojo, I just canāt figure it out /s
This might be a clear example about how behind Xojo is, their fixed size mobile UI doesnāt really work in the Android universe with such a variety of screen sizes.
it is something that Declarative UI is design to solve.
This is correct, but it gave developers easier access to more platforms, increasing the size of the target audience. I dislike Electron apps, but I can see why companies choose it over Xojo.
I said at the time, it was clear example of how Xojo not only dropped the ball, they then started chasing butterflies around the pitch. Xojo had the potential to compete with any number of tools, but their lack of vision and blinkered ideals, caused them to completely miss the boat on how other companies are making cross platform much simpler for developers.
Well not trueā¦ you can use external included Files with e.g. Objects using them in multiple Xojo Projects (targets). This is how i made Win/Mac/Linux Projects with quite the same codebase 10 years ago.
Watch & such dont integrate
And you still, at this time, write an iOS project & and Android one
Mobile is not a single project that compiles to both yet
To speak truths: even CodenameOne has issues and leaks in functionality. But not that ones. Exactly thatās the problem. Half baked features for pulic use. Hmm. Not the best method to have customers which are happy with the project.
What I dont expect is to have to alter how I code in Xojo because of how Kotlin works and what it can / cant do that might be different from Xojo
Today if you want to use byref parameters in Xojo for Android you cant
YOU have to manually work around that - but only for Android
Everywhere else it works as expected
And this isnt the only place this sort of thing comes up
That for sure Norman. I was changing to CN1 while I have an API consistency and I have exactly one project and one UI for IOS and Android. For me it makes no ense to have different APIās for my projects. What shall I say? Xojo has started to use Kotlin language for Android what I really can understand. They could have done it so that they would compile for the ARM platform their own, Xojo project. But that would need much more efford to build. And would have much more troublemaking points in it.
As you decide for Kotlin it is like always: youāll get the GOODS and the BADS alsways one with the other. So you may have a few problems.
I just wanted to say thank you to everyone who has commented. Particularly to those who have obviously put time into this. In interests of not spamming the thread, I wonāt reply to everyone individually.
I think the lack of a common glue between iOS and Android is clear. Looks like we have
Separate projects for each with some kind of shared external code
Separate views for all controls which would be a huge rewrite for me
Arbitrary restrictions on coding. E.g. Not passing byref
It sounds like itās do-able but it will be a huge cluster-unfun of wrappers, subclasses and case handling.
Contrast that with, say, Flutter which as I understand is pretty much write all views to the same controls cross platform.