Chakra officially adopted by Node.js
As previously reported, Microsoft made a pull request with the addition of support for the proprietary Chakra open-source JS engine in Node.js. Microsoft developers suggested making a very controversial change, which caused a fierce discussion among the project participants: there were accusations against MS, with subsequent blocking of the discussion thread, and sober criticism sank in places among overly enthusiastic comments. And despite the fact that the pull request itself has not yet been accepted, Microsoft has received official support from the Node.js. community.
This pull request seems controversial because it proposes to do what the community has not been able to do over the past few years - to create an abstraction layer above the JavaScript engine and to save the code written in C / C ++ from constant rewriting after changing the architecture of v8. MS wrote a shim that emulated v8 behavior and named it ChakraShim.
Many were outraged by the attempt of MS to become a first-class participant in the project and influence the development of the kernel. This really can be called unfriendly interference, because the fork mechanism has existed for a long time and has established itself well. And given that Chakra is a fairly new engine and only earns its first reputation in open source, the fork looks much more logical. Moreover, the engine works only under Windows.
During the discussions, it was decided not to merge projects together and limit ourselves to fork, but already in the nodejs repositories, until at least some stable version appears. After which Chakra will become a full-fledged Node.js. engine That, in fact, is all the news, if not for a few interesting details.
Microsoft never ceases to amaze with its newfound openness, providing previously closed technologies to the public. The corporation provides the community with much of what developers wanted to see open since the beginning of the 2000s. Moreover, MS opens up completely new developments. Against this background, the company's participation in the development of Node.js seems logical. Moreover, MS plans to use the result of symbiosis in its IoT products, and node.js has a huge code base.
But why all this MS, if they have their own stack from IoT to the mobile platform and servers, why not make another own product, supplementing them with XAML? Enough to make it compatible with Nodejs. Why invest in a community that is not too loyal and a product that does not occupy a significant share in your manufacturing process? Someone,may consider that MS abandoned the self-development strategy. But this does not draw at all for an exhaustive explanation.
Let's look towards WebAssembly. This is a browser bytecode technology combining speed and energy efficiency close to C; execution security and the highest delivery speed available today only to the browser. Also add here the widest distribution among other environments. Plus abstraction from any language! It is highly likely that this technology will turn the software development market up, as once mobile applications turned development over and seized a huge share of the web. But, who today occupies a leading position on the web, isn’t Google with Chrome and v8 under the hood !? For Microsoft, this promises serious consequences, at least an exhausting struggle.
But this is only one detail; reliable forecasts cannot be made from it. As a js developer, I really look forward to the appearance of wasm, and predicted the inclusion of experimental support in June-July 2016 - it is still not such an easy task to develop a new comprehensive technology for the web. But the pace of development was much higher - Google is already testing wasm in v8. Interestingly, the decision to start developing the abstraction layer in Node.js was not made for several years due to the obvious difficulty of the task and the lack of any idea what to do. With the advent of ChakraShim, a decision was made in less than a week. And, no less interesting, without any clear reasons, the technical committee makes a decisionto complete work by April and assigns this task the highest priority. The fact is that with the advent of wasm, the need for abstraction will disappear, since most of the modules can be transferred to wasm without significant loss of performance, but with getting rid of platform dependency. This means that Google will grab the bold piece already inside Windows itself, albeit not directly, but still.
Of course, perhaps Microsoft is simply trying to strengthen its position. But judging by the risks that arise in front of MS, the company seeks to secure its possessions and, perhaps, tries on Nodejs before buying (I remind you that Nodejs is a Joyent trademark, which means it can be sold). In any case, these are the first signs of a new technological war unfolding around wasm. And, in the near future we should expect an increased presence of Microsoft in Node.js.
This pull request seems controversial because it proposes to do what the community has not been able to do over the past few years - to create an abstraction layer above the JavaScript engine and to save the code written in C / C ++ from constant rewriting after changing the architecture of v8. MS wrote a shim that emulated v8 behavior and named it ChakraShim.
Many were outraged by the attempt of MS to become a first-class participant in the project and influence the development of the kernel. This really can be called unfriendly interference, because the fork mechanism has existed for a long time and has established itself well. And given that Chakra is a fairly new engine and only earns its first reputation in open source, the fork looks much more logical. Moreover, the engine works only under Windows.
During the discussions, it was decided not to merge projects together and limit ourselves to fork, but already in the nodejs repositories, until at least some stable version appears. After which Chakra will become a full-fledged Node.js. engine That, in fact, is all the news, if not for a few interesting details.
Interesting details
Microsoft never ceases to amaze with its newfound openness, providing previously closed technologies to the public. The corporation provides the community with much of what developers wanted to see open since the beginning of the 2000s. Moreover, MS opens up completely new developments. Against this background, the company's participation in the development of Node.js seems logical. Moreover, MS plans to use the result of symbiosis in its IoT products, and node.js has a huge code base.
But why all this MS, if they have their own stack from IoT to the mobile platform and servers, why not make another own product, supplementing them with XAML? Enough to make it compatible with Nodejs. Why invest in a community that is not too loyal and a product that does not occupy a significant share in your manufacturing process? Someone,may consider that MS abandoned the self-development strategy. But this does not draw at all for an exhaustive explanation.
Let's look towards WebAssembly. This is a browser bytecode technology combining speed and energy efficiency close to C; execution security and the highest delivery speed available today only to the browser. Also add here the widest distribution among other environments. Plus abstraction from any language! It is highly likely that this technology will turn the software development market up, as once mobile applications turned development over and seized a huge share of the web. But, who today occupies a leading position on the web, isn’t Google with Chrome and v8 under the hood !? For Microsoft, this promises serious consequences, at least an exhausting struggle.
But this is only one detail; reliable forecasts cannot be made from it. As a js developer, I really look forward to the appearance of wasm, and predicted the inclusion of experimental support in June-July 2016 - it is still not such an easy task to develop a new comprehensive technology for the web. But the pace of development was much higher - Google is already testing wasm in v8. Interestingly, the decision to start developing the abstraction layer in Node.js was not made for several years due to the obvious difficulty of the task and the lack of any idea what to do. With the advent of ChakraShim, a decision was made in less than a week. And, no less interesting, without any clear reasons, the technical committee makes a decisionto complete work by April and assigns this task the highest priority. The fact is that with the advent of wasm, the need for abstraction will disappear, since most of the modules can be transferred to wasm without significant loss of performance, but with getting rid of platform dependency. This means that Google will grab the bold piece already inside Windows itself, albeit not directly, but still.
Of course, perhaps Microsoft is simply trying to strengthen its position. But judging by the risks that arise in front of MS, the company seeks to secure its possessions and, perhaps, tries on Nodejs before buying (I remind you that Nodejs is a Joyent trademark, which means it can be sold). In any case, these are the first signs of a new technological war unfolding around wasm. And, in the near future we should expect an increased presence of Microsoft in Node.js.