Microsoft Asks Node.js To Allow ChakraCore (Edge) Alongside Google's V8 Engine (softpedia.com)
campuscodi writes: Microsoft has submitted an official pull request to the Node.js project, through which it's asking the project's maintainers to enable support for ChakraCore, the JavaScript engine packed inside Microsoft's Edge browser, as an alternative to Node's built-in V8 engine, developed by Google. Earlier in December 2015, Microsoft open-sourced ChakraCore. Microsoft has also been one of the biggest companies to adopt Node.js early on, and is also part of the Node.js Foundation's Board o Directors. The main reason to add ChakraCore support in Node.js will help the IoT version of Windows 10 to run JS apps on IoT devices, just like Samsung is also thinking about.
Why would this be beneficial to anyone but microsoft?
Do you have any documentation available on that?
Not only benchmarks but also perceived performance by the user.
If builders built buildings the way programmers wrote programs, then the first woodpecker would destroy civilization.
If only there was a queryable index of websites you could search by keyword this would be a lot easier. Guess we'll never know.
V8 is already cross platform and open source, what is the need to have alternative engines?
We've been here before. What's the point of Linux when we already have 386BSD?
sub f{($f)=@_;print"$f(q{$f});";}f(q{sub f{($f)=@_;print"$f(q{$f});";}f});
There's nothing stopping V8 from doing the same dick-move.
But right now, Node.JS's language effectively IS whatever V8 is.
If Node.js can set their own language standards and block syntax outside that standard, it would make swapping engines a total non-issue.
Slashdot social media options: AIM, ICQ, Yahoo, Jabber and Mobile Text. Why no MySpace?
the Node.js Foundation's Board o Directors
Yargh, and it be a fine board too.
systemd is Roko's Basilisk.
I've been lead on this merry dance of bullshit before with Windows Embedded where the toolchain only supports a subset of Win32, a subset of STL classes and C headers and suddenly code that used to be portable no longer is.
I wouldn't see that as an excuse to replace the entire backend though. Microsoft should supply patches to fix V8.
support standards instead.
Isn't Google the scarier massive corporation these days?
There's more choice of OS than ever (if you consider mobile, too) - but Google have a lot of power over huge aspects of the Internet that Microsoft has very little influence over
Improving V8 would be more worthwhile to anyone who doesn't have a crippling case of not-invented-here syndrome.
And I don't get the IoT angle here... no hobbyists care about W10IoT, the Microsoft JS engine doesn't make the bait any better. Linux on RaspberryPi is a full fledged OS, not a glorified app bootloader.
I think that Microsoft needs to get their engine spread more than what Node.js needs the Microsoft engine.
However I also see a danger here - if Microsoft gets their engine as default into Node.js then they can change the licensing terms and effectively block Node.js from being viable. This has happened before, and will happen again. It smells like bait.
If builders built buildings the way programmers wrote programs, then the first woodpecker would destroy civilization.
I know a bunch of you think V8 is cross-platform enough, but really it isn't. It uses way too much memory for many platforms, there's no non-JIT mode (so can't run on iOS), oh and it is a female dog to compile.
Node.js' use cases are not limited to running a Node.js server. Embedding the core inside a bigger application and using it for some types of cross-platform logic, scripting, etc is a real thing. Maximizing compatibility is a must in that case.
Aside from just having options, various engines offer different features you may want to use, and better compatibility with your target platform.
JXCore has done a great job extending Node.js to support mobile, and they support SpiderMonkey and ChakraCore alongside V8. Compatibility wise they're king of the hill already, though they could still add JavaScriptCore and maybe even Duktape for good measure.