Cross-platform mobile development is all of the rage these days. It is quite often one of the first things I am asked about by new and potential clients. Everyone wants to go to market as fast as they can, reach the largest audience possible and get there as frugally as possible; but every application and use case is different. So should where should we leverage cross platform tools and where should we not?
There are many cross-platform frameworks in the marketplace today. Each attempts to leverage an existing development technology as its backbone. This lets organizations repurpose existing development resources to go mobile. Below are several of the market leaders:
There are many cross-platform frameworks in the marketplace today. Each attempts to leverage an existing development technology as its backbone. This lets organizations repurpose existing development resources to go mobile. Below are several of the market leaders:
Cross-Platform Frameworks
Adobe Flex / AIR Mobile
Like all frameworks, Adobe AIR applications will take a performance hit in comparison to purely native applications. AIR performance has greatly improved with AIR 3.0 and Flex 2.6. Recently, Adobe has announced they are discontinuing development of Flash on the mobile browser and will be putting their efforts toward native mobile application development in the Flex / AIR framework.
PhoneGap:
PhoneGap apps run inside a WebKit instance. What does this mean? On iOS for example, the application is executed inside a UIWebView control and the PhoneGap framework redirects JavaScript calls to the native API. Even though the application is running inside of the WebKit space, it can access any of the device APIs via the PhoneGap framework.
Appcelerator’s Titanium Mobile:
RhoMobile
RhoMobile is a platform based upon Ruby on Rails. Developers with backgrounds developing rails applications will be able to quickly push applications out the door with this platform. The front ends are designed with existing web technologies such as HTML, allowing web developers to create the UI with ease. Like PhoneGap, there is no native control support.
Pros and Cons:
Pros:
Cross-platform tools are not the one-shot solution for all of your mobile needs, as these vendors would like you to believe but each has its pros and cons and optimal use case. Due diligence in the planning and scoping phase of your mobile endeavor will help you discover if one of them is right for you.
Adobe Flex / AIR Mobile
- Website: http://www.adobe.com/
- Language: ActionScript
- Platforms: iOS, Android, Blackberry Tablet
- License: Commercial (Air distributable free, development tools commercial)
Like all frameworks, Adobe AIR applications will take a performance hit in comparison to purely native applications. AIR performance has greatly improved with AIR 3.0 and Flex 2.6. Recently, Adobe has announced they are discontinuing development of Flash on the mobile browser and will be putting their efforts toward native mobile application development in the Flex / AIR framework.
PhoneGap:
- Website: http://www.phonegap.com/
- Language(s): Javascript, HTML, CSS
- Platforms: iOS, Android, BlackBerry OS, webOS, Windows Phone 7, Symbian, Bada
- License: Open-Source (MIT license)
PhoneGap apps run inside a WebKit instance. What does this mean? On iOS for example, the application is executed inside a UIWebView control and the PhoneGap framework redirects JavaScript calls to the native API. Even though the application is running inside of the WebKit space, it can access any of the device APIs via the PhoneGap framework.
Appcelerator’s Titanium Mobile:
- Website: http://www.appcelerator.com/
- Language(s): JavaScript, JSS
- Platforms: iOS, Android
- License: Open-Source (Apache v2 Community Edition)
RhoMobile
- Website: http://rhomobile.com
- Language(s): Ruby, HTML, CSS, JavaScript
- Platforms: iOS, Android, BlackBerry OS, Windows Phone 7
- License: Open-Source (MIT license)
RhoMobile is a platform based upon Ruby on Rails. Developers with backgrounds developing rails applications will be able to quickly push applications out the door with this platform. The front ends are designed with existing web technologies such as HTML, allowing web developers to create the UI with ease. Like PhoneGap, there is no native control support.
Pros and Cons:
Pros:
- Single Code Base
- The primary advantage of the cross-platform framework is at the end of the day, you will have a single code base in which to manage and grow.
- Repurposing Development Talent
- Cross-platform tools allow enterprises to leverage existing development talent to create mobile applications without learning the native APIs.
- Decreased development time
- Cross-platform tools can potentially lessen development time for mobile projects.
- Limited Control
- Adopting a cross-platform tool for your development strategy limits your ability to get at low level details in the native API stack. For more complex applications this can be a massive negative and end up lengthening the development effort past that of creating the application natively at the start.
- Marriage to the Tool
- Once invested in the cross-platform tool, your organization is invested in that tool. There is currently a large growth in this space and the consolidation of the players has already begun with Adobe acquiring PhoneGap. Building your enterprise strategy on one of these platforms that may be gone tomorrow can be troubling.
- Limited Features
- Cross-platform tools will always lag behind the native APIs. When Apple and Google launch new features with their new SDK revisions, you will be at the mercy of the tool developer to incorporate these features into the cross-platform framework.
Cross-platform tools are not the one-shot solution for all of your mobile needs, as these vendors would like you to believe but each has its pros and cons and optimal use case. Due diligence in the planning and scoping phase of your mobile endeavor will help you discover if one of them is right for you.
