Honest opinions - Xojo or not for new iOS App

Hi all,

People here know I’ve been a long time Xojo user/fan - over 15 years to be specific. I’m in a bit of a dilemma and I’m looking for some honest opinions.

I have an idea for a iOS app - nothing enormously complex but complex enough. I have spent the last couple of weeks reading Swift and playing around with Xcode and it’s nice. It’s not as nice as Xojo in my opinion but I digress.

Has anyone successfully created iOS apps with Xojo and put them on the App Store? What are the trade-offs you have to make using Xojo vs Swift? I’m obviously intimately familiar with Xojo’s syntax and it’s my default tool to go to when I’m knocking out a macOS or Windows app but I want to be able to support Siri shortcuts, HomeKit and HealthKit as well as be able to send iMessages from this app I have in mind. Is that even remotely possible with Xojo? I see that Xojo doesn’t even support regex on iOS!

Again, I’m knot looking to start a flame war and I’m not touting for other tools but I’m just canvassing for opinions on whether Xojo’s iOS implementation is up to snuff (given that it’s what - 3 years old now?).

Thanks,

I would love to start an iOS version of my app. I even wrote all the core code in the new framework with the intention of making it happen. But it doesn’t make any sense to start the project now. With the new old framework coming, it means I wasted my time using the new framework, but we don’t know what future code will look like. iOS for Xojo is in complete disarray right now, since the only code you can write for it is already deprecated.

I personally could not convince myself to do it.

Thanks for your honesty Thom. I’m in a similar boat. One of the features my app will do is allow basic scripting of actions. With Xojo I could utilise my Roo scripting language IF I port it to iOS. That’s a big ask for two reasons - one it requires purging all references to 3rd party plugins (bye bye regex and fast hash maps) and it means moving from fast Strings to slow Text which (as you correctly point out) is already deprecated.

Hmm. With any luck XDC will bring some news on the new old framework.

I’m in the same boat. I want to use Xojo for iOS and Android as an offline app that would connect to Xanadu for PHP. The plan was to start on iOS and reuse as much code as possible onto Android when ready.

Without getting too into it, the features you’re looking for (Siri shortcuts, HomeKit, HealthKit) would be far easier to take advantage of in Xcode and Swift.

nice to see some of my previous comments concerning “Xojo for iOS” being vindicated :slight_smile:

Learning another language will be a huge benefit, and the best way to learn it is writing a real app.

May I suggest you take a look at this

Just an FYI… While I am not an advocate of “Xojo for iOS” (love Desktop, for now)… Might want just point out that active promotion of competive products is against the guidelines of the forum… Just saying …

Hi Garry,

I have published, or worked on 10 Xojo made iOS apps.
Here are some of them:
https://packr.app
https://itunes.apple.com/us/app/scanley-cybrick/id1437944812
https://itunes.apple.com/us/app/learn-photoshop-cs6-quickstart-edition/id525271981?mt=8

I have never used Swift (yet) and I find Xcode to be quite complicated to use.

I will certainly port Roo to iOS in a couple months as I need it for my next project.

Xojo for iOS does need a lot of declares, but using iOSKit by Jason King and my iOSDesignExtensions will give you many additional features, without writing any declares.

Regex are supported with iOSKit.

I am certainly the most active Xojo iOS developer, and really love all I can do with it. However I must admit that you are better off with another solution when it comes to Siri shortcuts and HomeKit.

I have being developping mobile apps for iOS and Android for 5 years now.

In my case, I use windows and the lack of support for iOS proyects in windows was the first sign of a not really complete solution. Months later, I give it a try with the mac, but, it feels too limited.

Maybe it all deppends on what your app is going to need, but, wasting time starting and then find out that it cant be done in xojo out of the box, its almost a certain thing.

[quote=414569:@Jeremie Leroy]Hi Garry,

I have published, or worked on 10 Xojo made iOS apps.
Here are some of them:
https://packr.app
https://itunes.apple.com/us/app/scanley-cybrick/id1437944812
https://itunes.apple.com/us/app/learn-photoshop-cs6-quickstart-edition/id525271981?mt=8[/quote]
Wow - they look great - thank you for sharing.

[quote=414569:@Jeremie Leroy]I will certainly port Roo to iOS in a couple months as I need it for my next project.

Xojo for iOS does need a lot of declares, but using iOSKit by Jason King and my iOSDesignExtensions will give you many additional features, without writing any declares.

Regex are supported with iOSKit.[/quote]
I’m not sure if I can say but I may or may not be speaking at a certain upcoming Xojo event in the not too distant future and was hoping to have ported Roo to iOS by then for the demo. Before I realised that it was already possible to use regex with iOSKit I thought I would have to write my own regex parser (not fun) and was going to save that for Roo version 3 (byte code interpreter). Have you used the class before? If so, could you provide an example of a simple regex query with iOS?

Don’t worry about porting Roo yourself - if iOSKit works as advertised then I’ll take a crack at it.

The border between ‘active’ promotion and information is a little bit blurry. This depends of your own personal point of view. Anyway, my post can be removed in case there is offense against forum rules.

[quote=414570:@Pedro Ivan Tellez Corella]I have being developping mobile apps for iOS and Android for 5 years now.

In my case, I use windows and the lack of support for iOS proyects in windows was the first sign of a not really complete solution. Months later, I give it a try with the mac, but, it feels too limited.

Maybe it all deppends on what your app is going to need, but, wasting time starting and then find out that it cant be done in xojo out of the box, its almost a certain thing.[/quote]

We require certain portions of the tools Xcode installs like the simulators and these do not exist on Windows. At most you could edit a project. You could not compile it, sign it, submit it to the app store, etc as those tools do not exist on Windows since Apple does not make Xcode for Windows.

[quote=414584:@Garry Pettet]Wow - they look great - thank you for sharing.

I’m not sure if I can say but I may or may not be speaking at a certain upcoming Xojo event in the not too distant future and was hoping to have ported Roo to iOS by then for the demo. Before I realised that it was already possible to use regex with iOSKit I thought I would have to write my own regex parser (not fun) and was going to save that for Roo version 3 (byte code interpreter). Have you used the class before? If so, could you provide an example of a simple regex query with iOS?

Don’t worry about porting Roo yourself - if iOSKit works as advertised then I’ll take a crack at it.[/quote]
Everything in iOSKit should work except for some of the visual effect view code (which Jeremie’s code handles :slight_smile: ) and maybe the GameKit stuff since that probably needs more extensive testing.

Regex works identically to standard Xojo desktop with one small exception. Check the test cases for Regex to see what it is (don’t remember off the top of my head, sorry). It’s because a different engine is used under the hood. Kem and I couldn’t figure out how to change that but it’s a corner case that you probably won’t face.

Edit: and the test cases will show you how to use the classes.

Here is an example of regex I use with iOSKit

//Check that an email address is valid
try
  Dim reg As new JKRegEx.RegEx
  reg.SearchPattern = "^\\w[\\w|\\.|\\-|\\+]+@\\w[\\w|\\.|\\-]+\\.[a-zA-Z]{2,4}$"
  
  Dim myMatch as JKRegEx.RegExMatch
  myMatch=reg.search(field.Text)
  if myMatch is Nil then
    Return False
  End if
catch err as runtimeException
  Return False
end try

Return True

I needed an iOS app 18 months ago, and Xojo was unfortunately not a good option due to lack of support for CoreBluetooth. So I bought and read all the Neuwirth books on Swift and iOS and banged out the app in a month. I did not enjoy Swift’s sometimes cryptic operators and syntax, its whitespace sensitivity, its case sensitivity, and its “everything-on-one-long-page” format, as opposed to Xojo’s compartmentalization of methods and superb plain-English readability. That said, I never fully understood the power and usefulness of delegates until forced to use them by Swift :slight_smile:

Let’s agree to disagree on this one!
My ten iOS apps on the App Store, with more than 500k downloads, most of them 4.5+ rated apps, are the living proof that Xojo iOS is usable.

I feel lost. I want a product like Xojo Desktop for Mobile apps. One project to create iOS and Android and I’d prefer it to be Xojo.

I don’t follow… what is a real app?