8

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.

hippietrail
  • 15,848
  • 18
  • 99
  • 158
  • I guess it's possible but not feasible for now because V8 crushes every other engine out there. Maybe this changes in the future, who knows... – elclanrs Jan 07 '13 at 00:36
  • It would probably be a good thing for the JS-engine wars to try to beat them in node as well as beating them in the browser. The JS-engine wars have certainly benefited most of us so far. I actually didn't know that V8 was still so far ahead. Time to look for a comparison... Oh and here come the inevitable anonymous close votes - participating here feels a lot like participating on Wikipedia lately... `\-:` – hippietrail Jan 07 '13 at 00:39
  • AFAIK V8 is still the fastest. The only one that I think comes close is Chakra (IE10) but it's not open source. – elclanrs Jan 07 '13 at 00:43
  • @hippietrail Good thing close votes are by far not anonymous :) – PeeHaa Jan 07 '13 at 00:43
  • 1
    The closest I know of is [Luvit](http://luvit.io/), which is a Lua-based implementation of Node.js' infrastructure. – Ryan Stein Jan 07 '13 at 00:51
  • @PeeHaa: So far 3 out of 3, 100% anonymous with no constructive feedback to offer. Typing must be more work than clicking I suppose `(-;` – hippietrail Jan 07 '13 at 00:56
  • 1
    Related: [Node.js for lua?](http://stackoverflow.com/questions/2985388) – hippietrail Jan 07 '13 at 01:04
  • -1 I think this question is ambiguous and will likely cause debate. The 7 comments and 1 vague answer so far (that just points to another discussion) go towards showing that. I guess people can disagree - I just thought I would at least say why I personally voted to close it. – Fraser Jan 07 '13 at 01:30
  • @Fraser: Could you please let us know what the ambiguity is. I can only see a single interpretation as a simple "yes or no" question. The answer too I don't see as vague at all but a simple "yes". Maybe I'm missing something? – hippietrail Jan 07 '13 at 01:37
  • @elclanrs: Actually, with Microsoft now actively supporting node.js, [especially under Windows Azure](https://www.windowsazure.com/en-us/develop/nodejs/) it might indeed make sense for them to add Chakra support instead of relying on something from their rival Google. I have no idea whether node's OSS licencing would permit binding to a non-open JS engine. – hippietrail Jan 07 '13 at 02:22
  • 1
    @hippietrail - Then why isn't the accepted answer a simple "yes or no" ? Also, using that logic what would make one answer valid and one invalid? Should every team that isn't put a 'no' answer and have that marked as correct? You are essentially asking for a poll - with people voting 'yes' or 'no' - that is why it is ambiguous and an invalid question. – Fraser Jan 07 '13 at 02:28
  • @Fraser: The answer is a simple yes and then gives an example, like many good answers on StackOverflow. "Ambiguous" means can be read with two different interpretations. I still don't see two interpretations. I fail to see anything about voting or polling. I wanted to know if anyone was doing an alternative implementation of node.js. I asked here. I found out somebody indeed is. Q&A worked perfectly. – hippietrail Jan 07 '13 at 02:38
  • @hippietrail - Using that logic a simple no answer, that didn't give an example would also be accepted - because it would be as correct. Like I said, you may disagree but to me it is clearly a poll and not a valid question in my opinion. Just because you got an answer doesn't mean that it is a valid question. There are 1000's of closed questions with answers... – Fraser Jan 07 '13 at 02:43
  • @Fraser: I'm sorry but by your logic I don't know what you think a poll could be. I'll just stick with the [dictionary definition of "poll"](http://en.wiktionary.org/wiki/poll) instead. I might seek clarification on meta so please stay tuned. I certainly didn't set out to find the most popular node.js port - I just wanted to know if there were any ports at all. – hippietrail Jan 07 '13 at 02:49
  • @hippietrail - I mean a poll, where you ask a question and then people vote "yes" or "no". Like you said yourself - a yes or no question - where either answer is valid. – Fraser Jan 07 '13 at 02:51
  • 1
    @Fraser and any other interested parties, I have sought guidance on Meta: [Ought objective yes/no questions about the existence of a project etc be construed as “poll questions”?](http://meta.stackexchange.com/questions/161766) – hippietrail Jan 07 '13 at 03:05
  • Not a port or implementation of node.js but very much in the same vein is [tag:vert.x]: [comparison](http://blog.andrewvc.com/vertx-node-on-ropes), [home](http://vertx.io/) – hippietrail Jan 15 '13 at 14:00
  • Related: [Is there a Java equivalent of node.js](http://stackoverflow.com/questions/3410512) – hippietrail Jan 15 '13 at 14:12

5 Answers5

3

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.

7zark7
  • 10,015
  • 5
  • 39
  • 54
  • 5
    Thank you for not finding it difficult to tell what is being asked here. Thank you for not finding it ambiguous, vague, incomplete, overly broad, or rhetorical. And thank you for being able to reasonably answer it in its current form. (-: – hippietrail Jan 07 '13 at 00:52
  • @hippietrail Definitely a rare sighting nowadays – Ale Morales Apr 17 '16 at 15:44
3

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

Matt Hargett
  • 1,906
  • 1
  • 17
  • 37
Andrey Sidorov
  • 24,905
  • 4
  • 62
  • 75
  • That's actually the kind of thing I more expected to find. The Java ones were much more surprising to me. Thanks. It does seem to have gone stale though unfortunately. – hippietrail Jan 07 '13 at 07:09
  • Here's some info on [the project's beginnings](http://zpao.com/posts/about-that-hybrid-v8monkey-engine/). And here's some info on [its stagnation](http://zpao.com/posts/whats-the-deal-with-v8monkey-spidernode/) – hippietrail Jan 07 '13 at 07:18
2

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.

Matt Hargett
  • 1,906
  • 1
  • 17
  • 37
0

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

Community
  • 1
  • 1
hippietrail
  • 15,848
  • 18
  • 99
  • 158
0

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

Community
  • 1
  • 1
hippietrail
  • 15,848
  • 18
  • 99
  • 158
  • 2
    The iojs fork of nodejs has been merged back into mainline nodejs as of node 4.x. – Matt Hargett Jun 22 '17 at 20:49
  • and it seems like not a competing standerd... it is just a fork.. with ES6 spec. – Vaisakh K M Jun 01 '22 at 22:11
  • 1
    @VaisakhKM It was a major schism at the time, very controversial. But they actually resolved their problems. I guess it was about node refusing to support ES6 for some reason initially. [Article on why they forked in December 2014](https://www.infoworld.com/article/2855057/why-iojs-decided-to-fork-nodejs.html) and [Article on why they re-merged in September 2015](https://www.theregister.com/2015/09/09/node_js_v400_reunites_with_io_js/) – hippietrail Jun 02 '22 at 01:23