Welcome the preview release of codename "Alchemy." Alchemy is a research project that allows users to compile C and C++ code that is targeted to run on the open source ActionScript Virtual Machine (AVM2). The purpose of this preview is to assess the level of community interest in reusing existing C and C++ libraries in Web applications that run on Adobe® Flash® Player and Adobe AIR®.
With Alchemy, Web application developers can now reuse hundreds of millions of lines of existing open source C and C++ client or server-side code on the Flash Platform. Alchemy brings the power of high performance C and C++ libraries to Web applications with minimal degradation on AVM2. The C/C++ code is compiled to ActionScript 3.0 as a SWF or SWC that runs on Adobe Flash Player 10 or Adobe AIR 1.5.
Alchemy is primarily intended to be used with C/C++ libraries that have few operating system dependencies. Ideally suited for computation-intensive use cases, such as audio/video transcoding, data manipulation, XML parsing, cryptographic functions or physics simulation, performance can be considerably faster than ActionScript 3.0 and anywhere from 2-10x slower than native C/C++ code. Alchemy is not intended for general development of SWF applications using C/C++.
With Alchemy, it is easy bridge between C/C++ and ActionScript 3.0 to expand the capabilities of applications on the Flash Platform, while ensuring that the generated SWCs and SWFs cannot bypass existing Flash Player security protections.
Adobe is providing some example libraries, and developers are encouraged to share their ported libraries.
The Alchemy preview is prerelease software that is not supported by Adobe and may contain bugs. It is therefore advised that Alchemy not be used to generate code for use in production.

Watch Branden Hall, CTO of Automata Studios, discuss his experience working on the Ogg Vorbis porting project using Alchemy.
We are making this software available to gauge community interest in Alchemy and welcome your feedback. Please use the feedback link below to request features, make comments and report problems. Please also note that this is a research project and there is no assurance that there will be a shipping version of Alchemy.
Getting Started
Follow these steps to get started with Alchemy:
- Download Flash Player 10 or Adobe AIR 1.5
- Download the Alchemy toolkit preview for your operating system
- Download and follow the Getting Started instructions, which walk you through the Alchemy tool chain setup, shows you how to compile C/C++ code into a SWC, and then use that SWC with a simple ActionScript example.
-
Ask questions and share your feedback in the Alchemy forum
Please note that your submission of comments, ideas, feature requests and techniques on this and other Adobe maintained forums, as well as Adobe's right to use such materials, is governed by the Terms of Use. - Download sample libraries and share your own.
Community
Below you'll find references and links to help you participate in the Alchemy community.
Online Forum
Ask questions, discuss, and share feedback with other prerelease users and the development team in the online forums.
Please note that your submission of comments, ideas, feature requests and techniques on this and other Adobe maintained forums, as well as Adobe's right to use such materials, is governed by the Terms of Use.
Shared Libraries
Find and share libraries successfully ported to ActionScript with Alchemy.
See the shared Alchemy libraries
Developer Center
Learn more about devloping for the Flash Player in the Developer Center.
Visit the Flash Player Developer Center
Resources
If you want to learn more about releases on Labs as well as other Adobe technologies, visiting a user group or connecting with an Adobe Community Expert is a great place to start.
Product Details
Documentation
The following documentation is available for the Alchemy preview:
FAQ
- What is Alchemy?
- "Alchemy" is the code name for a research project from Adobe that allows users to compile C and C++ code that is targeted to run on the open source ActionScript virtual machine (AVM2). The C/C++ code is compiled to ActionScript 3.0 as a SWF or SWC that runs on Adobe Flash Player 10 or Adobe AIR 1.5. The generated content is within the security constraints of the AVM2, and cannot bypass Flash Player security protections.
- What can you do with Alchemy?
- With Alchemy, developers can reuse existing C and C++ client or server-side code in applications that run on Adobe Flash Player 10 or Adobe AIR 1.5. With Alchemy, it is easy to bridge between C/C++ and ActionScript 3.0 to expand the capabilities of applications on the Flash Platform, while ensuring that the generated SWCs and SWFs cannot bypass existing Flash Player security protections.
- Why is Adobe pursuing this research project?
- Alchemy is designed to bring the power of C and C++ libraries to Web applications. The goal of this research project is to enable Web developers to re-use the massive amount of existing C and C++ code and expand the capabilities of applications deployed on Flash Player or AIR. For the first time, developers can re-use existing code that has already been tested and do so in a way that is safe to run in the browser in the Flash Player sandbox.
- What type of projects could benefit from Alchemy?
- It is ideally suited for computation-intensive use cases, such as audio/video transcoding, data manipulation, XML parsing, cryptographic functions, image encoding, PDF rendering or physics simulation.
See answers to more frequently asked questions
System Requirements
The minimum system requirements for Alchemy are as follows:
Windows
Only Windows XP with Service Pack 2 has been tested. Specifically Vista has not been tested.
The following packages are required on Windows:
- Cygwin development tools
- Java (version 1.4 or greater)
- Perl (you must also have the Compress::Raw::Zlib package installed)
- Flash Player 10 or greater
- Optionally:
- Adobe AIR 1.5 or greater runtime
- Either Adobe AIR 1.5 or greater SDK or Adobe Flex® SDK 3.2 or greater
Mac OSX
The following packages are required on MacOSX:
- Perl 5.8 or greater (including Compress::Raw::Zlib.pm)
- Java 1.5 or greater
- Xcode 3.0 or greater
- Flash Player 10 or greater
- Optionally:
- Adobe AIR 1.5 or greater runtime
- Either Adobe AIR 1.5 or greater SDK or Flex SDK 3.2 or greater
Linux
Only Ubuntu 8.0.4 has been tested. The following packages are required on Linux:
- Java (version 1.4 or greater)
- Perl (you must also have the Compress::Raw::Zlib package installed)
- Flash Player 10 or greater
- Optionally:
- Adobe AIR 1.1 beta runtime
- Both Adobe Adobe AIR 1.1 beta SDK and Flex SDK 3.2 or greater
Release Notes
This release of Alchemy is prerelease software and is designed for evaluation purposes only. The software contained within each download is not final; but, many portions of the technology are fully implemented and ready for you to try and discuss.
