Rhodes vs. iPhone SDK, which is better for me?

rhodes-framework-mobile-developmentIn case your target is to deploy your mobile app to several mobile platforms — such as iPhone, Android, Blackberry, Symbian and Windows Mobile — we can provide custom mobile development and design your application so that it works well on all these mobile platforms with very little additional effort, using a new cross-platform mobile framework called Rhodes. Rhodes will allow us to create one application that will run on all platforms and re-skin it to look like a native application on each system, effectively reducing the overall development costs.

Sounds great, but does Rhodes add any additional hurdles that would not be encountered if we used iPhone SDK?

The iPhone SDK is Apple’s native development environment. There are still some areas of the SDK that are cloudy, like those nice undocumented features you are not allowed to use. There are functions and APIs that became obsolete with the release of the iPhone OS 3.0 SDK while a lot of new stuff is being built in over time.

However it’s all official so you get some guarantees: your software will be backward compatible with older phones as long as you build it on top of APIs available to iPhone OS 2.2.1 and the new OS 3.0, and you can easily upgrade your calls from OS 2 to OS 3 because everything is well documented, at least compared to the competitors’ development environments.

Rhodes is a new framework. It is built by a small company (compared to Apple) which hasn’t a 100% guaranteed future in the years to come (hey Rhomobile, we do wish you all the best!) and it will probably see the same issues in framework versioning as Rails. When a new version of the framework comes out there may be significant changes to the core features to require a partial rewrite of the app to update it to the new structure.

It may also become necessary to keep up-to-date with new Rhodes framework releases if Rhomobile won’t update older versions to keep it compatible with the new iPhone, Blackberry, Android, Symbian and Windows Mobile releases.

There are a ton of variables when dealing with multiple platforms that you don’t have when dealing with iPhone SDK only. However, the effort of updating the app in 6 to 12 months is likely in the iPhone market as well — as this year’s Apple Worldwide Developers Conference has taught us.

With Rhodes you get the added value of updating your code perhaps once every year and deliver to all instead of having the need to update once every year or so for each platform.

Rhodes is also likely to add support for more platforms as they become available: ie. there are rumors for a new Blackberry smartphone that will be nearer to current Android phones and the iPhone in terms of screen size and resolution.

The only real limitation with Rhodes is that it has issues in dealing with multimedia (audio and video). It works fine with still images and databases. It should be even better suited then the iPhone SDK to work with websites since it relies on web technologies.

Another important fact to keep in mind, as pointed out by one of our readers, is that you are limited by the browser capabilities each mobile platform makes available (ie. Windows Mobile 2003 may not be able to use some AJAX facilities).

The other show stopper for you may be the licensing model. Rhodes is free for open-source apps but Rhomobile asks for a percentage (around 5%) of the actual earnings for all commercial apps. The percentage is not calculated on the public App Store price: it’s calculated on your actual income, taking into account Apple’s commissions on the sales.

UPDATE: Rhomobile is dual licensed offering the GPL to open sourced applications and a commercial license for everyone else. A Rhodes Commercial License is $500 per app for an unlimited number of users. The RhoSync Server Commercial License starts at $5000 for 100 users. It scales logarithmically (price doubling for each tenfold increase in users), and works well for large deployments.