문제

node.js is an open source server-side JavaScript platform based on Google's V8 JavaScript engine. It has been rapidly gaining popularity and importance for couple of years now.

Now node.js is just a platform. In essence which JavaScript engine to use is just an implementation detail and any JS-engine could've been used, or even an abstraction to work with various JS-engines.

Joyent probably chose V8 because it's open source, has favourable licensing terms, and is usually the fastest JS engine out there (but I believe it's been overtaken at times by other engines).

Given that it's a good thing to have multiple different but compatible implementations of many things that might be called "open standards", such as JS engines, web browsers, compilers for programming languages, etc; surely it's also good to have multiple implementations of a server-side platform like node.js

For example there are JavaScript engines that run on just about every operating system and hardware, but V8 only exists for a couple of them. It even turns out that Microsoft is promoting node.js for Windows Azure even though it depends on a major rival's work and even though they have their own JS engine which can compete with V8 for speed.

If any such ports have begun I would be very interested in following their progress to monitor whether node.js might become an open standard.


• I realize node is not standardized like JS and browsers are and that it's evolving very rapidly, but that never stopped anyone scratching an itch. • If there are more than one port I'm not asking for opinions on which you think is better or which is more popular, this is not a poll question. • I'm also not shopping for a node.js implementation, I'm interested in whether node.js or something like it might be universally adopted as a platform, or whether it will remain in the hands of a single company.

도움이 되었습니까?

해결책 3

There is node-chakracore, which uses Microsoft's open source JavaScript engine used in their Edge browser: https://github.com/Microsoft/ChakraCore/

They are actively working on improving common Node.js benchmarks (like AcmeAir) by both improving their JIT/GC for server-side workloads and eliminating v8-specific "CrankShaftScript" from Node.js core.

As mentioned in a previous answer, there is also spidernode which is based on the SpiderMonkey JavaScript runtime in Mozilla's Firefox browser.

You can keep up with how they are improving performance-wise by looking at the latest node.js CI builds.

다른 팁

Yes, node.jar running on Nashorn engine on the JVM:

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

Would be very nice if it works out.

Mozilla's SpiderMonkey + node core lib: https://github.com/mozilla/spidernode

I just learned of another implementation.

io.js logo

This one is actually a fork of the original node.js and is called io.js. The fork seems to have occurred in late 2014 with the main goal of adding support for ES6 (JavaScript ECMA-262).

Yes! And apparently there is more than one implementation of node.js on the JVM alone:

SprintStack: Concurrent + Evented I/O for Rhino

SprintStack gives developers a node-compatible environment with all the benefits of the JVM, such as idiomatic support for concurrency, solid garbage-collection and a huge range of existing libraries.

If you want your node.js applications to take advantage of a fast, mature VM and the state-of-the-art in fault-tolerant & distributed programming then give SprintStack a try!

(Found this one mentioned in the thread linked to in 7zark7's anwser.)

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top