

OpenFL: a hardware-accelerated cross-platform reimplementation of the Flash API - swah
http://www.openfl.org/

======
larsiusprime
Quick note: this is NOT a flash player reimplementation. It's an API
implementation. Thanks to Haxe, OpenFL apps can compile out to C++, HTML5,
Flash, etc.

I should also note that people might also be interested in the programming
language that OpenFL is built on, Haxe, which has been around for ~10 years,
is criminally underrated, and has many, many uses besides OpenFL's Flash API
implementation (probably the most popular Haxe library).

For instance, here are some other uses :

    
    
      - Isomorphic client/server web apps (http://ufront.net/)
      - Cross platform UI (http://haxeui.org/)
      - Other game frameworks
        - (snowkit: http://snowkit.org/)
        - (kha: https://github.com/KTXSoftware/Kha)
        - (nme: https://github.com/haxenme/nme)
    

Course I'm a big fan of OpenFL!

Also, for those who don't like the Flash API, OpenFL has a lower-level
foundation called LIME that is just the cross-platform abstraction layer, so
you can just use that if you hate all things remotely Flash-like.

~~~
m0th87
How does Haxe manage impedance mismatches between it and so many target
languages? I've never heard of anything pulling that off successfully. Maybe
Eiffel? But then, who uses Eiffel?

~~~
chii
The haxe target languages aren't very different, other than some superficial
syntactical and their standard libraries being somewhat different. Working
around those aren't "difficult" (which isn't to say it isn't a lot of work to
implement of course).

I'd be surprised if haxe could get a target language such as haskell (unless
if they created a specific lib in haskell to emulate an imperative program and
mutable state).

~~~
duaneb
> (unless if they created a specific lib in haskell to emulate an imperative
> program and mutable state)

Writing a vm in haskell is hardly out of the question.

~~~
chii
i would expect it to perform poorly (but then again, i m only guessing here).

~~~
duaneb
Nothing about haskell prevents poor mutable state performance. If anything
they could basically compile it down to unsafe haskell that's c-like.

------
larsiusprime
Also, pardon me if this smacks of self-promotion (since I wrote the article
I'm about to link), but I think it's relevant to mention home game console
support is coming soon to OpenFL as well:

[http://www.fortressofdoors.com/openfl-for-home-game-
consoles...](http://www.fortressofdoors.com/openfl-for-home-game-consoles/)

------
leolannenmaki
Disclosure: I'm one of the developers behind The Masterplan

We've been very happy with Haxe and OpenFL, but for us the most important
thing is definitely not the Flash API but a cross platform way for writing
games that use OpenGL ES 2.0 for rendering and OpenAL for audio. See Lime
([https://github.com/openfl/lime](https://github.com/openfl/lime)).

We've made a tactical team-based heisting simulator called The Masterplan with
this setup. It's finally coming out of Early Access today! The current release
runs on Windows, Mac and Linux and hopefully we can release this on many more
platforms in the future.

[http://themasterplangame.com](http://themasterplangame.com)

~~~
yoklov
That looks pretty awesome.

Haxe is fairly interesting to me (and I've used it in the past, but only to
target flash), but I have no great love for the flash APIs, so the prospect of
writing a game using OpenFL didn't excite me much. Lime looks much more
interesting, as it doesn't seem to force you to structure your game a
particular way.

------
archagon
So, I'm assuming this includes support for hardware-accelerated vector
graphics? There's a real need for this kind of tech on mobile; on my old iPad
3, I can not even animate a single full-screen bezier path at 60fps, whereas
using MonkVG, I can suddenly do 20 or more at once! (And that's not even
factoring in the "free" matrix transforms that don't require retesselation.)

There's a ton of fascinating apps and games that could be made if only vector
graphics performance was better. It's too bad OpenVG never went anywhere.

------
moondowner
Related: for weekly Haxe related news and roundups, there's
[http://haxe.io/](http://haxe.io/)

~~~
warvair
Wow! I don't mean to be mean, but that's a terrible layout/unreadable mess of
a webpage.

------
n8m
That looks like I need to give it a go. Thanks for showing!

------
methou
Just let Flash die, there's a lot of wonderful, more advanced technologies out
there, Flash should obsolete.

~~~
nacs
Haxe allows for compilation to multiple targets and doesn't require Flash in
any way. Flash is one of the supported targets but there are many others that
work just as well if not better (including HTML5).

