I've been a zone leader with DZone since 2008, and I'm crazy about community. Every day I get to work with the best that JavaScript, HTML5, Android and iOS has to offer, creating apps that truly make at difference, as principal front-end architect at Avego. James is a DZone Zone Leader and has posted 639 posts at DZone. You can read more from them at their website. View Full User Profile

Is Cross Compilation the Future of Mobile Development?

  • submit to reddit

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.




Sam Durohan replied on Wed, 2010/03/17 - 6:46am

I am a Web developer, specialist in Mobile development. yes PhoneGap is a good tool. But James, you have to wander around a little bit more. There are different cross platform frameworks for mobile and some are more powerfull than RhoMobile or PhoneGap (see below).

One of my customer asks for an app that could work on iPhone, Android phones (ALL not only one or 2, which is tricky because Android is a platform and mobiles are different behaviors, but it is another story, Windows Mobile and some feature phones in J2ME.

I have found Streamezzo framework. I am learning now.  Not easy but at least it REALLY proves that "write once and deploy everywhere" is true with it

Olivier GERARDIN replied on Wed, 2010/03/17 - 8:32am

Since Palm's webOS SDK (Mojo) is Javascript based, I suppose it should be quite easy to add webOS to the list of Titanim target platforms ?

Alex(JAlexoid) ... replied on Wed, 2010/03/17 - 8:59am

Cross compilation is a good option for applications that do not use diffirentiating features of the phone. Sure a lot of applications are only front-ends for some big backend, but still...

Markus Heberling replied on Wed, 2010/03/17 - 10:41am

There is also XMLVM http://www.xmlvm.org for Android->iPhone Cross Compilation. It is not complete, but it's open source.

Ivan replied on Wed, 2010/03/17 - 11:11am

I believe so. one of the cross compile tool from innaworks They able to compile JME to iPhone, Android, Flash, WindowsMobile, Brew! This is amazing~ I really hope that Oracle WILL take a look into this product and.... ;-) make it part of Java compiler options.... http://www.innaworks.com/alchemo-java-me-j2me-to-brew-android-iphone-flash-windows-mobile-cross-compiler/

John Wood replied on Thu, 2010/03/18 - 9:08am

These cross compilation tools are great, but I personally hope the web is the future of mobile development.


Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.