HWSW

Asm.js támogatást kap az Internet Explorer

Teljesíti saját JavaScript motorjával kapcsolatban az egyik leggyakrabban felmerülő fejlesztői kérést a Microsoft. A következő generációs, Windows 10-zel együtt érkező Chakra támogatni fogja a Mozilla által 2013-ban bemutatott Asm.js-t.

Nagyon úgy fest, hogy a Microsoft nem csak a levegőbe beszélt, amikor a Windows 10 fejlesztése kapcsán megígérte, hogy a munka során komolyan támaszkodni fog a felhasználói visszajelzésekre és fejlesztői kérésekre. A telefonos Windows 10 Technical Preview 2-t gyakorlatilag egy pre-béta, abszolút nyers formában tették elérhetővé tesztelésre (a vállalat fel is hívta a figyelmet számos ismert hibára) néhány alsó- és középkategóriás Lumia modellre - azért, hogy a végleges verzió a lehető legjobban megfeleljen az elvárásoknak.

xAz Internet Explorer "ötletdobozt [1]" tavaly decemberben nyitották meg a külső fejlesztők előtt, az asm.js Chakra motorba történő implementálása azóta az egyik legtöbbször beérkező kérés volt. A Microsoft saját JavaScript motorjának fejlesztéséért felelős csapat ezért a megvalósítás mellett döntött [2], a változás már a status.modern.ie [3] oldalon is látható, ahol a "megfontolás alatt" státusz helyét a "fejlesztés alatt" vette át. A Windows 10-ben megjelenő új böngésző mögött dolgozó technológiáról korábban itt írtunk [4].

A kevesebb gyorsabb

A webes alkalmazások egyik nagy problémája jelenleg a JavaScript viszonylagos lassúsága. Ugyan a nyelv egyes alapvető feladatokra kiválóan alkalmas (például statikus felületek összerakására), komplexebb webes alkalmazásokhoz és különösen animációkhoz alkalmatlan. Ennek oka, hogy a nyelv agresszív szemétgyűjtő algoritmusa (garbage collection) kvázi véletlenszerű időpontokban fut le, ilyenkor pedig a teljes app futása megáll századmásodpercekre, de néha tizedmásodpercekre is. Ez nagyon látványos akadozáshoz vezet, ami gyenge felhasználói élményt eredményez. A helyzeten az elmúlt néhány évben sokat javított az új generációs JavaScript-motorok (Google V8, Apple Nitro, Mozilla xMonkey) használata, az elmúlt időszakban azonban a fejlődés lelassult, amelyet a hardveres előrelépés sem tudott újra bepörgetni.

A JavaScript motorok teljesítményének növelésére a Mozilla 2013-ban mutatta be az asm.js-t, azaz egy karcsúsított utasításkészletű, a szemétgyűjtéstől is megszabadított JS-subsetet, amelyet köztes nyelvnek, gyakorlatilag bájtkód szintű rétegnek szánt a cég. Ez a kód képes minden, JavaScriptet támogató motoron futni, az ASM-optimalizációval rendelkező motorok azonban rendkívül gyorsan, közel natív sebességgel képesek végrehajtani.

A Microsoft fejlesztői az elmúlt hónapokban alaposan megvizsgálták az asm.js által nyújtott előnyöket és arra jutottak, hogy érdemes beépíteni a támogatását a Windows 10 JavaScript motorjába. Fontos előnyként hangsúlyozzák a subset különböző platformok, böngészők és JS-motorok közötti kompatibilitását - ahol az asm.js támogatása biztosított, ott realizálódik a teljesítménynövekedés, egyébként pedig nem történik változás a kód futtatásában. A Mozilla mérései szerint az asm.js-ben írt alkalmazások "csak" másfélszer lassabban futnak, mint C/C++-ban írt változataik.

Jó az irány

A Microsoft döntése azért is nagyon érdekes, mert jól jelzi, milyen új szelek fújnak a böngészőgyártók közötti együttműködések területén. Néhány éve még elképzelhetetlen lett volna, hogy a Mozilla kezdeményezését a Microsoft felkarolja. A Google és az Apple azonban olyan versenyhelyzetet teremtett a mobilos (és részben az asztali) szegmensben, ami közelebb hozta a szabad szoftveres közösséget és a Microsoftot. Az együttműködés pozitív hozadékait, a jó ötletek és megoldások átvétele remélhetőleg iparági gyakorlattá nemesül, a jelenlegi irány mindenesetre erre mutat.

A cikkben hivatkozott linkek:
[1] https://wpdev.uservoice.com/forums/257854-internet-explorer-platform
[2] http://blogs.msdn.com/b/ie/archive/2015/02/18/bringing-asm-js-to-the-chakra-javascript-engine-in-windows-10.aspx
[3] https://status.modern.ie/asmjs
[4] https://www.hwsw.hu/hirek/53476/microsoft-trident-edgehtml-render-motor-webkit.html
A cikk adatai:
//www.hwsw.hu/hirek/53590/microsoft-internet-explorer-javascript-chakra-asm-js-windows-10-spartan.html
Író: Voith Hunor (voith.hunor@hwsw.hu)
Dátum: 2015. február 19. 10:51
Rovat: vállalati it