Monday, December 7th, 2009

Adobe AIR 2 Gets an Updated Engine and Memory Profiling

Category: Adobe

>Adobe AIR continues to win developers over with it’s ease of leveraging standard web technologies to build cool desktop apps. But it’s not without it’s drawbacks, especially in terms of memory consumption and debugging. Thankfully, Adobe listened and included better CPU and memory profiling in the latest version of the SDK, Adobe AIR 2.

One of the biggest challenges our team continued to hear from JavaScript developers using Adobe AIR 1.5 was that it was too difficult to track down CPU and memory issues within their HTML-based AIR applications. To help JavaScript developers detect and resolve these issues, we have introduced new runtime support for CPU and memory profiling of HTML-based AIR applications in the Adobe AIR 2 beta.

Aptana jumped all over this and updated their AIR plugin to leverage the debugging capabilities. Apatana CEO Paul Colton created a video demonstrating how it works:

Adobe Air 2.0 Plugin – Profiling Apps from Aptana, Inc. on Vimeo.

In addition, AIR product manager, Rob Christensen told me that AIR 2 includes an updated version of WebKit that includes feature support for JavaScript profiling, SquirrelFish Extreme JavaScript engine which performs 50% faster using SunSpider tests, CSS3 Module support (2D transformations, transitions, animations, gradients, zoom and WebKit CSS selectors), styling scrollbars via CSS and Canvas enhancements.

Get a complete round-up of the update via the Adobe blog.

Related Content:

Posted by Rey Bango at 9:30 am
15 Comments

++++-
4 rating from 23 votes

15 Comments »

Comments feed TrackBack URI

Despite the excellent SVG support in WebKit, Adobe has decided completely disable it in AIR. For vector-based graphics, Adobe would, of course, prefer everyone to use their closed and proprietary steaming heap of an excuse for an RIA platform: Flash.

Comment by RichPollock — December 7, 2009

@RichPollock

I am shocked that SVG support is disabled, I had just started investigating using Air this week for a simple application.

You saved me a lot of time as I won’t be touching it now. I had assumed since it uses webkit that of course SVG could be used. I get the feeling that adobe are shooting themselves in the foot with this one.

Comment by McDaid — December 7, 2009

@McDaid
You should probably consider using Titanium (http://www.appcelerator.com/products/titanium-desktop/) for your application. Titanium uses a recent Webkit and SVG is (of course) supported! You can deploy to Mac/Win/Linux and with Titanium Mobile even to the iPhone and Android.

I know this sounds like advertising, but I’m just an ex-AIR user who thinks Titanium is just better than Adobe AIR with its artificial limitations.

Comment by AndiSkater — December 7, 2009

@AndiSkater

I just had a brief look at the Titanium link and it looks quite interesting, especially deployment to iPhone/Android.

Thanks

Comment by McDaid — December 7, 2009

@RichPollack and @McDaid – We are considering adding support for SVG in AIR in a future release. Since AIR 1 was released, we have actually only had a handful of requests for SVG support. For canvas, however, we have received much more feedback from the development community around improving performance, enabling JavaScript profiling, CSS3 support and ways of integrating with the native operating system. If we hear from developers that SVG is critical to their apps, by all means we will consider adding it. The primary reason why we have decided not to enable SVG has to do with the fact that it will make the AIR runtime larger. We hear quite a bit of feedback from developers that they want us to make the size of the runtime smaller.

If we hear from developers that SVG support is mission critical, we will absolutely look into enabling it for a future release. Prior to AIR 2, there was very little feedback, but I admit that the number of requests for this capability have increased more recently so we will reevaluate adding this.

It would be valuable to understand the types of applications you are building that require SVG support. If others reading this would like to see SVG support in AIR, by all means, please let us by know by leaving a comment.

@McDaid – AIR uses a version of WebKit that is close to Safari 4.0.3 — a very recent build. We’re working hard to keep WebKit up to date in AIR. The AIR 2 beta includes the SquirrelFish Extreme JavaScript engine resulting in 50% faster performance using SunSpider tests,
enhanced CSS3 support (2D transformations, transitions, animations, gradients, zoom and WebKit CSS selectors, etc.), support for styling scrollbars via CSS and JavaScript profiling support. In addition, it is now possible to build a JavaScript application the communicates with native processes. For example, you can create a native application using AIR that launches iTunes, communicates with it using AppleScript via a shell script and sends data back to your AIR application. This was not easy to do in AIR 1. We are very much focused on allowing JavaScript developers to build entirely new types of applications.

If anyone has feedback around WebKit in support in AIR, please drop our team a note here: http://www.adobe.com/go/wish/ — we greatly appreciate your thoughts and enhancement requests.

Thank you!

Rob Christensen
Product Manager, Adobe AIR

Comment by adoberob — December 7, 2009

Rob, SVG became more important, in my opinion, when the Raphael.js library came out.

Comment by Nosredna — December 7, 2009

I think SVG support is becoming more important since HTML5 is supposed to let you use it without all the setup of namespaces and XHTML stuff. That is why I spent some time fixing up Firebug for SVG (and MathML) in the latest firebug 1.5 betas.

Comment by sroussey — December 7, 2009

it’s vs its.

Rocket science it is not.

Comment by igitur — December 8, 2009

@Nosredna – Exactly. Raphaël is out of the question for AIR apps, which is a shame, because Raphaël kicks ass (in contrast to Flash, which sucks on the very same body part).

Out of Firefox, Opera, Safari, Chrome, IE6–8, Appcelerator Titanium and Adobe AIR, only one doesn’t support Raphaël. The fact that it isn’t IE 6 must be pretty embarrassing for Adobe…

Comment by RichPollock — December 8, 2009

@adoberob

Thanks for the feedback, I am in agreement with the other posts. The Raphaël library has meant it is possible to quickly get vector graphics in to all modern browsers and also in IE via vml.

Canvas is useful too and the app I had in mind actually needs both canvas and SVG support. Canvas can be quite low level at times and hence using SVG is a often much easier.

Comment by McDaid — December 8, 2009

@adoberob

“The primary reason why we have decided not to enable SVG has to do with the fact that it will make the AIR runtime larger.”

Excuse me, but the Beta 2 Runtime is just a 13.3 MB download (for Mac). And it’s a ONE-TIME download! Once AIR is installed there is no need to download it again (only Updates). For me and many many other people it does not matter that much if I have to download 13.3 MB or 20 MB. Crippling Webkit in AIR just to save some bytes in the age of broadband internet is just a very bad reason.

AIR 2 should just include a full-version of Webkit.

P.S.
Interestingly the Windows version of AIR 2 Beta is just 7.6 MB in size, so the Mac version is almost twice as big. And as it seems AIR 1.5. is even a 21 MB download for Mac and a 15 MB download for Windows, so AIR 2 is already much smaller.

Comment by AndiSkater — December 8, 2009

@Nosredna @igitur @McDaid – Thank you for sharing your feedback around why SVG support is important for enabling libraries like Raphael.js. This is very helpful and I appreciate you taking the time.

@McDaid – Believe it or not but we receive far more feedback from developers that they wight the runtime to be very lean in size than support for SVG. All that said, I really appreciate the feedback from those on this thread that say this might be too extreme of a trade off. We’re listening. :)

@HelderMagalhaes – We hope to win you back to AIR and I think it is pretty clear what we need to do in order to make that happen. :)

Comment by adoberob — December 8, 2009

Adoberob, please add me to the list of people expressing a strong desire for SVG support in AIR. I too assumed that because it included a recent webkit that SVG was in there already. My web application supports exporting content in a variety of widget formats, and I hope to add AIR in the near future.

Comment by JonathanLeech — December 10, 2009

SVG. +1.

Comment by mofle — December 15, 2009

intresting
thanks

Comment by Aphrodisiac — January 15, 2010

Leave a comment

You must be logged in to post a comment.