I started with Xojo when I still had Windows clients. That was somewhere between 2010 and 2014.
Saving time was the main reason. And being able to develop Web and Windows apps in the same development env.
Until then, I was using Java and OpenOffice (basic) to build what my clients needed. The demand for web based solutions grow and I needed to find a better way to service my clients. PHP and Java for web based apps I considered to be too unstable and risky for web apps.
Xojo was promising mobile solutions also. Then for iOS with the promise to have Android available soon. … … …
So I chose Xojo. But the world is changed. And Xojo is not changed fast enough.
I had to forget about mobile apps because Xojo still has no Android. Developing only iOS is no option! Mobile means IOS AND Android.
I’m working on a very big project that is nearly finished (all build in 2019R2.1). I was not able to upgrade for that project because it is web-base and the 2020 implicated that I needed to rebuild all involved apps.
Where am I now with Xojo? The big project is stabilizing. And I have to decide how to rebuild it. (I can not continue with 2019R2.1 forever)
For Apple Apps, Xcode is better. Android is still not supported. And for web based apps, Xojo still is not mature.
The strong thing about Xojo is the possibility to go fast from a use case Human Interface prototype to a real live application.
Mobile is the future for nearly all use cases. Multi-platform for Mobile means IOS AND Android.
What we will do strongly depend on what Xojo is going to do with Android. If it is not there or not good enough after the summer we are forced to leave Xojo.
Let me get this straight. You started a project that had Android as a requirement in a tool that couldn’t compile for Android. When Android failed to appear, you dropped mobile totally as an option. You then began work on a Web version that you knew was about to become obsolete.
Now, after building the web version, you are suggesting you cannot move to the latest Web version, and will abandon your web project entirely.
It seems you now want to build a desktop version in a tool (eg Xcode) that only supports macOS devices, ignoring the 90% of Windows and Linux desktops.
Yet your decision to proceed is back on the original issue of the availability of Android development, of which you seem to have not started development on a mobile solution. Hmmmm…
I suggest don’t give up. Release the 2019R2.1 Web version, since it works and will be accessible on all environments. Convert your desktop version to the latest, so you can cater to all macOS, Windows and Linux users, since API 2.0 means much of your code can be shared in external libraries. Finally, I suggest you convert the code to Mobile as API 2.0 is also on iOS and, again, external libraries can be shared with iOS as well. Hopefully Android will be available by this time with API 2.0, giving you the complete gamut of target devices.
I speak with knowledge here as I have one set of Xojo app libraries running across desktop, Web 2.0 and iOS. The biggest challenge was the iOS objects (eg Table≠ListBox, no radio buttons/comboBox/popup menu) rather than the Xojo code, which is shared and identical.
the best choice is to use the tools provided by OS.
for web there are a few good frameworks.
unfortunately real code once did not exists.
i think Mobile devices (phone / tablet pc) is the worst case for all use because the on screen keyboard, finger input and no mouse, hires screen with bad size.
a mobile laptop with sim card is better for business.
my future vision is having a MS HoloLens 2 / mixed reality headset, it would replace all screens.
and then i guess voice input get more focus in this context.
I started a Web project linked to an existing desktop project. With the intention to replace the existing java desktop apps with Xojo based apps.
When the desktop replacement build started, the Android request came up. Then we looked into other options but decided to continue using Xojo because they promised an Android compiler was coming. … … …
Now the development is stable again, and we need to look around. Can we deliver continuity to our clients when developing on Xojo?
I have learned that others use Xojo only as a use case prototype builder. Then rebuild the whole thing for iOS, Android and Web with separate teams. A waste of money and core code sharing. The neat thing about Xojo as you point out.
Xojo is superb to copy source between Windows and MacOS.
For Web, don’t mistake Web 2.00 for an evolution of Web 1.00. It is a completely different product. I have developed many Web 1.00 applications, which I don’t plan to ever port to Web 2.00. If it ain’t broke, don’t fix it
There are indeed out there solutions that pretend to cover both iOS and Android. But because of the intrinsic differences between the two platforms, moving a project between them is not as simple as flipping a switch.
Heck, B4X for instance cannot really use the same source for both Android and iOS. It did fine for me to create a working Android app two years ago, but now, porting that to B4i needs quite a bit of work.
Right now, Xojo has already completed the port of Xojo iOS to API 2.00, effectively making it possible to develop for Windows, and run most of that on iOS.
I am convinced Xojo Android, when it comes, will have all the trimmings of API 2.00, which will mean easy porting.
It is all a matter of strategy. If you need Android right away, don’t hold your breath, and go for an existing solution, as I did.
If you need iOS, from what I see, Xojo seems a credible solution.
There are certainly very optimistic people on the forum, but for serious work you need realistic answers.
Just look at all the new releases, it takes a lot of time to be. For instance, Web 2.0, after many years of being anounced, and a couple releases, it is still not feature complete and has some really bad bugs, memory leaks, etc. The first launch of iOS, years to be usable, etc.
The mobile ecosistem moves to fast for the current way of doing things by Xojo, the honest answer, dont expect to be soon, dont expect to be feature comple/bug free at lauch, dont expect to be up to date with Android.
Let me clear about my intentions. I don’t want to criticize Xojo. I want to help them to survive.
I’m not really lost because of Xojo. I can deal with them not doing a great job on iOS and Android. By using the wrapped-web-app concept for that.
I’m really annoyed about the failure of Xojo to read the market. They seem to fail to recognize the trend.
They should look more at what Google is doing than at what Apple or Microsoft is doing.
My view on the trend:
1 - Basic is the past like Cobol was 40 years ago. Python is its replacement. (Xojo should adapt python language features)
2 - All UI technology converges into HTML-CSS. (Also within Apple and MS)
They fight a loosing battle trying to keep up with Apple and Microsoft.
Unfortunately I can not wait for them. I have decided to stop using Xojo for Web-Mobile. It is not really a RAD environment for that.
We finish projects what we have under development in Xojo. We will start this summer with new Web-Mobile developments in another environment using Python.
Python because we can work together with open-source, outsource and hire staff knowing python. Not so with Xojo.
For desktop developments we stick to Xojo for the time being. But I can see that also getting replaced by my successors with a python based RAD in the future.
My real hope is that Xojo will change course and will not drown in attempts to keep up with big-corp.
I agree Wayne,
I like the Xojo approach very much. And using Xojo made me really happy until my clients demands changed and Xojo does not enable me to follow these.
I’m only afraid they lose too much valuable energy by attacking the challenge from the wrong angle.
For example. The UI standard is set by “big-corp” (including Google) via W3C. Even Apple is following that development. Xojo better makes CSS leading and derive desktop from that. Now they work the other way around. Loosing valuable time trying to mimic desk behavior in Web/Mobile.
Working the other way around is less challenging.
While I agree that Xojo probably thrive more with non-native controls, having the developer use HTML+CSS is not something they should do. Their layout system would work the same (or similar) to how it works now, taking user intentions and using logic behind the scenes to create the results. The way we develop websites is asinine really, we’ve just been desensitized to it. HTML is a markup language, like RTF. It was designed for Word-like documents. To this day, that’s still what it’s best at. But we started to demand more from it, and CSS was introduced as a means to consolidate all those styling tags. And we keep forcing features onto this poor markup language to make things so far outside what HTML is really good at, that we now think it’s something great.
This won’t change. You’d have to get all the browsers to adopt a “from scratch” replacement, and nobody would ever agree on what that is.
But I don’t think anybody really enjoys all the stupid hacks we’ve come up with with CSS. Want to vertically center something? CSS has this property called vertical-align! Oh but wait, that only works for table cells, and we’ve been told to stop using those for layout. I know, if I know the height of the content, I can set its top to 50% and use a negative margin to move it back! But if I don’t know the height, which I shouldn’t for responsive design, now what? Flex boxes! I can make a big container that acts like a table, but isn’t. Ok, problem solved.
It’s ■■■■■■■■. We should strive for better, such as constraints.
And Python… as others have said, the language isn’t the issue. I understand your intention is not to make Xojo more Python-like, but to lean on an existing pool of developers and code. That could be done with Perl, or Java, or Swift, or countless other languages. Nobody would ever agree. I do agree that I’d love more language features from Xojo, such as closures, but just switching to Python isn’t the answer.
You are right, I have already tried to work with a large amount of information through a tablet. It turned out to be sheer nonsense, despite the fact that the tablet has a diagonal of 10 inches. It turns out that I bought a Lenovo 10.1 tablet. No, I certainly do not regret the purchase, because the tablet will come in handy for other tasks as well. At least read a book or watch a video on the road.