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.
Titanium Developer's Edit Project tab, which generates an application descriptor in a format similar to Adobe AIR.
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.
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.
No bigger screenshot here, sorry. Trust me, this AIR dialog sucks.
Versatile packaging options include whether you prefer to include the Titanium runtime in your installer, whether you want your application to be available to the general public, and whether you want updates to be distributed to existing users.
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.
According to the Quotas tab, resources are "free during beta". No word quite yet on what the limits or rates will be once Titanium is out of beta, but presumably you will still be able to package and distribute applications on your own via the command line interface.
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.
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:
script
tags. Interaction between JavaScript, Python, and Ruby methods is
pretty seamless, and extensions to Titanium's own code can be written
in C++ in addition to the above languages. Future releases will
include support for PHP, Java, and possibly other languages.
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.
I'm a Front-End Engineer at Yahoo! working on the Mail and Messenger teams. I blog about web design and development topics including accessibility, usability, performance, and developing HTML / CSS / JavaScript applications on Appcelerator Titanium and Adobe AIR.
If you're a web developer, you might enjoy Jelo, my JavaScript library.
A few panoramic shots I took at SDCC 2010. #geek http://bit.ly/bwX6GB
JS version of Regex prime number checker:
function isPrime(n) {
return Array(n + 1).join("1")
.search(/^1?$|^(11+?)\1+$/) == -1;
}
Погрузился в пучину EcmaScript5, местами увлекательно, местами нудно =)
Modernizr http://ow.ly/18njQ1
A Collection of 20 HTML5 Video Players - a round-up of JavaScript and html5 alternatives to Flash-based media player... http://ow.ly/18njQ2
jQuery TOOLS - The missing UI library for the Web http://ow.ly/18njQ3
Contactable - A jQuery Plugin | the odin http://ow.ly/18njQ4
Giants vs Dodgers, sweet seats. http://twitpic.com/2ag9pa
@snookca That'll be fixed next week. I promise.
@snookca I was tryna not name names ;) But really that was just par for the course today, pretty hectic day. As I'm sure you know.
Who breaks major stuff after 4pm on Friday? On the last day of the sprint, no less. Tsk. (wasn't me)
Awesome live git tracker for teams: http://www.utsup.com/
RT @DerrenBrown: Blog post: Camera Software Lets You See Into the Past http://bit.ly/9kjVg5
10 invites to the new version of Digg: http://bit.ly/dqM8EV
Threaded vs Evented Servers, great look at the whats and whys. http://bit.ly/bDUEjn #geek
Nav, Context menus, "app-style" toolbars in sample chapter http://bit.ly/csTRY8 of new YUI book http://bit.ly/cJINoV
Add a side-mounted End Call button to your iPhone 4: http://bit.ly/cGxPBD #funny #geekAll original work on this site is covered by a Creative Commons Attribution 3.0 license unless otherwise specified.
You may share or use any code or images from this site in any manner, for free, so long as reasonable effort has been made to give credit where due.
The views expressed in the posts and comments on this blog do not necessarily reflect the views of Yahoo!