Gordon: An open source Flash runtime written in pure JavaScript
github.com
github.com
http://github.com/tobeytailor/gordon/raw/master/demos/tiger....
Wish people made github pages a bit more friendly. It's like being thrown into a pit of 1s and 0s.
Probably both.
Asking someone if they heard the single would thoroughly confuse people "Have you heard That Song by Those Guys?
Nobody uses Flash for the language (actionscript is a terrible mash-up of javascript and Java, and haXe is not a lot better), or because we think the virtual machine is awesome in some way. Simply, we use it to bridge the gap between what web browsers can do and what native apps can do (access to webcams and microphones, local files, real tcp/ip sockets, etc, etc).
Having said all that, who knows - maybe web browsers really will eventually bridge those gaps themselves, and this will just be used to run legacy Flash code. It's possible I guess.
It's a nuisance but it is so pervasive it's not even funny.
(Though I still have the flash turned on for the occasional video or game.)
That's the beauty of this thing. It works with svg -> supported by all browsers (with the obvious exception of IE, although I think it shouldn't be too hard to change it to support VML).
Wether flash stays dominant or not, this would still provide a way to run flash code without any proprietary plugin, and in any modern browser, so the interest is still big, from an user point of view
I'm intrigued as to how much Flash it does cover.
In particular, when dealing with Flash, feature-completeness is going to be much more important than perfect performance. Since the Flash VM on Linux and OS X is so slow and software-renders everything, it really won't take much to improve on it. The advantages of a dynamic language are probably going to far outweigh C++'s speed, and Javascript's similarity to Actionscript is icing.
Plus, Javascript can take advantage of whatever hardware-accelerated graphics library the browser vendor chooses.
README says little http://github.com/tobeytailor/gordon/blob/master/README
http://wiki.github.com/tobeytailor/gordon/swf-tag-support-ta... The tag support table shows just how much is missing: everything from SWF 2 onwards! Many of those tags aren't feasible in pure JS right now, anyway.
But on Chrome 4.0.288.1 dev moving the mouse over any of the animations crashes the tab.
Where on bloody earth have you been? Could you please MIT the source code for Gordon so we can work on it?
People refused to touch it because of the license.
Let's give them a bit and see how far they take it. With a bit of luck they get some help from a nifty jit for js and who knows what might happen.
The evil .swf might turn in to a standard component after all, if only via a somewhat roundabout way.
I really wonder how they're going to do audio though, and capture devices and such are probably out (I can see a route to do video via the canvas, it's going to be bloody slow though unless js gets sped up a lot compared to where it is today).
Many years long we used a crappy old little javascript that I wrote long ago, it basically loads jpegs under water in to an off screen buffer and then flips them over the previous one when they're.
Using some trickery I could get pretty good framerates if the connection is good but the bandwidth cost is just terrible.
Now we've switched to (yuck) flash and it works ok I guess but something more standardized would be much appreciated.
I wrote a Flash player for the PS2 ~9 years ago now that was fast enough. I'd say that current PCs + jitted JS are faster than that platform.
Ah that makes a lot more sense, thanks for pointing that out.
It gives the appearance that it got cheaper to re-target, but really it will be a ton more work when you realize what will never be supported. Even if they managed to implement a virtual machine in javascript, they'd still need to implement all the library code that normally doesn't ship with every swf file.
All that easy ride of blocking just the flash player left the web all screwed up with that JS for content running loose.
Good ridance, ajax.