Why I think "Xojo for iOS" is a joke

and feel Android won’t be much better.

Xojo for iOS has been available for a few years now… and basically there has been little if any improvement in the product in that time.

“Xojo for iOS” is missing so many basic (no pun) features which is what makes it such a joke

  • No Gestures… Touch/Swipe/Pan etc. [a fundamental input method for iOS]
  • No “generic” Picker [picker wheel for a list of items]
  • No updated Date/Time Pickers [just stuck with “the wheel”] [this occured a few iOS versions ago]
  • No Navigation Bar
  • No Tabbar [there is a"toolbar"…kinda]
  • No graphic primitives except Oval and Rectangle [no Line, RoundRect or Arc]
  • No Stepper [-|+]
  • No formatted TextField input (heck even Web has those)
  • No Search Bar
  • Missing basic attributes for most controls that do exist (borders, background colors etc)

“Xojo for iOS” is stuck at the level of what iOS was the day Xojo released… Heck even the device templates in the IDE look like an iPhone4, the listed devices are mostly obsolete now

Sure some of this can be done with Band-aids (sorry, declares)… but declares should be the minor exception, not the “rule” as there are here.

This is my opinion…but I think it is a crime that Xojo charges $400 for this box of Tinkertoys™
if it were FREE it might be barely be worth it

5 Likes

It was a shock when someone wrote in the forum “if you need ADVANCED features like SMS…”

WTF? SMS should be the most basic feature in a tool that is made for cell phones…

No ad functionality? :expressionless:

Xojo IOS is not a full stack development suite for IOS. It is a simple App suite which can build primitive Apps without any Idea of IOS concepts behind. So Xojo was releasing a barely ready suite for programming IOS Apps and will do that in the same wise with android. There is not more or less than that. But at least ou can write simple Apps for IOS. I would not expect that you can write fast and good communicating apps. Ans also for example fingerprint sensors and other sensors are making problems. But at least you can use Xojo for IOS if you want to write an app where you can note the next grocery List for the next shopping tour. Or something like this. The question is: do you need more? Then you may need to use other tools. Like for example Kotlin Multiplatform Mobile for IOS and Android. Or CodenameOne. Xojo is always a dead end in IOS. Starts with missing styling, with needed delegates for anything you may need. Stops with needed stuffs like Gestures. Or direct Hardware support. There is too much stuff not builded up for IOS and the direct use with delegates is often really complex and not supported by Xojo. So it ends up with: No, not working at all.

You need to have Jeremie’s iOSDesignExtensions, Jason’s iOSKit and MBS’ Google AdMob plug-ins to create decent iOS apps with Xojo.

1 Like

That was kinda my point.

Lovely. So I need CodenameOne to write IOS and android Apps and nothing else and so I can write what I need and I have my silence with all of Plugins and Payments for this. And if I want to build locally on my own Computer and not using the Build Servers of CN1 I can have it for free as open Source. Oops. So I dunno why buying Xojo for this at all.

I’m not a professional developer. It’s a hobby for me and I never learned any other language than Basic. Now in my 40s with a family and a regular job, it’s difficult to find the time to develop. And I’ve used Xojo/RB for over a decade now. That’s basically the reasons I still use Xojo. Tried to familiarize myself with B4x but I don’t want to put in the time to learn it because it takes the time away from actually developing.

1 Like

That I can understand. I am professional Developer and I need to produce, to get the Job done and so Xojo isn’t an alternative for me with the leaks in functionality and reliability. For Hobby use: wonderful. Everything okay. Especially when you are used to it since a decade. While learning curve is always a problem getting used to a new language will be always a long term problem and never be done in short time.

1 Like

In my case, I am(was) a Profession Software Developer for over 40 years, and over that time I learned and used literally dozens of programming languages, and mostly enjoyed doing so.

And I have to admit, it was the joke that “Xojo for iOS” is, that prompted me to learn Swift, to the point I am currently in the middle of a project to make a easier to use IDE … One (similar in concept to Xojo) that can build more advanced GUI for iOS, macOS and even tvOS.

I am not one to accept the limitations of a programming system where the vendor so obviously has not plans to make it a contender

note : unlike @thorstenstueker , I’m retired so I can spend as much time doing what I want :slight_smile:

Haha yes Dave, you are retired but active. And I see that you do a good Job in what you are doing. and yes, learning new Languages makes fun. Mostly or let me say at least often. Sometimes it is loss of time, sometimes it lets you win knowledge, sometimes experience, sometimes even more. But. At the end: it makes fun to learn new things. No question. But for me it is so that I need to get my stack running. So I need also to build in a Stack where I know that in ten years I will have the same.

I totally get it… You have to invest your time in what increases your revenue stream, some of which is “learning” new shit to make the “work” easier. Where you don’t always have much time to drop everything and learn “the next new thing”.

I also have no need (nor desire) to worry about X-Plat anymore… If it runs on an Apple OS, then its good for me. Not everyone is in that same boat… .Some need Windows, some need Linux, some need combinations of those… I don’t

HOWEVER… :slight_smile:
Once I get my SwiftGui working (which may be another year or so)…I may just attack Kotlin and see if I can add a transpiler mode to this project…but if so, that will be a ways out still

2 Likes

That’s a deal, I can assist if you want me to. That’s something I am familiar to. The entire Point is that Xplat stuff I need always while people (Customers) having different platform needs even for embedded platforms which I have to realize. That makes it to a MUST have for the plat capabilities of Software for all different platforms from Windows, Linux, Unix, MacOS, Its, android and even Rtos Platforms. I have no chance to come out. and for that Java and Kotlin are the two best choices I could find while C# isn’t really ready with Gus frameworks for all platforms and - simply - I have no love for C#.

So if you start a Kotlin Project I will be the most brave tester you can have! promised. Without ranting.

Kotlin is in the Future (if at all)…
I know a little (very little) about Java (which I understand Kotlin is related to)

Basically the way my app works now (in simple terms)… Is it takes an XML description of a control, and uses that to write the “script” code for Swift. Each control has an XML template, which gives default values for all the properties, lists the possible events. Then those properties that are NOT read-only are modified via the IDE part of the app, an a new project file is created (while the templates are XML, the project is actually stored and manipulated as an SQLite Database

Sounds like Kotlin Multiplatform Mobile would be a right target for it; ends up in the same UI Design for IOS and Android, something Kotlin is missing at the moment. You can build that I am sure with your IDE. Would be a great add-on for it for sure.

Kotlin is not really related to Java; Kotlin is a Language which can run on a Java Virtual machine but also can be compiled native what Java can not like Kotlin, only with GraalVM you can compile Java native. But Kotlin is really compilable. And kotlind has a totally different language construct looking on Java. So it is - indeed - another language.

The Multiplatform approach of Kotlin could grow with your Solution in a maximum way in my view and I would see it as a great Job when you start to investigate that. Especially while your Solution has the potential. Much work to get that Job done but binding it to that language would be a great Win for all. I would be happy about it while it brings so many chances.

That is also one point why I use Kotlin with CodenameOne. Compiled as Xcode Project CodenameOne brings me native compiled code for IOS and also for Android in form of Kotlin Code on Dalvik VM. So I don’t need several tricky fancy tricks but only Cn1 and I am ready. With your solution that would be possible for Web, Desktop and Mobile. There is a real chance to build that up and to do that.

Nothing to add… 100 % ACK! Xojo for iOS always has been kinda wrapper to me. Without declaring against Apples’ APIs or with the help of 3rd party addons it was quite unuseable and this picture didn’t change a lot the past several years.

2 Likes

And nothing will change for Android either :wink:

I made the mistake of using Xojo iOS for a client project in its very early days (stupid I know).

The app was really simple though, just basic business data entry and document viewing, so I thought Xojo would be able to cope and the development speed gains through using Xojo rather than Objective C or the very, very new Swift (it was December 2014) should have made up for any hiccups (or so I thought).

Oh how wrong I was.

All the app needed to do was sync with a server to pull down job info for someone in the field. Show them the job location on a map, display some PDFs, allow them to upload photos and fill in some basic forms. Then sync that data back up when a data connection becomes available. Basic business app stuff.

Having to wrestle with the new Xojo framework sapped much of the time gain. Looking back I should have put the time into learning Swift, which is actually super simple when you get into it.

What I found was:

  1. Need a map? You’ll need a plugin for that.
  2. Need to take a photo? You’ll need a plugin for that.
  3. Need to display PDFs in the browser? You’ll need a plugin or declares to allow zooming.
  4. Need to capture submitted data from a simple, local HTML form? You’ll need a plugin for that as the built in browser can’t intercept javascript.

This is just what I remember, but there were a myriad of other issues that required work arounds and declares. And then, when the next version of Xojo came out, I had to update a tonne of code due to changes in the framework.

I recently had another look at Xojo iOS as I needed to produce an iOS version of my main app. I was amazed at how little has actually changed in the 8 years since I last used it. It was obviously a complete non-starter for me. The main issues being:

  1. No gestures. My app absolutely relies on these. How can you build an even remotely modern mobile app without gestures?

  2. No media pickers. Not being able to select media from Files or Music libraries is ridiculous.

  3. Nothing more than basic audio playback. MBS has this covered, which was the only reason I even looked at Xojo, but that’s yet another plugin.

I’ve now moved 100% to Swift with SwiftUI and am happy with my choice. The iOS app is done and I’m in the process of adding a MacOS UI to the project to replace the Xojo version of my Mac app.

Even after 8 years, it’s still a toy. Android will be no better.

Never again.

5 Likes

‘play with declares’ means ‘very limited native capability’ in plain English :crazy_face:

5 Likes

But at least that chance is there to play with…

and it means feature-complete in Xojo-ish :slight_smile: