After porting roughly 50,000 LOC of framework and library code (e.g. spring-actionscript, Box2D) from ActionScript to Dart and optimizing it over the past 4 years, I've now started to migrate actual projects, say, as proof of concept. I chose the Bitburger Microsite we did for FIFA WM 2010, specifically Game #2.
While it was *relatively* easy to get the logic going, it took quite some time to refactor the Flash Pro -> SWC -> AS3 workflow into one that uses texture atlases and asset code generation. Also, the game is using complex masking, which had to be changed to work in WebGL.
But here we are – enjoy an 8 year old high fidelity Flash game in any browser, on any device.
http://acanvas.sounddesignz.com/bbwm2010/#/game2
File size of minified-gzipped JS (120 KiB) and compressed Atlases is actually just 70% of the original SWF file(s). Pretty happy with the results, and there's lots of room for performance optimization – which I'll probably never do.
Underlying framework: