A W3C a WebAssembly-t ajánlott szabvánnyá teszi

W3C Konzorcium bejelentett a WebAssembly technológiának az ajánlott szabvány státuszáról. A WebAssembly böngészőfüggetlen, univerzális, alacsony szintű középszintű kódot biztosít különféle programozási nyelvekből összeállított alkalmazások futtatásához. A WebAssembly egy ígéretesebb és több böngészőt is átívelő hordozható technológia a nagy teljesítményű webalkalmazások létrehozásához. A WebAssembly olyan teljesítményigényes feladatokhoz használható, mint a videó kódolás, hangfeldolgozás, grafika és 3D manipuláció, játékfejlesztés, kriptográfiai műveletek, matematikai számítástechnika, valamint programozási nyelvek hordozható implementációinak létrehozása.

A WebAssembly sok tekintetben hasonlít az Asm.js-hez, de abban különbözik, hogy ez egy bináris formátum, amely nincs JavaScript-hez kötve. A WebAssembly nem igényel szemétgyűjtőt, mert explicit memóriakezelést használ. A JIT for WebAssembly használatával a natív kódhoz közeli teljesítményszinteket érhet el. A WebAssembly fő céljai között szerepel a hordozhatóság, a kiszámítható viselkedés és az azonos kódvégrehajtás biztosítása a különböző platformokon. Az utóbbi időben a WebAssembly is továbbjutó mint univerzális platform a biztonságos kódvégrehajtáshoz bármilyen infrastruktúrán, operációs rendszeren és eszközön, nem csak a böngészőkben.

A W3C három, a WebAssembly-hez kapcsolódó specifikációt szabványosított:

  • WebAss Assembly Core — egy alacsony szintű virtuális gépet ír le a WebAssembly köztes kód végrehajtásához. A WebAssembly-hez kapcsolódó erőforrások „.wasm” formátumban érkeznek, hasonlóan a Java „.class” fájlokhoz, amelyek statikus adatokat és kódszegmenseket tartalmaznak az adatokkal való munkavégzéshez.
  • WebAssembly Web API — a Promise mechanizmuson alapuló programozási felületet határoz meg a „.wasm” erőforrások lekéréséhez és végrehajtásához. A WebAssembly erőforrásformátum úgy van optimalizálva, hogy a fájl teljes betöltésének megvárása nélkül kezdje meg a végrehajtást, ami javítja a webalkalmazások válaszkészségét.
  • WebAssembly JavaScript felület — API-t biztosít a JavaScripttel való integrációhoz. Lehetővé teszi értékek lekérését és paraméterek átadását a WebAssembly függvényeknek. A WebAssembly végrehajtása a JavaScript biztonsági modelljét követi, és minden interakció a fő rendszerrel ugyanúgy történik, mint a JavaScript kód végrehajtása.

A jövőben olyan WebAssembly-funkciók specifikációinak elkészítését tervezzük, mint:

  • Többszálú feldolgozás megosztott memóriával és atomi memória hozzáféréssel;
  • SIMD alapú vektorműveletek, amelyek lehetővé teszik a hurok végrehajtásának párhuzamosítását;
  • Referenciatípusok az objektumok WebAssembly kódból való közvetlen hivatkozásához;
  • Funkciók meghívása anélkül, hogy további helyet kellene töltenie a veremben;
  • Integráció ECMAScript modulokkal – a WebAssembly kód betöltésének lehetősége JavaScriptből olyan modulokként, amelyek megfelelnek az ECMAScript 6 specifikációnak;
  • Szemétgyűjtő mód;
  • Hibakeresési felületek;
  • VOLTAM ÉN (WebAssembly System Interface) - API az operációs rendszerrel való közvetlen interakcióhoz (POSIX API fájlokkal, socketekkel stb. való munkához).

    Forrás: opennet.ru

Hozzászólás