Appcelerator heads to the desktop

Titanium's focus on desktop application is a smart move, even in the face of SaaS hype

InfoWorld's Neil McAllister had an interesting post about a Microsoft research project titled "Gazelle: The browser that thinks like an OS." I read that post the same day that Appcelerator's press release about Titanium came across my e-mail.

It's interesting that as Microsoft is taking steps away from the (need for a) desktop, Appcelerator's Titanium is taking steps towards the desktop. This is a great move for Appcelerator as the number of desktop applications being deployed continues to amaze me in this age of Web applications. It's also wise for Microsoft to look beyond the desktop as a deployment environment. At the end of the day, I'm sure we'll still have the need for desktop and Web applications in 10 years even as SaaS pundits call for the death of the desktop. Choice is good for customers and the vendors that offer it.

From what I've read, Titanium looks very interesting. I'll get a briefing scheduled with these guys and report back if I missed anything.

Marshall Culpepper from Appcelerator writes:

Titanium on the other hand is a desktop app platform that's based on WebKit that delivers all of the APIs and services you would expect: Filesystem, Notifications, Menuing, Custom chromed windows, integration with popular languages (Javascript, Python, Ruby), Media, and others. On top of the APIs that we expose, Titanium is, at its core, a microkernel that exposes a pluggable module and binding system. This allows third-party developers to introduce their own functionality using C++, or any of the languages listed above. On top of that, we round out the platform with a development tool for interacting/testing/deploying your app, and we provide a redistributable runtime.

I'm particularly interested in the cross-language aspect of Titanium. The Appcelerator blog states:

Cross-Language Scripting

Client-side scripting has always been reserved for JavaScript. With PR2, this is no longer the case. You can now write client-side application scripts using Ruby and Python, as well as JavaScript. Both Ruby and Python have full access to the Document Object Model (DOM) making it easy to use these languages to build highly dynamic user interfaces.

You can also use JavaScript, Ruby or Python to access any Titanium Module regardless of the programming language used to implement it. For example, a Python programmer can use Python to make calls to a Module written in Ruby, Python, JavaScript or C++. All of this is made possible by Titanium's Cross-Language Binding Layer, which allows seamless interaction between code written in any of our supported programming languages.

Developers can also extend Titanium modules using languages that they are already familiar with, including Ruby, Python, JavaScript, and C++. This will open up module development to a broad set of developers. Smart move! Titanium is Apache licensed, and PHP support is expected before GA.

Have you tried Titanium? What do you think?

p.s.: I should state: "The postings on this site are my own and don't necessarily represent IBM's positions, strategies, or opinions."


Copyright © 2009 IDG Communications, Inc.