Last week, Smile showcased 3 Open Source frameworks to create cross-platform mobile applications: PhoneGap, Rhodes, and Titanium. In the review, we listed the main advantages of the 3 competitors and for Titanium in particular, we highlighted the sad lack of an IDE and a step-by-step debugger.
Today, this shortcoming is no more: Appcelerator has released Titanium Studio 1.0. Aptana, the Eclipse-based IDE acquired by Appcelerator, provides a rich development environment for Titanium Mobile:
- supports project creation directly in the IDE (an Appcelerator account is still required);
- supports step-by-step debugging (requires installing Titanium Mobile SDK 1.7 Preview);
- supports syntax highlighting for all languages (HTML, CSS, JS, Python, and Ruby);
- auto-completion in Titanium API;
- and integrated Git support.
With this new tool, Titanium regains a leader board position in the cross-platform frameworks race. Here is a breakdown of the 3 frameworks’ advantages and disadvantages:
These frameworks help develop graphically-rich, user-friendly applications and make it easier to build applications by giving the code a certain structure.
The PhoneGap+Framework advantage is clear: fast development; support for a wide range of platforms for PhoneGap; use of quality tools (can develop in Safari or Chrome for a large part).
Unfortunately, there are 2 serious disadvantages:
- Identical Look & Feel on all platforms: almost all of these frameworks have decided to base the look of their graphic components on the iPhone. While this decision makes it possible to create applications nearly identical to native applications on the iPhone, it may disappoint or frustrate some Android and/or BlackBerry users who are used to a different operation and look (using the menu button on Android for example).
Rhodes is based on a completely different model: each mobile application embeds a Ruby VM, a tiny MVC framework modeled after Ruby on Rails and a simplified web server. It supports a wide range of devices: BlackBerry version 4.6+, 5.x, 6.x, Android, iOS and WM. The development model is very familiar, it almost seems like you’re working in “server” mode. It’s great.
Unfortunately, Rhodes is not perfect and also has two major disadvantages:
- Graphical features: in Rhodes, views are created as HTML pages. There are some native components that you can access, and jQTouch is also embedded, but on the whole, the created applications look more “web” and less “native.” For proof, check out the Apps page on the Rhomobile website: they all aren’t sexy.
- Slow speed: embedding a Ruby VM, a tiny web server and serving HTML pages to a browser isn’t very fast. Application startup, in particular, is slower than on other tools, up to ten seconds on the oldest BlackBerry devices (4.6) during our tests. Once the application has started, however, it gets responsive again.
- Application footprint: for the same reasons, embedding all these components takes up space in each built application; while this is rarely a problem for iOS devices, it can be a problem on Android and BlackBerry.
As a result, a Titanium application resembles, in every aspect, a native application on iPhone and on Android, which are the only two currently supported platforms (BlackBerry support is currently in beta and will offer access for BB 5.x and 6.x). So, is it a better framework? Not really, because to date developing on Titanium has been difficult and extremely slow: no debugger, no IDE. To build an application, you had to write the code, compile it, send it to the simulator, check if it works and start over again. When there was a bug, it sometimes took hours just to find where it was. Interface adjustment (which is often a phased process) is also tedious: there is no way to change the font color or size directly and see the result, you have to recompile the application and restart it.
It’s not always easy to build a code that works on Android and iPhone. Some components are sometimes present on one platform, but not on the other, some behaviors are not the same on one or the other. While an IDE does not completely solve these problems, it makes them easier to solve and that is a major step forward. For all these reasons, Titanium Studio’s release is a relief and offers real hope. With this tool, Titanium gets back in the race stronger than ever. A quality IDE, planned BlackBerry support, a quality (and native) user experience on each platform. Titanium certainly has all the keys in hand to become a leader, or, at any rate, a major player in cross-platform mobile development.
Open source is growing fast, I can’t wait for tomorrow!