Locked

Happy new year! As3-WebAssembly is out.

Community Beginner ,
Jan 02, 2018 Jan 02, 2018

Copy link to clipboard

Copied

Happy new year, everyone!

Hope this news is not too late.

After few month hard working, we successfully get existing As3 to work with WebAssembly. After our wasm hand-writing Flash-API finished(about 20% finished now). All of the existing As3 projects would successfully port to open-web-standard (js, wasm) without modifying the original  As3 codes.

Here is a brief instruction on how it works:

1) We use the falconJX compiler to compile As3 source codes into JavaScript, we modified a lot to support interacting with wasm. such as class inheritance,  optional function params, etc.

2) Using a wasm that contains hand-writing Flash-API to support original dependencies of As3 codes, such as packages: flash.display, flash.events, flash.net, etc.

3) Linking the compiled JavaScript from step1 with wasm from step2 at runtime.

Here is a GitHub repository: GitHub - JasonHuang3D/AJC-Flash-WebAssembly-Examples: Examples that demonstrates As3 running on WebA...

that contains pre-built demos and bunny mark source codes with our SDK to build for both original flash player and js-wasm.

Currently, The whole building toolchain has been integrated with our customized FlashDevelop IDE, We modified a lot with FalconJX compiler and Emscripten Embind to support almost all of As3 language intrinsics.

The core motivation for this project is hand-writing Flash-API using c++. We have nothing to reference to but using "trace" and breakpoint in an original As3 project to roughly guess what the actual implementation inside of Flashplayer. We have done tones of testing before starting to write our own Flash-API. Currently, we only got basic display list, event flow,  networking, and basic data structures: byteArray, etc. We have a lot more to do.

The reason for doing this whole project is simply because we love flash, we don't wanna just standing and watching it running to 2020. We all witnessed how powerful flash is. We wish to extend it to open web standard by using wasm. and providing Flash-API with more scripting languages such as JS, TS.

We started this project half a year ago. we tried to recruit as much talent developers as possible. Eventually, we got 2, me and a close friend of mine.

We are not very clever developers. even some skills were not capable of doing a project like this, such as java for compilers, c# for code IDE, etc. But we have faith. we know this is what we want to achieve, and we will never give up.

To deploy the whole wasm hand-writing Flash-API is urgent, as currently, more and more As3 developers started to migrating their project into hand-writing JS/TS.

So, we need your help to speed up our hand-writing Flash-API progress. If Adobe somehow would spare a tiny mercy on this project, that would be perfect.

please let me know if you are willing to help.

Sincerely,

Jason Huang

Views

8.5K

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Jan 04, 2018 Jan 04, 2018

Copy link to clipboard

Copied

This is unbelievable! I fully support this effort

Adobe, if you're reading this I really hope that you'll at least acknowledge this thread. This could be a huge deal in preserving decades of content that would be lost after 2020 (and effectively massive amounts of advertising revenue generated by that content on sites that are still dominated by Flash games such as Kongregate, Newgrounds, etc.)

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Jan 04, 2018 Jan 04, 2018

Copy link to clipboard

Copied

Hi Jason,

Recently I searched the OpenFl framework and saw that now it can be compiled to WASM via C++ (Emscripten). It has a very rich set of FlashAPI that is already implemented and tested.

I have an idea that if you can modify your AJC toolchain to use the FlashAPI of OpenFL project, you will save a lot of time to re-write the whole FlashAPI.

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Jan 04, 2018 Jan 04, 2018

Copy link to clipboard

Copied

@BuiSyNguyen I think the appeal behind Jason's efforts is not the WASM target itself, but the fact you could port an AS3 project to WASM without changing a line of code. He's even separated out the compiled JS source from the runtime, effectively creating a plugin-free flash player. As he stated in his post, more developers are starting to port their AS3 code-bases by hand and an effort such as this could save millions of cumulative man-hours.

No offense to OpenFL, but it doesn't solve the fact that hundreds of thousands of games are going to be unusable after 2020. I think most Flash devs would prefer to work on new projects rather than trying to port old ones (which is extremely risky since there's no guarantee that porting something to OpenFL or other frameworks will result in a usable product in a reasonable amount of time).

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Jan 04, 2018 Jan 04, 2018

Copy link to clipboard

Copied

I did not propose OpenFL, I've been actually paying attention to Jason's work for 6 months, and I sure know he is customizing FalconJX compiler (now its name changed to Royale) to transpile from AS3 to a JavaScript source that combined with his WASM FlashAPI.

Please read again: I suggest he use the WASM version of OpenFL's FlashAPI for his javascript side. Still use the same AS3 source code without changing any line.

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Jan 04, 2018 Jan 04, 2018

Copy link to clipboard

Copied

@BuiSyNguyen I see! Sorry, initially I thought you were talking about the high-level Flash API in Haxe, I did not know that OpenFL had an API sitting on the browser's surface to interface with the outputted JS. If that's true, kudos to the OpenFL team for building it out that way! Combining the FalconJX effort s with that API sounds genius

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Engaged ,
Jan 06, 2018 Jan 06, 2018

Copy link to clipboard

Copied

This is a very impressive achievement, congratulations! Now the toolchain to use might still appear a bit unclear to some people (including me), but once things are more polished and simple tools are available, it will probably a life saver for many coders who want to keep their Flash content alive. Thank you so much for your work, and happy new year too!

(And I suggest we actually use another name than Flash, as it seems it has become some kind of curse in the IT industry )

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Contributor ,
Aug 11, 2018 Aug 11, 2018

Copy link to clipboard

Copied

I've just discovered this and it seems the GitHub link is now broken.

What is the status of this and where can I find the work to date?

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Advisor ,
Aug 12, 2018 Aug 12, 2018

Copy link to clipboard

Copied

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Participant ,
Jan 19, 2020 Jan 19, 2020

Copy link to clipboard

Copied

Oh my god, this news pierces my heart like a thunderbolt, I couldn't believe it anymore !!! I almost want to cry. I programmed for 13 years in AS1 (Macromedia), and then in 2 and 3 (Adobe) and I started AGAL in 2013 approximately. When we announced the imminent death of Flash, I didn't want to believe it, Apple first, I said to myself, I don't care, hell with Apple, I code for the WEB anyway and that's it universal thanks to browsers. then when browsers blocked Flash Player by default, it was almost the end of the world for me! In any case, the end of my world. And there, it would be a question of making an AS3 compiler towards WebAssembly? Wow! There is no word.

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Advisor ,
Jan 19, 2020 Jan 19, 2020

Copy link to clipboard

Copied

we are all fighting to keep all our precious work alive and for sure soon there will be robust solutions other the javascrap.

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Participant ,
Jan 19, 2020 Jan 19, 2020

Copy link to clipboard

Copied

What kind of help are you looking for? Programming, translation, communication, other?
Sinon, où peut-on trouver le compilateur dans son développement actuel? Et quelle version de FlashDevelop permettrait de faire les essais?

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Participant ,
Jan 21, 2020 Jan 21, 2020

Copy link to clipboard

Copied

This project is abandonned ..I had confirmation by Jason this morning.. 😞

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Advisor ,
Jan 21, 2020 Jan 21, 2020

Copy link to clipboard

Copied

do you know the reason?

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Participant ,
Sep 21, 2020 Sep 21, 2020

Copy link to clipboard

Copied

I dont no !! It's ugly! 😞 Adobe is missing a bandwagon this time! I hope someone with the right skills will have the intelligence to do it !! a compiler (AS3 to WASM)..

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Advisor ,
Sep 21, 2020 Sep 21, 2020

Copy link to clipboard

Copied

you can fork it and learn how to update it. I'm working on it, but my compiler skills are still fragile, but day after day it's better..

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Participant ,
Sep 21, 2020 Sep 21, 2020

Copy link to clipboard

Copied

If this is true and not as always a unicorn, then I just have to party and offer drinks to all my friends !! I have been doing flash since 1999 when it was still Macromedia until 2013 with AS3 and I started AGAL ..
I have NEVER found an equivalent to AS3 in other languages. A well thought out and complete framework. I have been waiting for Adobe to offer a JS compiler for 7 years now, and today WASM which undoubtedly represents the future !! more and more applications will be online as a web service

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Participant ,
Sep 21, 2020 Sep 21, 2020

Copy link to clipboard

Copied

My precedent post is a mistake! sorry.
Why not just transpile the "* .as" files to "* .razor" then the files that have become components can be used in a Microsoft Blazor application which will be compiled into a webassembly.
It's just an idea.

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Advisor ,
Sep 21, 2020 Sep 21, 2020

Copy link to clipboard

Copied

a As1/2/3 to TypeScript will be more efficient I think.

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Participant ,
Sep 21, 2020 Sep 21, 2020

Copy link to clipboard

Copied

Typscript is indeed close to AS3 they are both EcmaScript. And strongly typed. But I don't know if we can compile TS directly into WebAssembly. At the moment, I am learning Blazor (C #) for this reason. I believe in the future of WebAssembly. I'm going to dig a little deeper into all this .. I don't know ABC codes, so I tell myself that by leaving * .as we can, perhaps, change the words AS to C # .. We must if we can even use Blazor component libraries at certain times. Frankly, I have a lot of wills, but not enough knowledge.
Adobe would have to make a wasm compiler for AS3 and invent the waf file (WebAssemblyFlash). 🙂

PS: I just found this and it looks well followed ..
https://github.com/AssemblyScript/assemblyscript

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Advisor ,
Sep 21, 2020 Sep 21, 2020

Copy link to clipboard

Copied

yes, assemblyscript seems to be the most popular on this matter

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Advisor ,
Sep 21, 2020 Sep 21, 2020

Copy link to clipboard

Copied

There is also an interesting project that can be improved too (maybe for an expandable As1/2 and missing As3 things)

https://github.com/as3web/as3-to-ts

a slide of a company who had a As to Ts experience some years ago

https://www.slideshare.net/mcrtechnights/the-journey-from-actionscript-to-typescript

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Participant ,
Sep 24, 2020 Sep 24, 2020

Copy link to clipboard

Copied

I have a problem, I can't find any libraries or framwork for webassemblyscript, just to open a local file in binary, or text mode .. load an image, etc.
Or else, it's JS, I don't see the point in this case. I think at the moment C # is the most complete, which can use .Net Core and tierce components and maybe TypeScript in the same way.
We will have to wait for an evolution and a dedicated IDE or an integration by FlashDevelop for example.
In my opinion, the best thing that can be created is a WASM compiler for AS3 directly!
PS: If anyone knows how to import PNGs, load MP3s, and load XMLs with WebAssemblyScript, I beg to learn! 😄

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Advisor ,
Sep 24, 2020 Sep 24, 2020

Copy link to clipboard

Copied

> the best thing that can be created is a WASM compiler for AS3 directly

Indeed it would be worth to fork and improve this kind of project

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Participant ,
Sep 24, 2020 Sep 24, 2020

Copy link to clipboard

Copied

LATEST

Obviously, I say that, because I am a lover of AS3, for its simplicity with the most beautiful help system that I have been brought to see so far.

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines