Subscribe / Unsubscribe Enewsletters | Login | Register

Pencil Banner

How cross-platform tools make It easier to develop for both iOS and Android

Paul Rubens | Dec. 6, 2013
If you're building applications for Android and iOS, cross-platform mobile development tools can make you more productive. Just don't expect the results to look pretty.

Android and iOS are the two key mobile operating systems. Not coincidentally, they are the two that also cause huge headaches for app developers.

That's because if you develop apps for both iOS and Android the way that Apple and Google encourage you, you need to develop and maintain two source code bases for the two different platforms. That means different tools ( Apple Xcode and Android SDK), different APIs, different languages and so on.

If you're involved in developing mobile apps for use within your enterprise and you have a BYOD policy, things could soon get even worse: If Windows Phone 8 gains traction, then the number of platforms you may have to support will expand from two to three.

"There is huge need out there amongst mobile developers, and especially in enterprises where mobile development is escalating rapidly, to increase the productivity of development," says Al Hilwa, IDC's software development research program director.

Market for Cross-platform Mobile Development 'Growing Rapidly'
One solution is to use JavaScript or HTML5 - languages that were designed to render on multiple operating systems. But these haven't proved to be the ideal option for which many developers had hoped. Performance has often been disappointing, maintenance can be time-consuming and the access they provide to specific device features is often limited.

A more promising solution may be multi-platform development environments that let you develop a single code base and compile it to run on different mobile platforms. Xamarin, for example, lets you write apps in C#, calling any native platform APIs directly. The Xamarin compiler then bundles the .NET runtime and outputs a native ARM executable, packaged as an iOS or Android app.

Embarcadero's RAD Studio XE5 does something similar, with code written in Delphi XE5 compiled to native binaries for Apple or Android device hardware. Other options include Appcelerator Titanium, IBM Worklight and Adobe's open-source PhoneGap, which carries out compilation in the cloud.

"This is definitely an exciting market, and one that is growing rapidly," Hilwa says.

Embarcadero: Compiling to Native Code Begets Better Performance
So how well do these types of cross-platform tools address the problems suffered by HTML5 and JavaScript? John Thomas, Embarcadero's director of product management, says compiling to native code need not involve a performance hit. With Android, performance may even be enhanced, he says.

"Apple did a great job, and iOS is pretty well-optimized. What we deliver with native code is comparable performance," Thomas says. The story differs with Android because of the way an Android app runs inside a Dalvik VM. "Even with just-in-time compiling, there's a performance hit," he says.


1  2  3  Next Page 

Sign up for MIS Asia eNewsletters.