Introducing JITB

My talk at FITC San Francisco is over and I want to share some of the anouncements from today with you. At the end of my talk I was showing JITB.

What you see in the YouTube video I posted a while ago is a Java program executing a SWF. For FITC I added some more code and an OpenGL based Display List renderer. In other words: I wrote a Flash Player.

However I should rephrase that statement and say I am attempting to build a Flash Player. The current state is available in the sf2010-sprint clone of Apparat. I will merge the changes into the main Apparat branch when I am back home in Germany.

JITB is currently able to translate a subset of ActionScript code at runtime into Java bytecode and runs nearly at the same speed as native Java. This is a really huge improvement compared to standard ActionScript performance. A lot of smart people worked on the JVM and made it really fast. Apparat will allow you to leverage all this hard work in the future. I am also shooting for Java interoperability at some level so that you can call Java classes from within ActionScript. Hopefully you will be able to use JITB on your desktop machine, on a server or on an Android phone. Basically everywhere Java runs.

There are still a lot of things missing. The whole Flash API needs to be implemented. And the Display List rendering needs a proper OpenGL implementation. However I thought this might be some cool stuff to share with you in its early stages.
My hope is that more people start contributing to the project. Maybe some OpenGL guru wants to take care of the Display List rendering or someone else likes to help implement the Flash API in Java.

I also showed a Raytracer by Nico Zimmermann during my presentation and promised to put the URL on my blog so here it is. His company is called Britzpetermann and the address is

Update: Please do not think that this implementation is 30x faster than the Flash Player developed by Adobe. One(!) microbenchmark is never a number you should count on. I would like to make clear that I never said this.


  1. Rando
    Posted Aug 24, 2010 at 3:32 am | Permalink

    Yo dawg, I herd you like VMs so I put a VM in your VM so you can interpret while you interpret.

  2. Raffaele
    Posted Aug 24, 2010 at 10:00 am | Permalink

    JVM it’s already the best luck of Ruby/RoR (JRuby seems to be far better than the original implementation) may it become a good change for AS3/Flash/Flex/AIR to gain market penetration?

  3. Posted Sep 28, 2010 at 7:13 pm | Permalink

    Joa, damn…you blew me away in your presentation!
    JitB is a saviour!!!

    I think i can honestly say, you are my hero ;)
    Now i can switch back to doing as3.0 again instead of doing only Java for the lack of power in flashplayer. wohoe!

    And might i say… glsl shaders…. very VERY nice job!

  4. Posted May 22, 2011 at 12:30 pm | Permalink

    Yes, really. So happens. Let’s discuss this question. russiangirls

  5. Posted May 26, 2011 at 12:46 am | Permalink

    Hey there are using WordPress for your blog platform? I’m new to the blog world but I’m trying to get started and create my own. Do you need any coding knowledge to make your own blog? Any help would be greatly appreciated!

  6. Posted Oct 26, 2011 at 7:03 am | Permalink

    The problem here is not that the claim of a 30x performance increase was fallaciously generalized based on one particular piece of code as compared with Adobe’s player, but that anyone familiar with Flash would find this claim to seem quite plausible.

    If someone claimed that they made a compiler that, say, generated code that was 30x faster than what Microsoft’s compiler or gcc could do, no one would believe it for a minute.

  7. Posted Oct 28, 2011 at 2:34 pm | Permalink

    You actually make it all appear easy, but I can’t help but feeling overwhelmed when tackling this topic. Keep them comming. Hell, maybe I’ll learn a thing or two!

  8. Posted Sep 17, 2012 at 3:45 pm | Permalink

    Needed to compose you a little bit of remark to finally thank you so much again over the splendid techniques you’ve contributed at this time. It was certainly shockingly open-handed with people like you giving without restraint precisely what many individuals could have marketed as an e-book to help make some dough for themselves, most importantly considering that you could have tried it in case you wanted. These suggestions also acted to be a easy way to realize that many people have the identical eagerness really like mine to learn great deal more on the subject of this condition. I know there are thousands of more fun instances in the future for people who looked over your website.

9 Trackbacks

  1. […] de FITC conferencie in San Francisco liet hij de JITB player zien. Deze in Java geschreven speler zet Actionscript code om naar om naar Java bytecode en draait […]

  2. […] Origine de l’article : […]

  3. […] Joa Eber ujawnił na swoim blogu, że pracuje nad własną implementacją odtwarzacza Flash, który w niektórych […]

  4. By FOTB… day 2 | MadeByPi® Blog on Oct 1, 2010 at 7:24 pm

    […] – a great tool for testing, improving and squeezing the most out of Flash. That was followed by JITB – an experimental Flash player running on the Java virtual machine. The results were impressive, […]

  5. By Developer's Blog » Flash on the Beach Review on Oct 7, 2010 at 10:34 am

    […] that to the best quality he could came up with (the missing features are now part of the Flex SDK). JITB was really shuddering for me : I remember that the first Flash Players were Java based (before […]

  6. […] One of the things I swear by every year, is that you haven’t experienced Flash on the Beach if you didn’t catch Joa Ebert’s session, especially since he started to work on his Apparat suite. Needless to say, I was very honoured when he asked me to contribute some Pixel Bender shaders to show his new JITB player running on the GPU. For those not aware of JITB, it’s essentially a lean & mean Java-based Flash player, with all the niceties the Java runtime provides. Read more about it here. […]

  7. […] that to the best quality he could came up with (the missing features are now part of the Flex SDK). JITB was really shuddering for me : I remember that the first Flash Players were Java based (before […]

  8. […] de FITC conferencie in San Francisco liet hij de JITB player zien. Deze in Java geschreven speler zet Actionscript code om naar Java bytecode en draait bijna op […]

  9. By Java flashplayer | Molluscmania on May 22, 2012 at 2:02 am

    […] Introducing JITB – – Blog of Joa EbertPublished on Aug 19, 2010 in as3, experiments, Flash and personal. 54 Comments Tags: actionscript, apparat, fitc, flashplayer, java, jitb, opengl, san francisco. […]