:

Szerző: Voith Hunor

2015. február 19. 10:51

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.

Ünnepi mix a bértranszparenciától a kódoló vezetőkig

Négy IT karrierrel kapcsolatos, érdekes témát csomagoltunk a karácsonyfa alá.

Ünnepi mix a bértranszparenciától a kódoló vezetőkig Négy IT karrierrel kapcsolatos, érdekes témát csomagoltunk a karácsonyfa alá.

Az Internet Explorer "ötletdobozt" 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, a változás már a status.modern.ie 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.

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 címlapról