Search code examples
javascriptnode.jsplatformserverside-javascriptjavascript-engine

Are there any ports or alternative implementations of the node.js platform with JavaScript engines other than V8?


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.


Solution

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