Java-Gaming.org
Play Revenge of the Titans! The situation is critical. We need fancy commanders to defend Earth, the moon, Mars!
Featured games (78)
games approved by the League of Dukes
Games in Showcase (406)
games submitted by our members
Games in WIP (293)
games currently in development
News: Read the Java Gaming Resources, or peek at the official Java tutorials
 
    Home     Help   Search   Login   Register   
Pages: [1]
  ignore  |  Print  
  bck2brwsr a JVM in Javascript  (Read 555 times)
0 Members and 1 Guest are viewing this topic.
Offline Danny02

JGO Knight


Medals: 36



« Posted 2013-03-01 20:15:35 »

Hi I just found a really nice little project.

A kind of JVM in javascript. website  example

As far as I understand it, the concept is like this. You provide your application as a Jar and when the website loads it checks if the client has a Java Plugin to run the jar if not the Jar is interpreted by a javascript JVM.
Offline Cero
« Reply #1 - Posted 2013-03-01 23:03:11 »

only interesting if it would be fast enough for games D:

Offline BurntPizza

Senior Newbie





« Reply #2 - Posted 2013-03-01 23:08:39 »

Even if its not super fast, still seems like a nifty way to sneak applets into your page without a couple dozen security popups showing their ugly heads.
Games published by our own members! Check 'em out!
Try the Free Demo of Titan Attacks
Offline Danny02

JGO Knight


Medals: 36



« Reply #3 - Posted 2013-03-01 23:08:58 »

why not? you can use all the browser APIs like canvas WebGL and so on, would be easy for the libgdx guys to add another backend for this
Offline CommanderKeith
« Reply #4 - Posted 2013-03-02 00:09:59 »

That is interesting. From that website example I don't think that java is being run on the client, it's all in javascript. From the source code on this page (http://xelfi.cz/bck2brwsr/) there is no applet being executed.
The website is not very descriptive and doesn't explain what it does very well. The javascript of that page is just 3 lines here:
1  
2  
3  
        <script src="bck2brwsr.js" type="text/javascript"> </script>
        <script src="lib/archive.js" type="text/javascript"> </script>
        <script src="zip.js" type="text/javascript"> </script>

The bck2brwsr.js file is huge and appears to be a javascript VM. So i think that the jar files for the calculator are downloaded, maybe in the archive.js file, and read by the javascript jvm and executed. Crazy! I wonder how he was able to write a javascript VM?! My guess is that the VM is very slow, obviously it could only be an interpreter and not a Just In Time compiler. Pretty cool nonetheless.

Offline Danny02

JGO Knight


Medals: 36



« Reply #5 - Posted 2013-03-02 00:52:40 »

did a little total unprofessional micro-benchmark.

did some math with sqrt etc. and it run approx. 30 times slower then "native" java. I guess using some cross compiler like GWT is still the preferred choice.

I read some time ago about asm.js with which they got nearly the same speed as our "native" JVM when they cross-compiled C++ to JS.
Offline CommanderKeith
« Reply #6 - Posted 2013-03-02 09:50:43 »

That's interesting, and i guess that the performance would vary a lot from browser to browser depending on their js engine.
If only all of the browser vendors would fork openjdk and include it natively in their browsers. Then we wouldn't have to deal with js at all and these hacky workarounds.

Pages: [1]
  ignore  |  Print  
 
 

Play Revenge of the Titans! The situation is critical. We need fancy commanders to defend Earth, the moon, Mars!
 
Try the Free Demo of Revenge of the Titans

Add your game by posting it in the WIP section,
or publish it in Showcase.

The first screenshot will be displayed as a thumbnail.

The invasion has landed! On Mars! And you're there to beat 'em!
cubemaster21 (76 views)
2013-05-17 21:29:12

alaslipknot (87 views)
2013-05-16 21:24:48

gouessej (117 views)
2013-05-16 00:53:38

gouessej (112 views)
2013-05-16 00:17:58

theagentd (123 views)
2013-05-15 15:01:13

theagentd (112 views)
2013-05-15 15:00:54

StreetDoggy (156 views)
2013-05-14 15:56:26

kutucuk (178 views)
2013-05-12 17:10:36

kutucuk (177 views)
2013-05-12 15:36:09

UnluckyDevil (185 views)
2013-05-12 05:09:57
Complex number cookbook
by Roquen
2013-04-24 12:47:31

2D Dynamic Lighting
by Oskuro
2013-04-17 16:46:12

2D Dynamic Lighting
by Oskuro
2013-04-17 16:45:57

2D Dynamic Lighting
by Oskuro
2013-04-17 16:23:20

Noise (bandpassed white)
by Roquen
2013-04-05 17:36:01

Noise (bandpassed white)
by Roquen
2013-04-03 16:17:38

Java Data structures
by Roquen
2013-03-29 13:21:12

Topic Request
by kutucuk
2013-03-22 21:42:01
Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines | Managed by Enhanced Four Valid XHTML 1.0! Valid CSS!
Page created in 0.072 seconds with 20 queries.