TeaVM

From APIDesign

Revision as of 13:41, 28 May 2014 by JaroslavTulach (Talk | contribs)
Jump to: navigation, search

TeaVM is a bytecode to JavaScript translator written by Alexey Andreev: https://github.com/konsoletyper/teavm

Alexey contacted me (as the author of Bck2Brwsr) and we were seeking for a way to cooperate. I suggested Alexey to extend his TeaVM to understand DukeScript's @JavaScriptBody annotation and he did it!

That is amazing! Now we have a common ground - a way to write Java libraries that talk to JavaScript and can execute them in a variety of environments (like FXBrwsr, DlvkBrwsr, NetBeans and Eclipse, via Bck2Brwsr or TeaVM). No need to worry about proprietary API to talk to different VMs! Use DukeScript - it is the ligua franca all VMs understand (well, somebody needs to enhance GWT and convince the Doppio guys).

Once your application is ready, you can then decide how you want to deploy it. Whether you want more feature rich Bck2Brwsr, or lightweight (but not as complete) TeaVM.

Also now the competition between VMs can start! We have a way to write a sample application once and then execute it and compare the results. For example here is a minesweeper (written with DukeScript APIs) executed by TeaVM: http://xelfi.cz/minesweeper/teavm/ and here is one executed by Bck2Brwsr: http://xelfi.cz/minesweeper/bck2brwsr/ - the same HTML page, the same Java code - just different VMs (btw. I have speeded up the Bck2Brwsr start a bit; now it should be less than a second):

In any case, congratulation Alexey for your good work and thanks for sharing the common ground!

Personal tools
buy