Thursday, January 17th, 2008

CommandProxy: Integrating AIR and .NET

Category: .NET, Adobe

<p>

CommandProxy is a proof of concept by Mike Chambers (Adobe AIR team) that offers a solution to a feature that Ben and I have wanted in AIR…. the ability to talk to native code:

Two of the most requested features for Adobe AIR have been the ability to launch native executables from an AIR application, and the ability to integrate native libraries into an AIR application. Unfortunately, neither feature will be included in Adobe AIR 1.0.

However, this does not mean that you cannot build an AIR application that has closer / tighter integration with the underlying operating system. This lower level of integration is possible, but it requires some work on your part. I have put together a proof of concept project, which shows how to integrate Adobe AIR applications with c# / .NET code on any operating system that Adobe AIR currently runs on (Mac and Windows). The project is called CommandProxy. It provides a communication proxy between an AIR application and the underlying operating system and could theoretically work with other web based desktop runtimes (such as Mozilla Prism).

How does it work?

The general concept behind the project is similar to the now defunct Artemis project (which was Java based). The AIR application communicates with the CommandProxy process to communicate and integrate with the underlying operating system. Currently the command proxy supports launching processes (and getting the output from the processes) as well as taking a screenshot of the user’s current screen. However, the framework is built in such a manner that it is possible to add new functionality to the proxy.

The project is opensource and more info is available on the project page on Google Code.

Related Content:

3 Comments »

Comments feed TrackBack URI

This could also be enhanced to proxy socket communications given the limitations of flash.net.Socket in measuring output progress (http://ducktyper.com/2008/1/17/socket-output-progress-in-air). Or they could fix the Socket implementation.

Comment by ducktyper — January 17, 2008

I can’t wait until the 1.0 Linux version is released and has to play catchup for years to be on par with all these new features they are adding, just like with the flash player.

Comment by Andy — January 17, 2008

Andy, the CommandProxy extension is not an official AIR feature. It’s an unsupported extension. You may have noticed that to use it on a Mac, it runs on the open source Mono runtime. That’s available for Linux too, so once AIR for Linux is released, AIR applications should be able to use this extension immediately.

Comment by joshtynjala — January 17, 2008

Leave a comment

You must be logged in to post a comment.