是什么Javascript实现的.net存在?

时间:2011-09-07 17:27:18

标签: javascript .net

这是一个有自己答案的问题,可能是为了cw

首先 - 良好的JS实现的特征(在我看来)

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

2 个答案:

答案 0 :(得分:15)

我知道几个实现

Ironjs。首先这是纯粹的F#!它是我在F#中看到的第一个真正的大字体,因此真是令人大开眼界。即使你对javascript不感兴趣,它也是F#的一个很好的学习工具。它是如何得分的:

  • 完成:是
  • 稳定:是
  • 快:声称速度非常快,我没有测量过。它是一名翻译
  • SL:不(github上的开放式工作)
  • 嵌入:努力工作来回传递。无法从JS代码访问.net库

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

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

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

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

Javascript.Net。这是谷歌V8引擎的托管包装。我根本没有尝试过,所以只能说网站上有什么内容

  • 完成:?
  • 稳定:?
  • 快速:我认为V8的速度有多快
  • SL:没有
  • 嵌入:?

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

有人有任何经验或其他实施吗?

答案 1 :(得分:0)

Referencing Google's V8 engine from a .NET app解释了V8的一些.NET绑定。