Hi, everyone, I'm Jason Huang, I really like to work with you guys to improve and add new features to Apache Royale.
In early 2017, I started a project that compiling AS3 to JS and interacting with a WASM version of basic C++ re-written flash runtime apis. The project known as AJC. The initial idea of this project is to help existing AS3 projects to be able to run on the web without flash player plugin. In the end of 2017, the project finally has its own SDK ( customized Falcon JX compiler, and customized emscripten sdk), a stable customized flash develop IDE that has same experiences ( building, debugging,etc) as original one that manage original as3 projects. Finally, the only thing that left to do is finishing the whole Flash API using c++ that may run with the both environment that browser provided and native platforms such as Windows, Mac, Linux. In the middle of 2018, I finished most of crucial apis of flash, such as the whole packages of flash.display(hardware accelerated rendering), flash.display3D, flash.events, flash.net, etc,.and it was able to meet all apis requirements from a commercial AS3 ui lib known as flex lite(https://github.com/flexlite), I successfully built all examples from that lib to js and communicating with my wasm version of flash apis. Unfortunately, after that bad things happened to me, I had to leave. Thus AJC project has been suspended in the middle of 2018. The only thing left to the public is a fork repo from my original one ( https://github.com/shanewfx/AJC-Flash-WebAssembly-Examples). After 17 months, today, I am able to continue this project once again. But this time I decided to bring it to the public entirely. And working with you guys should be more efficient and reliable. After all the things I have been doing with AJC, now I have a plan that compile AS3 to wasm directly, without w/r memories through embind api that much. As previously all as3 code being compiled to js first, then those js calling every single flash api functions in wasm through memory reading and writing, this is very consuming at runtime. I have few brief questions: How you guys think about my plan? What is the state of Royale? is it similar with previous falcon jx with more tooling and frameworks added? Did you guys implement a js version of flash apis? Cheers Jason Huang