Mellékleteink: HUP | Gamekapocs
Keres

Saját motorra portolta a Node.js-t a Microsoft

Gálffy Csaba, 2015. május 22. 13:30
Ez a cikk több évvel ezelőtt születetett, ezért előfordulhat, hogy a tartalma már elavult.
Frissebb anyagokat találhatsz a keresőnk segítségével:

Lecserélte a Node.js alatt dolgozó JavaScript motort a sajátjára a Microsoft, a cég szerint ehhez a Windows 10 közelgő rajtja miatt volt szükség. A fejlesztés új motorok előtt is megnyithatja az utat, elképzelhető például az iOS-en futó Node.js létrehozása is.

Megszabadítja legfontosabb függőségétől a Node.js-t a Microsoft új kezdeményezése. A cég fejlesztői egy olyan wrappert készítettek, amellyel a Node.js alatt alapértelmezésben dolgozó, Google-féle V8 JavaScript-motor lecserélhető a Microsoft-féle Chakra motorra. A fejlesztés célja elhozni a node-os alkalmazásokat a Windows-on-ARM platformra, amelyre jelenleg nem érhető el a V8 motor.

Átkötni a V8-as API-kat

A wrapper feladata viszonylag egyszerű: a Node.js által használt V8 hosting API-kat átköti a Microsoft JSRT hosting API-k felé. Ez utóbbi a cég JavaScript RunTime környezete, amely az asztali, Windows Store-os és szerveroldali JavaScript végrehajtásáért felel, alapját pedig (nyilván) az a Chakra motor képezi, amely a cég böngészőiben, az Internet Explorerben és immár az Edge-ben is dolgozik. A JSRT hosting API része a Microsoft új Universal Windows Platformjának, így minden Windows 10-es eszközön elérhető lesz, a telefontól az Xboxig.

Az új wrapperrel a Node.js használata előtt új lehetőségek nyílnak meg, a hagyományos Win32-es ("classic") Windows alkalmazások mellett UWP-s alkalmazásokből is elérhető lesz a platform, úgy x86-os, mind ARM-os rendszereken. A cég szerint a Node.js alkalmazások ráadásul az összes UWP API-t elérhetik, valamint (természetesen) használható marad a Visual Studio is az ilyen alkalmazások debugolására. A kimondott cél az volt, hogy a node-os alkalmazások minden Windows 10-es eszközön futhassanak, ehhez volt szükség erre a fejlesztésre.

A wrapper kódját a Microsoft nyilvánosan elérhetővé tette, ezzel megnyitva a lehetőséget arra, hogy már JS-motorra is portolni lehessen a Node-ot, így adott esetben az Apple-féle Nitro illetve a Mozilla Spidermonkey is képes legyen Node-os kód futtatására. Ezzel elérhetővé válna, hogy iOS-es eszközökön illetve olyan környezetben is elérhető legyen a Node, ahol a Google V8 valamiért nincs jelen.

A Microsoftnak van módszere arra is, ha node-gyp vagy C++ kiterjesztésekkel rendelkező Node-modulokat (npm-eket) szeretnénk futtatni, az ilyen natív beépülők ugyan a V8 headerjeire támaszkodnak, de lehetséges ezeket Chakrára portolni - ehhez itt érhető el leírás.

A nyílt forráskód mellett a kódot a Microsoft a Node.js-be is szeretné beépíteni, stabilizálás, hiánypótlás és a közösség visszajelzései alapján elvégzett módosítások után. A cég kimondott hosszútávú célja motor-agnosztikussá fejleszteni a Node.js-t, tehát lehetővé tenni, hogy a node-os alkalmazások minden elérhető JavaScript motoron fussanak majd - ehhez az első lépés a most bejelentett wrapper.

Facebook

Mit gondolsz? Mondd el!

Adatvédelmi okokból az adott hír megosztása előtt mindig aktiválnod kell a gombot! Ezzel a megoldással harmadik fél nem tudja nyomon követni a tevékenységedet a HWSW-n, ez pedig közös érdekünk.