'. '

TeaVM

From APIDesign

(Difference between revisions)
Jump to: navigation, search
Line 7: Line 7:
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]].
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 [[VM]]s 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]] [[API]]s) 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 [[VM]]s (and yes, [[I]] should probably speed up the [[Bck2Brwsr]] start a bit).
+
Also now the competition between [[VM]]s 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]] [[API]]s) 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 [[VM]]s (and yes, [[I]] should probably speed up the [[Bck2Brwsr]] start a bit):
 +
* [http://source.apidesign.org/hg/html~demo/file/4dce5ea7e13a/minesweeper/src/main/java/org/apidesign/demo/minesweeper/MinesModel.java MinesModel]
 +
* [http://source.apidesign.org/hg/html~demo/file/4dce5ea7e13a/minesweeper/src/main/webapp/pages/index.html HTML]
In any case, congratulation Alexey for your [[good]] work and thanks for sharing the [[common ground]]!
In any case, congratulation Alexey for your [[good]] work and thanks for sharing the [[common ground]]!

Revision as of 14:29, 20 March 2014

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 (and yes, I should probably speed up the Bck2Brwsr start a bit):

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

Personal tools
buy