There's been a fair amount of recent hype about Titanium, at least in certain circles. We use Adobe AIR on a daily basis at work, so my coworkers and I have been very eager to see how the new Titanium beta compares, for better or worse. You can download the Titanium Desktop developer app here. Since this is still beta software, there are wrinkles the Appcelerator team is ironing out on a daily basis, but what I've seen so far is very promising.
(click screenshots for full-sized images)
The modestly named Titanium Developer is where you create, launch, and package apps. It also ties in the Appcelerator's cloud services so you can distribute (and update) your app to Windows, Mac, and Linux platforms, track download statistics, connect to the Titanium web community, and more. However, it is not where you actually write your code.
Once your project is created, you have to hop over to an editor such as Notepad or Aptana, then hop back to Titanium Developer to test and package the application. Not so convenient. However, Marshall Culpepper has created an Eclipse plugin which helps integrate the Titanium SDK with Eclipse-based IDEs. According to the comments on that page, it may not play nicely with Aptana, so I haven't tried it yet.
Packaging Cross-Browser Applications
Building your application is easier than in Adobe AIR, as you don't have to deal with certificates during development or production. More importantly, no Adobe AIR red dialogs of doom. In my opinion, this can tip the scales strongly in Titanium's favor with regard to audience adoption — I've said before that only a developer would see a bunch of big red warnings and still hit Install; end users don't know enough about how their computer works to understand that it's OK if your desktop application actually runs like a desktop application.
Life in the Appcelerator Cloud
Titanium Developer packages and distributes your application in Appcelerator's cloud. Cloud computing is becoming more and more prevalent in the modern software development life cycle, and it's nice to have this functionality built in.
It Takes a Village
Built-in community features abound in Titanium Developer. You can read what people are saying via Twitter and FriendFeed right in the Developer application, and there's also an integrated IRC client where you can talk to the Appcelerator team and other Titanium developers to get help or just chat.
So How Does Titanium Stack Up?
Since Titanium is barely into its beta phase, there's still work to be done before a fair and complete comparison can be made. That said, here are some things I really like about Titanium:
- No Sandbox — Your desktop app is now a real boy. No untrusted content, no sandbox bridges. However, this opens Titanium apps up to scrutiny by the programmng public; because the source files are freely available on the end user's computer, there is a risk that malicious third party applications can edit your source. While this is technically true of applications written in ANY language, the fact that we're dealing with interpreted (rather than compiled) languages can raise a few eyebrows.
write Python and Ruby code, right in your HTML's
- Run external programs — Adobe AIR provides no built-in methods of running a third-party application, unless you count opening the system's default browser. Titanium provides two: Titanium.Desktop.openApplication(path) and Titanium.Process.launch(command). Very cool.
- Titanium.Process.restart() — Short and sweet, that's how your program restarts itself. Since our deliverables at work typically end up on unattended systems that may run (and consume resources) 24/7, we have had to come up with strange and creative ways for our applications to restart automatically. In Titanium it's a non-issue.
What Do YOU Think?
Do you use Adobe AIR? Appcelerator Titanium? Both? Please leave a comment, let me know what you like or don't like about these technologies.