Adobe’s Alchemy Project

A sidestep of my ongoing project related blog posts, I wanted to voice my opinion about a new Adobe project I discovered. And yes… there is a dash and sprinkling of Open Source technology involved.

Project Alchemy.

The purpose of this project is to allow developers to compile C and C++ code into Action Script.

The questions is why?

The answer is really quite simple and twofold. Performance and Reuse. There is a lot of C and C++ libraries out there that are use for CPU intensive tasks such as video and audio transcoding, data manipulation, cryptographic functions and physics simulations. These libraries would be much more performant than trying to rebuild the same functionality with AS3 (Action Script 3).

The ability to compile these libraries into Action Script will provide real benefits by providing a bridge between C/C++ and Action Script while ensuring that the Flash Player security protection remains in place.

It is not intended to let you can go and recompile a complete C++ application into a Flash application but more the ability to leverage existing C++ libraries within a Flash/Flex application

In essence, 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), of which Adobe has ties in with Project Tamarin!

This new technology requires Adobe Flash 10, and an example may be found here
Anyone remember Doom?

A complete port of C code recompiled from the original source for Adobe Alchemy

One response to this post.

  1. I wouldn’t agree with the performance argument. The C++ code is converted into ActionScript, which is not any more performant than writing the code in ActionScript to begin with.

    Reuse seems to be the big reason here, but I’m not to sure I’d be happy using machine ported C++ in ActionScript/JavaScript. Do all those C++ constructs and patterns really work as well in ActionScript/JavaScript?

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: