Mellékleteink: HUP | Gamekapocs
Keres

Hamarosan tényleg jön a V8-mentes Node

Gálffy Csaba, 2016. január 22. 12:53

Hamarosan kicserélhető lesz a JavaScript-motor a Node.js alatt, amikor a projektet vezető csapat elfogadja a Microsoft módosítási kérelmét. Ez komoly fegyvertény a Microsoft részéről, el is mondjuk miért.

hirdetés

Hamarosan kompatibilis lesz a Microsoft JS-motorjával is a Node.js szerveroldali JavaScript futtatókörnyezet - legalábbis amint a projekt vezetése elfogadja a Microsoft által benyújtott módosítási kérelmet. Ez óriási eredmény a szoftverház részéről, ugyanis a cég egyik kiemelt célja volt megtörni a Google dominanciáját ezen a területen. Ennek elérése még nagyon messze van, az első győzelmet azonban hamarosan elkönyvelheti a Microsoft.

A Node.js hagyományosan a Google V8 JavaScript motoron fut, szorosan ennek képességeihez igazodik a szerveroldali futtatókörnyezet. Ez nem csak a szabványos JavaScriptre vonatkozik, a szoftver olyan egyedi API-kat is használ, amelyek a Google V8 egyedi, nem szabványos elemei. Emiatt nem triviális a Node-ot más JS-motoron futtatni, a Microsoft mégis nekilendült ennek a feladatnak. Az eredmény a Node-hoz benyújtott pull request (módosítási kérelem), amelyet ha a projekt irányító csapata elfogad, akkor a (hivatalos) Node viszonylag könnyen futtatható lesz Chakra alapokon is.

A pull request egyik kulcseleme a ChakraShim, amely a ChakraCore-on ülő kompatibilitási réteg és elérhetővé teszi a V8 API kritikus elemeit a Chakrán is. Ez a Node és a Node-modulok szempontjából teljesen transzparens, vagyis a fejlesztő részéről módosítást nem igényel, minden ugyanúgy fut, mintha V8 dolgozna az alkalmazás alatt. Az egyetlen feltétel, hogy a Node.js-t és a natív modulokat ChakraCore-ral kell létrehozni indulás előtt.

A pull requestet üdvözölte a Node.js Foundation is, a hivatalos állásfoglalás szerint ez "pozitív hír a Node.js közösség számára és több helyen elérhetővé teszi a frameworköt, illetve mutatja, hogy a technológiába érdemes fejleszteni". A Node.js ezzel teljes jogú framework lesz Xboxon, a windowsos PC-ken és a Windows-alapú IoT-platformokon is - áll a közleményben.

A módosítások egyik kézzel fogható eredménye az lesz, hogy a pehelysúlyú Node.js immár képes lesz a Windows 10 (szintén pehelysúlyú) kiadásán, az IoT Core-on futni. A rendszer olyan hardvereken is képes futni, mint a Raspberry Pi 2 vagy a MinnowBoard Max, ennek azonban sok értelme nincs, ha nincsenek hozzá alkalmazások. Itt jön a képbe a Node.js, amely pontosan ezt az űrt töltené be és olyan alkalmazások írását teszi lehetővé (amatőröknek és profiknak egyaránt), amelyek tökéletesen illeszkednek ebbe a környezetbe.

A nagy Microsoft-JavaScript támadás

A Microsoft decemberben jelentette be, hogy kinyitja a Chakra forráskódját és elérhetővé teszi azt más platformokra is. Ezzel a Microsoft egyértelműen a többi nyílt forráskódú JavaScript-motor riválisává emelné a Chakrát, olyan futtatóplatformmá, amely szerveroldalon és egyéb felhasználási területeken is megállja a helyét. Olvasóink számára nem újdonság, hogy az elmúlt években a JavaScript kilépett a böngészők keretei közül, és ma már a szerveroldali alkalmazásokban és a mobilappokban is fontos szerepet játszik. A nyelv legújabb fejlesztései, az ECMAScript 2015 és sorban érkező utódai pedig fokozatosan olyan teljes értékű nyelvvé emelik a JS-t, amellyel már minden iparági szereplőnek komolyan számolnia kell.

Ezt a hullámot igen jól érzi a Microsoft is, a cég sokoldalú stratégiával igyekszik befolyását növelni a területen. Egyik oldalon a cég a TypeScript révén egy JavaScript-kiterjesztést készített (amely azért képes JS-re fordulni), a másik oldalon pedig a Chakra motorral gyakorol nyomást a bevett megoldásokra. A Chakra (pontosabban a szabad szoftveres rész, a ChakraCore) érdekessége, hogy teljesen platformfüggetlen, Windows környezetben egészen a Windows 7 SP1-ig mindennel kompatibilis, hamarosan pedig linuxos, OS X-es és egyéb portokra is számíthatunk.

A Node-V8 összefonódás megtörése a közösség számára is pozitív hozadékkal járhat, még abban az esetben is, ha a Google dominanciáját a Microsoft nem tudja sikerrel kikezdeni. A Chakra fejlesztéseire ugyanis így a V8-nak is reagálnia kell, ami biztosíték arra az esetre, ha a Google inkább átcsoportosítaná az erőforrásokat más területre. A ChakraCore puszta létezése biztosítás arra az esetre is, ha a Google úgy dönt, hogy dominanciáját arra használja, hogy a Node fejlődési irányát befolyásolja - a Foundation ebben az esetben dönthet úgy, hogy a Chakrát lépteti elő elsőrendű futtatómotorrá.

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.