Puneet Varma (Editor)

JavaPoly

Updated on
Edit
Like
Comment
Share on FacebookTweet on TwitterShare on LinkedInShare on Reddit
Original author(s)
  
Jim Sproch

Written in
  
JavaScript

Development status
  
Active

Website
  
www.javapoly.com

Initial release
  
May 9, 2016; 9 months ago (2016-05-09)

Operating system
  
OS X, Linux, Solaris, FreeBSD, OpenBSD, Microsoft Windows

JavaPoly is a library that polyfills native JVM support within any modern web browser. This allows websites to import Java libraries, and call them directly from Javascript, even if the user does not have Java installed on their computer. Unlike GWT and TeaVM, which attempt to compile a subset of Java into Javascript, JavaPoly actually executes Java bytecode instructions. This means that JavaPoly can run almost any Java library, including libraries that use threads, shared memory, locking primitives, and 64-bit integers.

JavaPoly is designed to optimize performance by taking advantage of native JVMs when available. When running in Node.js, JavaPoly will always use a native JVM and thereby utilize native capabilities like multi-core support (which is otherwise unavaiable to javascript applications). Similarly, JavaPoly will take advantage of native Java support within a web browser, if such support is available. If no suitable alternatives are detected, JavaPoly will call into a Doppio VM, which provides execution support on legacy browsers.

References

JavaPoly Wikipedia