Javascript engine with good interoperability with JVM and CLR

后端 未结 3 1869
余生分开走
余生分开走 2020-12-19 17:38

Due to the huge resources behind it, Javascript seems to rapidly becoming the scripting language of choice for applications, particularly those with a web front end. I have

相关标签:
3条回答
  • 2020-12-19 18:04

    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.

    0 讨论(0)
  • 2020-12-19 18:09

    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).

    0 讨论(0)
  • 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.

    0 讨论(0)
提交回复
热议问题