Adobe Alchemy Creates Flash Applications with C and C++

Nov 25, 2008

Adobe Systems has issued a prerelease version of project Alchemy, a small tool that compiles C and C++ code for programs running on ActionScript Virtual Machine (AVM2). The idea is to expand the capabilities of Web applications running on Adobe Flash Player 10 and Adobe AIR 1.5.

Adobe's plan with Alchemy is to encourage porting of existing platform-independent C and C++ libraries and their functions to Web applications. Targeted are computation-intensive and complex applications, such as audio and video transcoding, parsing of XML data and cryptographic functions. These use cases captured on the Flash platform can then benefit from ActionScript 3.0, thereby leading to complete Flash applications.

An Alchemy-ported program should run somewhat faster than an equivalent ActionScript one. However, it can run two to 10 times slower than a native C/C++ program due to the Flash functionality with its virtual machine. To make up for this, the translated libraries will benefit from Flash Player's security protection, such as in sandboxes.

To experiment with Alchemy, download a free 45.4 Mbyte package for Linux, but first agreeing to Adobe's licensing. The accompanying Wiki provides sample libraries and encourages participants to share their ported libraries with the community. The requirements include a minimum of Java 1.4, Perl and Flash Player 10.

Adobe sees Alchemy as a research project and waves any support for it. It's unclear whether the tool will ever go beyond beta status, but this hinges on the interest level of users and the feedback Adobe eagerly requests. Because of its early release, take some of the ported results with a grain of salt and hold off on using them in production systems and applications.

Related content

comments powered by Disqus
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters

Support Our Work

Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.

Learn More