Our Thinking

Cross Platform Mobile Applications: Pipe Dream or Ready for Prime Time?

Posted by Andy Oliver on Oct 17, 2011 3:00:56 AM

Three years ago, Apple's iTunes App Store launched, and the mobile landscape was turned on its head. Mobile applications had long been available for handhelds, but Apple centralized their location, made purchase and installation dead simple, and most importantly created a culture around the use of "apps." First time smartphone users who used to ask "How do I setup email on this thing?" were now asking "What apps should I get?"

While the consumer market boomed, the Enterprise waited patiently. This was partly due to concerns that apps were just a "fad," but mainly in anticipation of one platform becoming dominant. In the nineties, web applications set the standard for universal accessibility, and now the mobile generation threatened that with significant fragmentation.

So now, as the Enterprise has no choice but to get involved in mobile development, the question remains: Is it possible to develop once, and deploy to all platforms? The answer is yes, and we'll investigate the three cross-platform frameworks that have the most industry traction.

PhoneGap

Developers can be intimidated by a new programming language like Objective C (for iOS apps) or Java (for BlackBerry or Android), and that's where Adobe's latest acquisition, PhoneGap, shines. Taking advantage of HTML and JavaScript, PhoneGap allows a developer to create an application once using familiar web technologies, and then have it submitted to all of the major mobile app stores. Even better, PhoneGap provides JavaScript based APIs to allow developers access to phone hardware not normally accessible via the web, like the GPS, camera and contacts (see the table below for more feature compatibility). PhoneGap provides the easiest path for getting an app up and running, but it's not as "native" of a solution as the other frameworks mentioned below. PhoneGap apps are essentially using an embedded browser to display a local mobile website rather than true native controls. While this isn't a terrible thing, it doesn't provide the same level of polish that a native app would. Lastly, a word of warning to those thinking that PhoneGap is the holy grail of mobile development: Not a single app listed on their website has been deployed to more than two platforms, with most just being developed for iOS or Android. This definitely says a lot about performance, as well as cross platform compatibility that isn't necessarily evident on their features table.

Appcelerator Titanium

Appcelerator's Titanium Mobile framework takes a similar, but different approach than PhoneGap. Rather than creating HTML which is then rendered on the mobile device, Titanium actually translates HTML and Javascript into native application code. This means that a Titanium app should theoretically look and act exactly the same as an app developed in Objective C or Java. Titanium also provides 300 APIs that allow access to the same device hardware as PhoneGap, and also includes out-of-the-box Facebook and Twitter integration along with SOAP support. While this is a developer's dream, the reality is that Titanium isn't as cross platform as PhoneGap, as it only supports iOS and Android (with BlackBerry supported in the beta version). The other concern with Titanium is that it's a bit more rigid as it requires the developer to use a specified JavaScript library. This means that there's a bit of a learning curve getting started, but the results are hard to argue with on Titanium's app showcase page.

Rhodes by Rhomobile

The last major player in the cross platform mobile space is a framework called Rhodes, by Motorola's latest acquisition, Rhomobile. Rhodes offers the best features of both PhoneGap (they support all major platforms) and Appcelerator Titanium (it also generates native applications), but do so with Ruby as their language of choice rather than straight HTML and JavaScript. Where Rhomobile really sets itself apart is with their Enterprise support in an additional product called RhoConnect, which promises easy integration to any backend data source including Oracle, Java and .NET backends. This level of integration, albeit significantly more complex than its competitors, will likely pique the interest of many large Enterprises. Once again, while Rhodes technically offers true cross platform compatibility, their Customer Apps page shows examples of iOS and Android only.

All three of the discussed frameworks have their merits, and all have proven to be successful in their own right. PhoneGap is the most approachable and compatible solution; Appcelerator's Titanium generates truly dynamic mobile applications, but at the cost of total cross platform compatibility; while Rhomobile's Rhodes generates native applications on all major platforms, provides Enterprise integration, but also comes with the steepest learning curve. So, which is the best solution for you? The answer really depends on the nature of the application, and also, whether a native application is needed at all. The mobile web doesn't benefit from the visibility and marketability of an app store, but it's always the easiest solution to implement and is completely cross platform by nature.

So the bad news is that much like the current mobile landscape, the world of cross platform mobile application frameworks is rapidly changing, and without a true industry standard in place. Luckily, there's some good news as well. The current cross platform leaders are proven, reliable, and offer tremendous value to developers and Enterprises alike looking to finally take the mobile plunge.

 

Topics: Mobility

Our Thinking - The Online Blog is a source for insights, resources, best practices, and other useful content from our multi-disciplinary team of Onliners.

Subscribe to Blog Updates

Recent Posts