Tim Dietrich

Custom Software Developer

Home Services Blog About Contact

Xojo vs. Xcode

An interesting thread, which was originally started in June of 2015, recently became active again over on the Xojo Forum. The thread, titled "Why Xojo instead of Xcode?", provides a lot of interesting perspectives from Xojo developers on both the current state of Xojo's iOS support as well as the state of iOS development in general. If you're considering using Xojo for iOS development (or for any of the targets that Xojo supports) then you should certainly give it a read.

I've written before about the path that I took that ultimately lead me to Xojo. What's interesting about it, I think, is that I actually turned to Xojo specifically for it's iOS capabilities. It wasn't an afterthought - or a decision to use Xojo for iOS because I had prior experience using it for other targets. So I thought I'd share my perspective in that thread, and also post it here...

The original question was, "Why Xojo instead of Xcode?"

Around a year and a half ago, I was convinced that I wanted to develop mobile apps. I spent a lot of time exploring LiveCode, Xcode / Swift, Xojo, and PhoneGap. I ultimately decided to go with Xojo.

From the moment I started using Xojo, I felt comfortable with it. I cannot say that about the other tools that I had explored. Xojo is a tool that perfectly fits my development style.

Also, I found the learning curve for Xojo to be very reasonable. Not easy, but not difficult either. It's an environment and language that, to me anyway, is logical and straightforward. I truly enjoy using it, and it has renewed my interest in and passion for software development.

That being said, I've worked on several projects where I've had to use Xcode / Swift. I've used it to develop a number of iOS and tvOS apps. For the iOS apps, I had to use it because the projects required access to iOS functions that Xojo doesn't support natively and where declares weren't yet available, or because the app UIs were somewhat complicated. For the tvOS apps, I needed Xcode to develop the bootstraps for TVML-based apps, and in one case a pure Swift / TVMLKit app.

While I've enjoyed working with Swift, the language continues to evolve very quickly and it can be very difficult to keep up with all of its changes. I've found Xcode (and Interface Builder in particular) as well as the iOS APIs to be absolute nightmares to work with. I've spent a lot of time in the Xcode / Swift world, yet it still doesn't feel remotely comfortable to me. I don't think I could use those tools full-time - at least not for very long. They're just too frustrating to use.

Which brings me back to Xojo. After spending that time in the Xcode / Swift world and seeing what it takes to develop iOS apps with them, I'm even more impressed by what the Xojo team has been able to do with iOS. I'm anxiously looking forward to seeing what they come up with next.