Since the appearance of smart-phones, mobile development has been done in separate islands, with each island having it's own set of traditions and languages, "Objective-C", "Java", ".Net"......
So the demand for a cross platform technologies has increased, and indeed a solutions emerged, in this article I'm going to explore the main three technologies out there, "rhodes", "PhoneGap", "Titanium Appcelerator".
How it works?
So, this is the entry point for any technique targeting cross-platform, all of them are frameworks target the smart phone's web browser, but they differ in details, which we'll be discussing later.
- Write in familiar web development technologies, instead of learning about each framework.
- Write once run every where (actually this not how things happens, most of the time, it's 'write once, debug everywhere' ).
So, no steep learning curve for each platform, and no extra development time for porting to each platform, only a very small overhead for deployment on different platforms.
- More suitable for data oriented applications, but least effective in rich multimedia applications.
- No support for gaming.
- Lower performance profile compared with native technologies.
Rhodes: Comes with a gem that's used for building and packaging of your applications, and also has a web tool to accomplish these tasks.
PhoneGap: Depends on native development tools shipped with each framework SDK, xCode template for iPhone, Eclipse plugin for blackberry...
Titanium: Have a very pleasant and powerful IDE for creating, packaging and launching of your applications.
Rhodes: Provides complete set of Native controls and styling through CSS to give the end user the same look 'n feel of native applications.
PhoneGap: Does not provide native controls, and lets it up to you to customize the look of your application.
Titanium: Provides some native controls but have less support than Rhodes for native controls.
Rhodes: Supports iPhone, BlackBerry, Android, Windows Mobile and Symbian.
PhoneGap: Supports iPhone, BlackBerry and Android.
Titanium: Supports iPhone and Android, and there exist plans for support for other devices.
Rhodes: Free and open sourced under the MIT License.
PhoneGap: Open source and free.
Titanium: Open source and free while in beta phase, but when released will be commercial.
Cross-platform mobile frameworks, is only a trial to give the same functionality using the same code, when deployed on different platforms, but don't support advanced graphics features, as gaming and extensive multimedia needs, and is the optimum choice when it comes to data oriented applications.
Although PhoneGap is free and open source, it lacks the native look 'n feels supported by other frameworks, and Rhodes supports larger number of Devices, but Titanium have better support and tools than both.