Sell me on Xojo!

In particular, please convince me to go with Xojo over iFactor.

Please don’t factor Raspberry Pi, Console, or Web Apps into your argument since I’m only interested in mobile (and secondarily desktop) apps (for the foreseeable future). I am–in Filemaker terms–a “citizen developer,” and as such, ease-of-use/low learning curve is a decently significant factor. Future-proofing and Feature-rich, however, are more important to me… I do like Xojo’s IDE…

Thanks in advance for the input!

EDIT: I’d be interested in hearing from an “insider” on what the projected percentage will be of shareable code between Andriod and iOS.


[quote]Microsoft .NET and Mono provide the foundation. Mono, the open-source port of .NET, brings C# and .NET to non-Windows platforms including iOS and Android.

On top of that, you have Microsoft frameworks like ASP.NET and the Windows Phone SDK as well as Xamarin iOS and Android which provide access to platform-specific APIs from C# .NET.[/quote]

’Nough said.

Convincing means trying Xojo to see if it meets your needs.

If you try it and your needs are met then you will be your own advocate on weather or not Xojo is the right tool or not for your projects.

happy coding!

I came from Microsoft Access back in 2005 and was/am a citizen developer. Any programming language is going to require more “programming” than a database application. It took me a while to get use to that. But, in the end, the app you create can do exactly what you want it to do. There are very few things that you can’t do in Xojo. We are using it for Web, Desktop and Console apps and we share a lot of code between all of them.

I don’t think anyone really knows how much code will be sharable between IOS and Android. I suspect that after 2 or 3 (4?) years, when Xojo has API 2 running on both, it will be much easier. For now, I would assume (depending on your skill level) you should be able to share quite a bit of non-ui code. But, then there is the Text and String issue where IOS uses text but I am assuming Android will use String. Sadly, I think this is a tricky time to jump into Xojo strictly for mobile. Hopefully someone who has done of lot of Xojo IOS development can provide some insight on the best was to “future proof” (as much as possible) any new IOS development.

Hi Reuben,

As a citizen developer, there are 3 factors you should consider when choosing a development tool/language because as you know you’ll be dedicating quite a bit of time to it.

  1. How easy will it be to learn the language?
    I think you’ll find Xojo far more approachable than iFactr given it’s based upon ,NET/Mono. Xojo’s object-oriented language is also far more friendly for the citizen developer than C#. You might spend a day with Xojo and iFactr and see which feels more friendly and intuitive. I think Xojo will win out easily.

  2. Does it meet your needs?
    From what you’ve said, Xojo certainly does. iFactr perhaps does as well but then it doesn’t support the desktop so you’d be building mobile apps with iFactr and then switching presumably to Microsoft’s Visual Studio for desktop apps. I will note that building cross-platform desktop apps with .NET is not for the faint of heart.

You mentioned that you’re not interested in web app development. I wouldn’t discount this completely. You’re not interested in that today but you may find yourself in the need of that at some point. With Xojo, you can build web apps with the same tool, language and API you use to build other kinds of apps. By learning Xojo, you’ve learned most of what you need to learn to build web apps. That may not be a need today but I’ll bet once you have that as an option, you’ll find yourself in need of it.

  1. Given that you’re going to invest considerable time and energy into whichever tool you choose, how long will that tool likely be around and how well-supported is it today?
    Xojo has been around since 1998. It started as a Mac-only development tool supporting the old Classic MacOS on the 68000 and PowerPC processors. Since then we have moved to x86, ARM, MacOS X (now called just MacOS) Windows, Linux, the web, iOS, and Raspberry Pi with Android coming soon. We continuously modernize. For example, we now use LLVM as our compiler backend. We are constantly upgrading our frameworks. We have almost certainly been through more platform and technology transitions than the overwhelming majority of development tools. We have a business model that clearly works. You’ll see the same faces from our team year after year answering questions on this forum. We are dedicated. Here it is 8AM on a Saturday morning and I get a text from my Director of Marketing suggesting that I answer your question on our support forum. That tells you something about our team.

I’d never heard of iFactr but I did some research. iFactr is from Zebra Technologies, a company publicly-traded on the NASDAQ. They open-sourced iFactr last June. That should give you pause. Despite how they might spin it, it’s almost certain that they couldn’t make a profit from iFactr so they open-sourced it instead. It’s a classic tale. Zebra is a hardware manufacturer mostly. They provide some development tools for their specific hardware products. They no longer even list iFactr on their website under Products/Software. That’s telling as well. This has all the signs of a product that has been abandoned. Most of the links on their support page to things like their FAQ and licensing are broken. How long has that been true? iFactr hasn’t been around long enough or become popular enough to have a wikipedia page. A google search for iFactr results in 16,500 hits total. A google search for Xojo results in 173,000 hits and we rebranded back in 2012. Had we stayed with the same brand, the total would be well over a million. I’d like to see how active their support forums are but they don’t allow access to them without an account unlike ours which are open to anyone. As you can see, our forums are overflowing with enthusiastic users ready to help those with questions. Developers that come to Xojo from other products frequently tell us that our community is the friendliest they have ever encountered. We also have a yearly developer conference where you can meet us and many of our users. We just had one in Denver last month. The next one will be in Miami next May.

iFactr might be approachable enough for you. Only you can decide that. It might also meet your needs in terms of the platforms it targets. However, it looks like a product that never gained much popularity, is not well-supported and has been abandoned to the open-source world by its developer. This final factor (no pun intended) should make you extremely cautious about iFactr.

I hope you will choose Xojo. My team and the thousands of users from all over the world on this forum warmly welcome you to our community.

the premise behind xojo is to write once and deploy many. sure there will be some items that will only relate to a specific os, but the overall syntax used to code is the same. as far as android is concerned, this module is not released currently and it is only speculation as to what will be availble natively and what will require declares. this also leads into the topic of making your programming language decision based on what is availible today than what is supposed to come. i do not believe anything is future proof as technology will always involve and then it becomes a debate for using the right tools for the right job.

lastly, i dont think anyone can argue why you should or shouldnt use Xojo. the topic is subjective to the individual and mileage may vary. as a fellow proconsumer of Xojo for the past 10 years, i have found Xojo to be a wonderful toolset in my day to day operations.

@Geoff Perlman, thanks for the detailed and thoughtful response!

I’m currently converting a 6 year old Mac app to iOS and am copying most non-ui code straight over, except for the String vs Text differences. But this isn’t difficult, just annoying. The recent developer conference announced that these kinds of issues will be sorted out by unifying things again in the future.

You may appreciate my XojoiOSWrapper which provides classic syntax for a number of operations, so you can run existing code under the new framework.

I originally developed it to port a desktop app to Xojo iOS.

You’re welcome.