WebAssembly
WebAssembly або wasm — незалежний від браузера універсальний низькорівневий проміжний код для виконання в браузері застосунків, скомпільованих з різних мов програмування. Серед основних завдань WebAssembly виділяється забезпечення перенесення між браузерами, передбачуваність поведінки та ідентичності виконання коду на різних платформах. Використання WebAssembly також дозволить істотно скоротити розмір застосунків, завдяки компактному проміжному коду, і збільшити швидкість декодування. Робоча група зі стандартизації технології WebAssembly сформована при організації W3C з представників проєктів Google Chrome, Microsoft Edge, Firefox і WebKit.[4] ОсобливостіЗ особливостей WebAssembly, що дозволяють домогтися вищої продуктивності, в порівнянні з JavaScript, виділяється:[5]
Відпочатку WebAssembly створювався на основі розробок asm.js[6] та PNaCl[4]. Основна відмінність від Asm.js полягає в тому, що WebAssembly є бінарним форматом, що не зав'язується на JavaScript і дозволяє виконувати в браузері низькорівневий проміжний код. На відміну від PNaCl, проміжний код WASM не є машинним кодом і не ізольований в окремій віртуальній машині, а виконується зі схожим на JavaScript рівнем ізоляції. Для розробників підготовлено інструментарій для компіляції модулів WebAssembly з коду мовами C/C++. Наприклад, для компіляції С/C++/asm.js в WebAssembly можна використовувати Emscripten або створений на його основі спеціальний компілятор Binaryen. Для перетворення тестового формату в бінарний поставляється транслятор WABT. ІсторіяWebAssembly анонсували 17 червня 2015[7], а 15 березня 2016 показали робочий Angry Bots на Unity у Firefox,[8] Chromium, Google Chrome,[9] та Microsoft Edge.[10] У лютому 2017 робоча група зі стандартизації WebAssembly вирішила[11], що бінарний формат і початковий WebAssembly API досягли рівня MVP (мінімально життєздатний продукт), що дає розробникам браузерів зелене світло на включення WebAssembly за умовчанням. WebAssembly включений за умовчанням у браузерах Firefox 52[12] та Chrome 57[13] у березні 2017. У серпні 2024 було представлено експериментальне демо відображення рукописного шрифту з допомогою рушія Harfbuz на WASM[14][15]. Примітки
Посилання
|