Over a million developers have joined DZone.
Platinum Partner

Is Cross Compilation the Future of Mobile Development?

· Java Zone

The Java Zone is brought to you in partnership with ZeroTurnaround. Discover how you can skip the build and redeploy process by using JRebel by ZeroTurnaround.

Recently, I've been looking into developing for the mobile platform. In particular I wanted to develop an application for the iPhone - it seems to me that if you're going to get a large audience, then Apple's AppStore is the place to be. There was part of me that felt uneasy about this. After all, I was turning my back on other platforms, particularly Android.

The major issue for me was that I'd have to learn Objective-C. While learning a new language is great, it would take me some time before I could deliver a production quality mobile application. I took a look around at various cross-compilation offerings to see what was available.  I found two open source offerings: PhoneGap and RhoMobile. Both seemed fairly powerful to me, RhoMobile allows you to write your app in Ruby and deploy across a range of mobile devices, and while PhoneGap using HTML & JavaScript to get onto the iPhone, Android or BlackBerry. All of a sudden, it looked like I could write once and deploy everywhere! 

Then I saw Mitch's recent article on Titanium from Appcelerator, so I thought I should take a look at that. I downloaded Titanium Developer and within minutes I had a mobile application stub, created by Titanium, running on my iPhone simulator. After finally working out where the application gets generated from (the app.js file in your Resources folder), I was able to make customisations quickly and easily... in JavaScript. 

What I really like about Titanium is that I can use their API, in simple JavaScript, to create an application that will work on the iPhone or Android. Looking at the KitchenSink samples, it seems that they cover all the native components. It's fantastic that this age of cross-compilation has come around, allowing developers to create native applications for popular mobile platforms, without having to commit to one of their languages. 



Right now, the mobile device targets are iPhone and Android, with iPad and Blackberry support on the way (and available from the Beta program). The free version allows developers to get a feel for Titanium with all the features of the paid Professional version ($199 per developer per month). There is no product different between the different versions: the differences surround the support SLA, length of analytics data and the ability to get early access releases.

Have you used any of these cross-compilation tools for developing mobile applications? Do they work well, or is there a catch? I'll be taking a closer look at Titanium over the next few weeks and will report back on how the experience went for me.


The Java Zone is brought to you in partnership with ZeroTurnaround. Discover how you can skip the build and redeploy process by using JRebel by ZeroTurnaround.


{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}