.net有哪些Javascript实现

what Javascript implementations for .net exist?

本文关键字:Javascript 实现 net      更新时间:2023-09-26

这是一个有自己答案的问题,可能注定要留给cw

首先-一个好的JS实现的特点是什么(在我看来)

  • 完成。它必须能够处理所有JS结构。好的测试是看看它能否编译jquery, prototype, underscore等等(当然其中许多不会执行,因为他们需要一个DOM)
  • 稳定。没有崩溃,或者有时工作,有时不
  • 快速
  • Silverlight支持
  • 可嵌入。我想要简单的界面之间的托管环境和JS,然后返回。它应该只是工作

我知道几个实现

  • Ironjs https://github.com/fholm/IronJS
  • Jurrasic http://jurassic.codeplex.com/
  • Jint http://jint.codeplex.com/
  • Javascript.net https://github.com/JavascriptNet/Javascript.Net

Ironjs。首先,这是纯粹的f# !这是我在f#中看到的第一个真正意义上的大规模的东西,这让我大开眼界。即使你对javascript不感兴趣,它也是f#的一个很好的学习工具。得分:

  • 完成:是的
  • 稳定:是的
  • Fast:声称非常快,我没有测量过。它是一个解释器
  • SL:没有(github上的一个开放的工作时间)
  • 嵌入:来回传递东西很辛苦。无法从JS代码访问。net库

侏罗纪。这表示它编译为IL,即没有解释

  • 完成:似乎如此
  • 稳定。不能说,没有测试足够
  • 快。声称是,因为它不是一个翻译。然而,它编译为IL的事实强烈表明它将泄漏代码空间。运行不同脚本的服务器最终会被填满。
    • SL:是的
  • 嵌入:看起来和IronJS差不多。

Jint。这是一个Antlr前端解释器(有趣的是,ironjs曾经使用过Antlr,但由于性能原因放弃了,并自己进行解析,似乎得到了一个巨大的提升)

  • 完成:我发现了一些东西失踪,他们得到了修复,但这是有点担心
  • 稳定:几个不稳定的地方
  • 快:可接受的
  • SL:没有
  • 嵌入:非常好。它只是工作。我可以在JS中实例化。net类。我可以自由地来回传递数据。

Javascript.Net。这是对google V8引擎的管理包装。我根本没有试过,所以只能说网站上有什么

  • 完成:?
  • 稳定:?
  • 快:考虑到V8的速度有多快,我希望它很快
  • SL:没有
  • 嵌入:?

我最终使用Jint,因为它有这么好的嵌入功能,但我真的需要SL支持(我有两个项目需要嵌入式JS,第二个是一个SL项目),我不想使用2个不同的引擎,所以有些东西将不得不改变

谁有经验或其他实现吗?

从。net应用程序引用Google's V8引擎解释了。net对V8的一些绑定。