Titanium Takes Web Apps to New Territory

There is huge demand for versions of web applications on numerous platforms, as many have written about. However, developing for the numerous platforms is an impossible task (at least for just one or two developers) with the onset of the “baby boomers”: iPad, iPhone, Android, Galaxy, Blackberry, Playbook, and many other mobile and tablet platforms. However, one application is making that possible: Appcelerator’s Titanium Developer

It should first be noted that Titanium isn’t the only cross-platform development kit. There have been others, like PhoneGap or Adobe AIR, but none have the breadth and functionality Titanium does. Many writers have misrepresented Titanium saying that one just writes HTML/CSS code and the program packages it. Titanium can be used in that way, but that does not show its true colors.

Titanium apps are written in JavaScript then rewritten in the native language for each platform. This is possible because JavaScript is a complete language, so it can be interpreted and rewritten into any other complete language, such as Java or Object-C. So, the final code used for the app is as though it were written in the native language. This allows Titanium apps to be ported to desktop and mobile with numerous benefits:

1. Cross-Platform Compatibility

Theoretically, the same code for an application can be ported to all platforms but that isn’t true in practice. Take the Android and iPhone platforms for instance. The iPhone has various advanced native features, such as navigation views, editing tables, etc, that are not available on Android. So, you can write an application that is cross-platform, but your application won’t benefit from the features on the more advanced platforms.

So, writing platform specific code is still necessary for advanced apps. That said, most of your code will still be portable to other platforms because it is written in JavaScript and all the basic features are still cross-platform. This is a huge step from having to write completely separate code.

2. Speed of Development

The speed of development feeds off two things: the ease of use of JavaScript and the cross-platform compatibility. First, JavaScript is a very expressive, has weak typing, has dynamic type checking, and a number of other features that make programming in it much easier than Objective-C and Java. Perhaps that doesn’t hold much weight if you are already fluent in a C or Java type language, but for web developers it allows them to use something they likely already have a handle on.

Second, having a common language to use among platforms significantly increases development time. Instead of having to learn Objective-C and Java to develop for iPhone and Android, one only has to know JavaScript. Even for desktop development where there are plenty of languages that can be compiled to run on different platforms, Titanium helps you avoid various OS-specific barriers.

3. Performance

On desktop, performance isn’t as great of an issue since most desktops are sufficiently powerful. However, if you have ever used an Adobe AIR program, you know that when Appcelerator claims “Titanium apps take up to 1/10th the memory that AIR apps do,” that is a significant benefit. With mobile, it is all the more true. Most, if not all, mobile cross-platform development programs package the program inside a webkit browser, so that it won’t perform like a native app as Titanium apps do.

4. Native Functionality

Native functionality may be the single greatest benefit of Titanium. Not only can applications be written for multiple platforms, but the system resources of each platform are available as well. Adobe AIR or mobile development kits like PhoneGap are more limited. So, whether the user is on Windows 7, Android, or iPhone, your app will look and feel like an app written for that platform. It is also worth noting that Titanium has additional functionality such as analytics, and for desktop development support for HTML5, CSS3, Python, Ruby, and PHP.

In closing, let me reiterate the significance of Titanium. Other programs that have attempted cross-platform development have had significant limitations. Until now, developers have been limited to whatever platform they develop for, whether it be the web, Windows, Linux, Mac, or other platform. Developers can now explore new territory on platforms they never thought possible.

By Joe Purcell

Joe Purcell is a technology virtuoso, cyberspace frontiersman, and connoisseur of Linux, Mac, and Windows alike.

Leave a comment