Blog

Cross-Plateform mobile applications, a dream becomes reality!3

Introduction

Background

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?

Despite the fact that each smart phone speaks a totally different language than others, they share one great advantage, that's they all have a web browser, so they all understand HTML, CSS and Javascript.
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.

Advantages

- 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 every where' ).

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.

Disadvantages

- More suitable for data oriented applications, but least effective in rich multimedia applications.
- No support for gaming.
- Lower performance profile compared with native technologies.

 

Technical Comparison

Development framework:

Rhodes: Hosts a Ruby on Rails framework, which have views, controllers and models, but lighter weight than desktop framework, so, a light weight rails server runs under the hoods, and a html, javascript web pages is viewed inside a browser, so that this framework is much more easier for rails developer to grasp.

PhoneGap, Titanium: uses html, css and javascript, with application logic hosted inside a "WebView" control, but don't mix this with normal web applications, as normal web applications don't have access to the native functions such as Camera, contacts, geolocation.....etc, but PhoneGap and Titanium compiles as normal application and hosts the code inside a WebView control so that they can access native functions through javascript bridges.

Tools

Rhodes: Comes with a gem that's used for building and packaging of your applications, and also have 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.

User experience

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.

Supported Devices

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.

License

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.

 

Summary

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 feel supported by other frameworks, and Rhodes supports larger number of Devices, but Titanium have better support and tools than both.

  • 3 Comments

  • Blog_user_avatar Says:

    thank you

  • Blog_user_avatar Says:

    Thank you for this excellent comparison. I have a question regarding the commercial use of Rhodes.

    On their website (http://rhomobile.com/products/rhodes/) it says:

    "Rhodes is free and open sourced under the MIT License. Those companies requiring commercial grade support can purchase an Enterprise License for $1,000. "

    Is this something which has changed since you wrote this post? or am I looking at the wrong website? It looks like it can be used for commercial purposes under the MIT license.

    Thanks again!

  • Myphoto Mostafa Ali Says:

    Yes, Lea hayes,

    That has been changed since last time I wrote edited this post.

    you're right.

Leave a Comment...