6

node.js是一个基于谷歌 V8 JavaScript 引擎的开源服务器端 JavaScript平台。几年来,它已经迅速普及和重要性。

现在 node.js 只是一个平台。本质上,使用哪个 JavaScript 引擎只是一个实现细节,任何 JS 引擎都可以使用,甚至是与各种 JS 引擎一起工作的抽象。

Joyent可能选择 V8 是因为它是开源的,具有有利的许可条款,并且通常是目前最快的 JS 引擎(但我相信它有时会被其他引擎超越)。

鉴于对许多可能被称为“开放标准”的事物(例如 JS 引擎、Web 浏览器、编程语言的编译器等)拥有多种不同但兼容的实现是一件好事;当然,拥有像 node.js 这样的服务器端平台的多个实现也是很好的

例如,几乎所有操作系统和硬件上都有 JavaScript 引擎,但 V8 只存在于其中的几个。甚至事实证明,微软正在为 Windows Azure 推广 node.js,尽管它依赖于主要竞争对手的工作,即使他们拥有自己的 JS 引擎,可以与 V8 竞争速度。

如果任何此类端口已经开始,我会非常有兴趣关注他们的进展,以监控 node.js 是否可能成为一个开放标准。


• 我意识到 node 不像 JS 和浏览器那样标准化,而且它的发展非常迅速,但这从未阻止任何人挠痒痒。• 如果有多个端口,我不是在征求您认为更好或更受欢迎的意见,这不是民意调查问题。• 我也不是购买node.js 实现,我感兴趣的是node.js 或类似的东西是否会被普遍采用作为一个平台,或者它是否会留在一家公司手中。

4

5 回答 5

3

是的,在 JVM 上的 Nashorn 引擎上运行的 node.jar:

https://groups.google.com/forum/?fromgroups#!topic/nodejs/750fF6ruAdY

如果它成功了,那就太好了。

于 2013-01-07T00:43:30.837 回答
3

Mozilla 的 SpiderMonkey + node 核心库:https ://github.com/mozilla/spidernode

于 2013-01-07T05:02:49.830 回答
2

node-chakracore,它使用 Microsoft 在其 Edge 浏览器中使用的开源 JavaScript 引擎: https ://github.com/Microsoft/ChakraCore/

他们正在积极致力于改进常见的 Node.js 基准测试(如 AcmeAir),通过改进其针对服务器端工作负载的 JIT/GC 并从 Node.js 核心中消除特定于 v8 的“CrankShaftScript”

正如前面的回答中提到的,还有基于 Mozilla 的 Firefox 浏览器中的 SpiderMonkey JavaScript 运行时的蜘蛛节点。

您可以通过查看最新的node.js CI 构建来了解他们如何提高性能。

于 2017-06-22T20:47:58.617 回答
0

是的!显然,仅在 JVM 上就有不止一种 node.js 实现:

SprintStack:Rhino 的并发 + 事件 I/O

SprintStack 为开发人员提供了一个具有 JVM 的所有优点的节点兼容环境,例如对并发的惯用支持、可靠的垃圾收集和大量现有库。

如果您希望您的 node.js 应用程序能够利用快速、成熟的 VM 和最先进的容错和分布式编程,那么试试 SprintStack!

(在7zark7 的 anwser链接到的线程中找到了这个。)

于 2013-01-07T01:40:25.760 回答
0

我刚刚了解到另一种实现。

io.js 徽标

这实际上是原始 node.js 的一个分支,称为io.js。分支似乎发生在 2014 年末,主要目标是增加对ES6 (JavaScript ECMA-262)的支持。

于 2015-02-06T20:30:10.170 回答