I wrote an introductory post a while back that gave a brief overview of the three main cross-platform mobile development frameworks. At that time, Rhodes was definitely the leading solution in terms of features and support of several different platforms, while Titanium was still in a pre-release state and presented an uncertain future in terms of licensing. PhoneGap was a nice solution, but didn’t feel ready for prime time.
Our platform of choice has been Rhodes.
Things are changing very fast though, and nowadays we’re considering the best approach on a project-by-project basis.
We now have a few projects under development using Rhodes, and while we’ve been working hard to improve and contribute to the framework, which made us formally become Rhomobile development partners, we also kept our eyes open for alternatives.
For this reason, I tend to recommend, for projects that are being planned today, to target Windows 7 Phone Series instead of Windows Mobile 6.x. About Symbian: there are very many versions out there and you should pick the ones you wish to support carefully. You will probably want to support only touch-based Symbian devices at start in order to minimize the extra effort in redesigning and re-implementing the user interface. Same goes for the BlackBerry: supporting the touch devices only will save you time and money.
Now back to our main topic: Rhodes is a “catch all” framework in which they bet on supporting the highest number of platforms, and that means sacrificing on the user experience and the look & feel of the app. The main issue with Rhodes is that you will be trying to make a webpage look like a native screen. The Appcelerator Titanium team realized that won’t get you an app that feels native, and made a big change in the framework from 0.8 to 0.9 versions: they focused on getting the user experience right on a platform before moving on to support another one.
Titanium only supports iPhone and Android with BlackBerry and iPad support coming later in 2010. This new framework matured a lot faster then Rhodes, in part thanks to the focus on less platforms at a time. The main feature that sets Titanium apart from Rhodes and PhoneGap is that it has an user interface API. This leads to the best replication of the look and feel of a native app.
So far, we’ve seen that the effort required for a Titanium project is near to the one for iPhone SDK apps, while Rhodes projects always require that extra effort I mentioned.
On top of that, Titanium has a much better support for multimedia (audio, video) then Rhodes has, making it a better suited framework for anything that requires multimedia.
Another great thing about Titanium is that we’ve been successfully deploying in parallel on both platforms so far, so this would allow for simultaneous releases on iPhone, iPod Touch and Android based smartphones.
Titanium 1.0 was released earlier this week and Appcelerator finally unveiled the official licensing terms. Titanium Community is free and open-source. It includes the full featured Titanium SDK, access to the community forum, the Analytics Portal with 1 week worth of data to keep up with the usage of your app.
Titanium Professional includes the same SDK, access to Priority Platform Fixes and Beta Previews (such as BlackBerry and iPad beta support), gets you 6 months worth of data in the analytics, includes a free introductory training and access to the Premium Support Portal, that guarantees a response time of 48 hours. Titanium Professional costs 199 USD per developer per month, with a 25% saving on annual subscriptions.
If you ask me, this is very expensive especially for smaller companies. Appcelerator also mentioned an Indie version to be available at 499 USD, but the details on who can access this license are still unclear.