Javascript engine with good interoperability with JVM and CLR

一个人想着一个人 提交于 2019-11-29 11:18:41

Have you tried using the Javascript interpreter that ships with JDK 6 (Rhino)?

I mean, shipping with the core JDK is pretty interoperable, if you ask me. You can access Java services from the Javascript context, and from the Java side it's possible to introduce objects into the Javascript global context. It's also possible (with the ScriptEngine stuff) to use Javascript code as implementation of a Java interface.

Now, it's not at all interoperable with the CLR of course.

A R

JavaScript compilers have shipped in the MS CLI implementation from the beginning, and in the Sun Java implementation since 1.6.0.

MS's is efficient, current, and uses DLR, so it interoperates with other implementaitons of dynamic languages, such as IronPython.

Sun's is based on the otherwise-abandoned 1998 Mozilla "Rhino". If you must have consistency or must have open source, you can run Rhino on MS .net via IKVM.

For more details, see:

Is there a port of the Rhino JavaScript engine for .NET

The web browser wars have led to their JS implementations (in C++) being radically faster & more up-to-date than all others. Mozilla's TraceMonkey has no Java bindings. But Google's V8 (Chrome, Android; faster anyway) does.

If you're prepared for some pain:

http://code.google.com/p/jav8/

http://rbackhouse.blogspot.com/2011/03/using-google-v8-javascript-engine-in.html

Or you can use MessagePack RPC to call into node.js (Google V8).

Are there any robust efforts that would allow users to call JVM/CLR libraries from Javascript

If you don't mind using TypeScript, try 1c, which also allow type checking and autocompletion for JVM libraries.

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!