Xojo iOS without Android

I will be honest and say that I did not think that Xojo for web apps was going to amount to much of anything.  Granted, I said this as I was struggling with a beta of the very first release to do some actual production work.  Since then it’s gotten considerably better and more stable and it’s become an increasingly large portion of our consulting work.

I was asked the other day what I thought about Xojo for iOS.  I replied that it’s stable and the community seems to be coming up solutions at a much faster pace than Xojo for web.  But until it starts bringing income into my consulting business I’m hesitant to say much more about it.

Let’s talk about that aspect of it for a bit.  When web came out I immediately landed a few consulting projects which was an awesome (and horrifying) way to learn the new framework.  Here it is roughly six months after release and I’ve only had a few nibbles but no actual projects on Xojo for iOS projects.  This despite the ten plus hours of training video I’ve created for Xojo for iOS.

So it makes me wonder if Xojo for iOS is really going to take off.  Part of me wonders if Xojo misunderstood the market for mobile apps.  Sure, iOS is where the money seems to be, but Android has the marketshare and Windows mobile (whatever they call it these days) just keeps hanging around.  Xojo simply doesn’t address Android or Windows mobile.

I think one could reasonably argue that part of Xojo’s strength on desktop is that it makes decent apps that are cross platform and it doesn’t matter which platform you develop on.  You do have to spend extra time for a Xojo app to be 100% compliant on Mac OS X and Windows (I’ll leave Linux out of the mix since I don’t cater to that crowd) and I don’t think many people would argue that if you were going to make a Mac-only application you might want to stick with xCode and Swift or Visual Studio for making a Windows only application.

Apple and Microsoft will always have the best gadgets and goodies for those platforms.  That’s just a fact.  Xojo is often a compromise of the lowest common denominator between the platforms.  It’s RAD capabilities are important but I’m not sure that I’d give it THAT big of an advantage once you get past the learning curve of all the respective platforms and languages.

Xojo for iOS is nice and works well but I feel that without Android it’s not going to get much traction.  Xojo is known for cross-platform apps yet it only supports one mobile platform.  If you were going to go the trouble of developing for more than one mobile platform wouldn’t you go with a tool that supported more than just iOS?

I mean no disrespect to Xojo.  They’ve accomplished a pretty amazing thing.  They have an IDE that allows you to create iPhone and iPad apps without learning Swift or CocoaTouch.  However, you are limited to developing on Apple hardware (that’s Apple’s not Xojo’s fault) and to do any remote debugging you have to use the iOS Simulator that’s part of xCode.  Just that part eliminates a good chunk of Xojo’s potential market (the Windows and Linux users).

Xojo for iOS works well.  It has good developer community support.  I see no reason why developers wanting an easier mobile development environment wouldn’t choose Xojo except for one thing:  It’s iOS only.

So what do you think my fellow Xojo users?  What do you think of iOS for Xojo?  Is it anything without Android and Windows Phone or is it missing something else?

8 thoughts on “Xojo iOS without Android

  1. My feelings are that without Android it feels like it’s only half of a solution. It’s this very reason that has kept me from trying to produce anything for IOS.

    Currently I’m trying to find my way around Xojo web to develope an app that works across all platforms.

    It’s a big learning curve for me but with the help of your videos I’m making steady progress.

    Hopefully Xojo will bring Android on board at some point and suprise us all.


  2. I’m afraid I’m not yet excited about Xojo iOS. Having worked with the amazing XCode tools, Swift, storyboards, etc., I’m afraid learning Swift is the least of my worries (and Swift is an incredible piece of work).

  3. Bob,

    I have to completely agree with this opinion. We have had excellent commercial success developing both service and web applications with xojo. We develop the same applications to work on both Linux and Windows servers.

    We are also in the process of completing a graphics intensive desktop application that runs on both Windows and OSX.

    Tying in your previous observations on business, building a mobile app for IOS alone in xojo makes no sense from a business perspective. If we have to develop two applications anyway, we might as well go straight to platform specific development tools. Using xojo for IOS we gain little, still have double the work, and lose the nuances available in native tools.

    In other cases, Xojo is about as good as it gets for cross platform development. There is really little else on the market commercially or in open source that makes it as easy to build across platforms. It has issues; it’s IDE is an abomination; it is often poorly documented (especially platform differences); and its debugging tools are enough to make you pull your hair out. All that said, it is the best we could find to maintain a single code base for multiple platforms. That IS why we use it.

    We have had to build our own native xojo tool kit to solve issues like:

    – Reporting: we built objects to talk to JASPER report servers.
    – Database: we created a tool that reads SQL Lite, MySQL, SQL Server and Oracle database and produces ORM tools (objects) that we include in our projects.
    – Mutex sub-class: to consistently handle locks across platforms
    – Date sub-class: to make up for the limited abilities of the native date class
    – Facebook interface
    – WordPress interface
    – Twitter Interface
    – HTTP file transfers
    – Global exception messaging system

    The beauty of all this is that despite the extra effort required to build it, 99% of our kit works in Linux, Windows XX, MAC OSX, and even the web apps. The web apps in particular are mind incredible.

    By limiting portable apps to IOS the effort to build a kit to work around the limitations is lost. Without Android it’s just too costly to be worth while.


  4. I struggle with not having Android as my client want “iOS and Android apps”. Rarely do they want just one or the other. It’s difficult to say that we can do iOS, but not Android.

    I’m also worried that when or if Android becomes available that it will be another project type. I already find it frustrating that Desktop, Web, and iOS are different project types.

    I don’t understand why there isn’t one project type with Windows, Web Pages, and Views in it where I could have one set of code and could simply compile to the respective targets. Each target would simply ignore what it can’t use. An iOS app would just ignore the Windows and Web Pages and only consider Views.

  5. I agree with you 100%. Cross-platform is exactly what I would want from Xojo as a mobile development platform. That is, after all, it’s primary strength for desktop and web. I do, however, understand that it took several years for them to implement a decent iOS target, and that the mobile industry has changed ten-fold since they started in that direction. I mean, look how long it took them to deliver Cocoa compatibility. It can’t have been an easy conversion, especially while trying to appease their finicky user base by not breaking everything in the process. So while it may take them a while, Xojo has at least proven themselves in delivering a quality end-result that is usually worth the wait. (Even if it does require enduring a few growing pains in the process.) On the other hand, mobile development is still in the early stages (comparatively speaking) and is quite the slippery slope, changing all the rules every other week. Swift is a HUGE game changer for iOS, and if you’re only interested in the one platform, then that’s probably the way you really want to go. So given all of that, I hope that if/when Xojo does finally pull off a cross-platform iOS/Android solution, that it will happen while both of those platforms are still relevant, because who knows what the deal will be ten years from now. (Even five.) Can they do it? I think so. Will they do it? Only Xojo knows for sure.

  6. As a Windows developer of too many years (and mostly in the service space) iOS has been a bit of a challenge for me. However Xojo has made the transition relatively easy (after I got my head around the views & pushto’s etc.) I’ve learnt a lot from the process and am now able to offer an iOS product to my clients.

    Do I want Android? Yes! Do I want my code to be decompiled by every man & his cat? No!

    The only reason iOS is not the “OS of choice” for mobile devices is Apples’ refusal to allow licensing of their product.

    • That’s a good point, Wayne, that many people may not be aware of. You can decompile Android apps easily. Just google ‘decompile android app’ and you’ll see plenty of utilities and websites to do it for you.

      As a commercial developer I wonder why anyone would trust the platform if it could be stolen so easily if anyone could buy it and decompile it.

  7. If you don’t mind using Windows as your host environment, then there’s another small company out there that has just the right tool for multi-platform mobile development with a Basic-style language: http://www.b4x.com/

    Decompiling Android apps… That’s probably a bit misleading. Most Android apps are written in Java, and I’d say it’s the nature of Java bytecode that it can be “decompiled” rather easily. That didn’t prevent Java from becoming the most popular programming language on the planet, and it didn’t keep the largest corporations on the world from using it as their main development tool.

    Besides, what’s really the problem with somebody decompiling an application? How much harm can possibly be done? And furthermore, who would even spend the time on something like this anymore? If I want to create a cheap knock-off of your application, there are cheap – and even legal – ways to do it if I actually wanted to make money with that clone. For example, a lot of app development for iOS and other mobile platforms is nowadays done in North Korea. We can probably not even imagine how cheap labor in that country must be. I’d buy your app, hand it over to some team there and let them create a clone. No need to decompile, but in the end I would have a reverse engineered product that I could legally sell and you couldn’t even claim copyright infringement.

    In a software landscape that’s nowadays largely dominated by open source products and projects, being afraid the possibility that somebody could decompile your product sounds, well, anachronistic at best. In the 1980s and 1990s this was talked about a lot, and I also remember that there were decompilers for Visual Basic that scared a lot of people. But somehow I cannot remember reading about a large case of “they decompiled my Visual Basic program, renamed it and sold millions of copies of it”. It just didn’t happen. Illegal copies, sure. But nobody needs a decompiler for that, just like you don’t need a decompiler to re-brand some software or exchange company logos in it.

    “The only reason iOS is not the “OS of choice” for mobile devices is Apples’ refusal to allow licensing of their product.”

    I beg to differ. It’s a ridiculously closed platform – to a degree that I personally hate using it because it is hostile to the user. It’s impossible to use a high-end smartphone as a USB stick? Really? Every cheap Android phone can do that, because all flavors of Android allow direct access to the device’s file system – as it SHOULD be!

    But even from a more general usability perspective, I personally find iOS devices harder to use than Android gadgets. In my experience, everything is more cumbersone and counter-intuitive in Apple’s mobile platform. My brain simply is not wired for iOS and I really don’t like it at all. Apple did a lot of things right with OS X, but to me iOS is as horrible as it gets.

    So, no, I don’t think that iOS would be the platform of choice if only Apple would license it. Just as OS X would not be the platform of choice either even if Apple licensed it to everybody else. Try using OS X as your bread and butter platform when you work in a data center environment with a lot of Cisco, Mikrotik, VMware, Microsoft and Linux stuff around you. I can tell you from personal experience that you will quickly regret having bought an OS X machine for managing such an environment – simply because nothing works properly with OS X and you will always need a Windows VM to get the job done.

    Back to the original topic: Xojo for iOS but not for Android. For all the reasons mentioned above, that’s completely uninteresting for me. I don’t use iOS, and neither does any of my technical colleagues. We’re all on Android, full stop. I know that the mobile market in the US is largely owned by Apple, but the rest of the world looks entirely different. You see a lot of iPhones and iPads here in Europe, sure, but you see even more Samsung, Sony and HTC smartphones here. Yes, there are many iPads, but there are also many no-name tablets. And people even own Kindles — the eBook reader, not the tablet. I spend 12 hours every week on an ICE train and there you get a nice impression of what people are using. And despite everything that Apple and even Microsoft would like you to believe, Windows 7 is still the most widely used operating system on notebooks…

Comments are closed.