Adobe is rebooting the Alchemy project which brings native code to the web runtime

Sep 22, 2011 18:21 GMT  ·  By

Adobe is making some big moves with Flash, partly because of all the bashing it’s got from HTML5 fans and all of the people fed up with the slow and buggy Flash plugin.

Flash Player 11 promises to bring a hardware accelerated 3D graphics API which makes it possible for developers to build powerful and fast games using Flash.

But Adobe has even bigger news for developers wanting more performance out of Flash, it will soon be possible to write code in C or C++ and have it run inside Flash, for a huge speed boost over ActionScript.

More than two years ago, Adobe launched Alchemy, a Labs project, which enabled developers to re-use C and C++ code in their Flash apps or write new code for a substantial speed gain.

But the project never went anywhere and there were no updates. Just as people were giving up on it, Adobe has announced that not only is it working on Alchemy again, it is now committed to launching a fully functional, production version soon.

"We have not updated the original Alchemy prototype, and while we noted from the beginning that it should not be relied upon for production content, we’ve received persistent requests from developers asking for official support in the Flash runtimes," Adobe explained.

"We’ve been listening and have decided to invest in creating an improved version of Alchemy, which we plan to release as part of a paid production offering for commercial development. We intend to make non-commercial use free of charge," it said.

Adobe is not being more specific, it has not laid out a schedule or a release date, but it is definitely working on it. What's more, the production version will be significantly improved, Adobe plans to re-write most of it.

The goals are achieving performance close to that of running native code. Compiled C and C++ code via Alchemy runs in a virtual machine and is 2 to 10 times slower than running the same code natively, in the prototype.

Not only will the production version be a lot faster, it will support a much larger code base and have the compiled code be 75 percent smaller than what is currently achieved.

When available, the technology will be supported by the Flash Player plugin and the AIR runtime. But to get things moving, Adobe will be supporting the current prototype version of Alchemy in the upcoming Flash Player 11 and AIR 3.

Google is working on something very similar with Native Client. Just as Adobe is dissatisfied with the speed of ActionScript, Google believes JavaScript can only be so fast and that it will never approach the performance of native code. Interestingly enough, ActionScript and JavaScript are very much related.