AIR 1.0 and YUI
February 25, 2008 at 11:30 am by Eric Miraglia | In Development | 10 CommentsAdobe released AIR 1.0 today — great news for web application authors everywhere who now have one more compelling platform on which to deliver their products, and a platform that extends their reach into desktop space.
As you’d expect from AIR, which embeds an A-Grade version of the Webkit foundation that underpins Apple’s Safari browser, most JavaScript libraries work well and do just what you’d expect in AIR. YUI is no exception. We’ve been tracking AIR’s progress over the past several months, and we’re happy to share with you a showcase YUI app written in AIR 1.0 by YUI engineer Dav Glass. This application is based on Dav’s “Complex Example” for YUI, which brings together a broad cross-section of YUI components, and it’s a nice proof of concept for what YUI can do in the context of your AIR applications.
The following YUI components are employed in Dav’s application:
YUI Core:
YUI Utilities:
- Animation Utility
- Selector Utility
- Get Utility (note: the AIR sandbox prevents you from loading external script files, but Get otherwise works as expected)
- YUI Loader (note: due to limitations in the AIR sandbox, YUI Loader should be used to load YUI files that are packaged in your AIR application)
YUI Controls:
- AutoComplete Control (note: see below for an important note on AutoComplete in AIR)
- Button Control
- Calendar Control
- DataTable Control
- Rich Text Editor
- Layout Manager
- Logger Control
- Menu Control
- SimpleDialog Control
- Slider Control
- TabView Control
- Tooltip Control
We’re continuing to work on some aspects of YUI that are not compatible with AIR. The most significant issues we’re working to address are these:
- JSON support in DataTable: Currently, DataTable‘s JSON parsing routines are not compatible with AIR 1.0. We expect to address this in YUI 2.5.1 next month.
- Rich Text Editor: Dav patched Rich Text Editor for his demo AIR application above, making some adjustments with respect to how AIR handles the loading of content in frames. In YUI 2.5.1, we’ll add unified support in RTE for AIR addressing this and several other issues.
- AutoComplete: The AutoComplete Control today is not compatible with AIR when using JSON datasources. We will address this issue in a future release.
AIR is a unique environment that has its own set of nuances and quirks, some of which will doubtless affect your applications as you migrate them from pure browser-based deployments into the AIR context. The issues above are the ones we know of today that are YUI-specific. Based on Dav’s experience converting the Complex Example to Air, we’re excited about the role YUI can play in AIR apps and looking forward to addressing those few core issues that remain.
Share and extend: Bookmark with del.icio.us | digg it! | reddit!
10 Comments
Sorry, the comment form is closed at this time.

Copyright © 2006-2012 Yahoo! Inc. All rights reserved. Privacy Policy - Terms of Service
Powered by WordPress on Yahoo! Web Hosting.


Thanks for this, and I have a naive question:
How is AIR conceptually different from client side java they were jamming down our throats in the 90′s? Is AIR “easier” to develop in etc.? I don’t know anything about AIR, so apologies if this is obvious.
The test app was nice, but it actually was less-responsive on my computer than a browser-based app (I thought it would be the opposite). I had the same experience when I tried ebay’s AIR app (and the lack of responsiveness was more-noticable). Hope adobe looking into that ;)
Anyway, thanks to the folks at YUI for a fantastic framework, and most important, development options!
Comment by thanks and sily question — February 25, 2008 #
Can someone help me to explain what AIR actually does? Why do I need it? What are the compelling reasons to use AIR? What kind of problems does it solve?
Couldn’t find anything than generalities on Adobe’s website, so perhaps someone can give me a pointer here.
Comment by Berend de Boer — February 25, 2008 #
@Berend — According to Adobe:
“Adobe AIR is a cross-operating system runtime that enables web developers to use their existing web development skills, code and tools to build and deploy rich web applications and content to the desktop.”
What this really means is that you can use all of your existing skills as a web-app developer in the creation of desktop apps. Not only do you have access to your basic DHTML layer, you can also use AIR-specific APIs that give you things like file-system access. And your app will run across all the OS platforms Adobe supports.
-Eric
Comment by Eric Miraglia — February 25, 2008 #
@thanks –
The big difference here is that you’re writing the app, including its UI and all of its guts, in the languages that as a web app developer you know really well: JavaScript, CSS, DOM API, etc. You can use all your favorite JavaScript libraries (we’re partial to YUI, but obviously lots of them work just fine). You can use Flash and Flex where you want to. And, as with any desktop app, you can add to the mix access to the filesystem for offline work.
Is it less responsive? That’s possible. AIR is a 1.0 release, so it’s early days yet. But the prospect that you can bring all of your webdev skills to the desktop is an interesting one, and I suspect we’ll see a lot of interesting possibilities emerge that just aren’t doable in a pure browser environment.
Regards,
-Eric
Comment by Eric Miraglia — February 25, 2008 #
Eric, with generalities I mean exactly that quote. Right now I can zip a bunch of html, css and javascript code and send that to anyone to unzip and load in the browser.
So what does AIR add to that? Does it have a built-in web server?
Access to the local file system is nice, but you can already get that in certain browsers (IE) if you have been granted permissions.
I’m just failing to see the compelling reason. Is AIR just running a browser without the frame and back/forward buttons?
Comment by Berend de Boer — February 25, 2008 #
@Berend,
AIR is a little bit more than running a browser without the frame, but that’s not a bad description of the core idea. The more positive spin is that you can build connected apps with filesystem access (and drag-drop desktop interactions) using your skillset as a web engineer. For a lot of folks, that’s a compelling story — and for you, I realize, it’s probably not.
If you think of an application like a mail client, though, I think there’s some obvious synergy with the AIR approach. As opposed to a web browser interface, you could deploy the client as an AIR app that sits on the desktop, saves messages for offline reading, stays open all day long, etc. In such an application, the browser chrome rarely makes much sense.
These are just my own thoughts on this, in any event — I don’t represent Adobe and am not trying to promote AIR explicitly. Rather, for YUI developers who are interested, our objective is to ensure that YUI plays well in the AIR sandbox.
-Eric
Comment by Eric Miraglia — February 25, 2008 #
[...] was a big day for those contemplating taking Adobe AIR out for a spin. Ext, YUI, and Dojo all now have support for the runtime. Pete Freitag posted a hello world tutorial on his [...]
Pingback by More Adobe AIR News | foojam.com — February 26, 2008 #
To me the compelling things of interest seems the embedded database. Air includes a sqlite implementation, so you can store all sorts of user-specific data locally.
Also, air provides for certification of apps.
Comment by Ed — February 26, 2008 #
[...] AIR support: As we’ve mentioned here previously, YUI generally runs well in Adobe AIR because AIR implements WebKit — and WebKit also drives one of our A-Grade browsers. Adobe has [...]
Pingback by YUI 2.5.1 Released: Improved AIR support, JSON security patch, YUI Configurator, and bug fixes » Yahoo! User Interface Blog — March 19, 2008 #
[...] Team发布了2.5.1。这是对2.5.0的修订版,同时提升了对Adodb Air的支持。另外,修补了JSON [...]
Pingback by YUI Blog China » Blog Archive » YUI2.5.1发布 — March 19, 2008 #