W3C WebAssembly tavsiya etilgan standart holatini beradi

W3C konsortsiumi e'lon WebAssembly texnologiyasiga tavsiya etilgan standart maqomini berish haqida. WebAssembly turli dasturlash tillaridan tuzilgan ilovalarni ishga tushirish uchun brauzerdan mustaqil, universal, past darajadagi oraliq kodni taqdim etadi. WebAssembly yuqori samarali veb-ilovalarni yaratish uchun yanada istiqbolli va brauzerlararo portativ texnologiya sifatida joylashtirilgan. WebAssembly video kodlash, audio ishlov berish, grafik va 3D manipulyatsiyasi, o'yinni ishlab chiqish, kriptografik operatsiyalar, matematik hisoblar va dasturlash tillarining portativ ilovalarini yaratish kabi unumdorlikni talab qiladigan vazifalar uchun ishlatilishi mumkin.

WebAssembly ko'p jihatdan Asm.js ga o'xshaydi, lekin JavaScript-ga bog'lanmagan ikkilik format ekanligi bilan farq qiladi. WebAssembly axlat yig'uvchini talab qilmaydi, chunki u aniq xotira boshqaruvidan foydalanadi. WebAssembly uchun JIT-dan foydalanib, siz mahalliy kodga yaqin ishlash darajalariga erishishingiz mumkin. WebAssembly-ning asosiy maqsadlari orasida turli platformalarda portativlikni, bashorat qilinadigan xatti-harakatlarni va bir xil kod bajarilishini ta'minlash kiradi. So'nggi paytlarda WebAssembly ham bor oldinga siljish brauzerlar bilan cheklanmagan har qanday infratuzilma, operatsion tizim va qurilmada xavfsiz kod bajarilishi uchun universal platforma sifatida.

W3C WebAssembly bilan bog'liq uchta spetsifikatsiyani standartlashtirgan:

  • WebAssembly yadrosi — WebAssembly oraliq kodini bajarish uchun past darajadagi virtual mashinani tavsiflaydi. WebAssembly bilan bog'liq resurslar Java ".class" fayliga o'xshash ".wasm" formatida bo'lib, statik ma'lumotlar va ushbu ma'lumotlar bilan ishlash uchun kod segmentlarini o'z ichiga oladi.
  • WebAssembly Web API — “.wasm” resurslarini so‘rash va bajarish uchun Promise mexanizmiga asoslangan dasturlash interfeysini belgilaydi. WebAssembly resurs formati faylning toʻliq yuklanishini kutmasdan ishlashni boshlash uchun optimallashtirilgan, bu esa veb-ilovalarning javob berish qobiliyatini yaxshilaydi.
  • WebAssembly JavaScript interfeysi — JavaScript bilan integratsiya qilish uchun API taqdim etadi. Qiymatlarni olish va parametrlarni WebAssembly funksiyalariga o'tkazish imkonini beradi. WebAssembly ning bajarilishi JavaScript xavfsizlik modeliga amal qiladi va asosiy tizim bilan barcha o‘zaro aloqalar JavaScript kodini bajarish bilan bir xil tarzda amalga oshiriladi.

Kelajakda biz WebAssembly xususiyatlari uchun spetsifikatsiyalarni tayyorlashni rejalashtirmoqdamiz:

  • Umumiy xotira va atomik xotiraga kirish imkoniyati bilan multithreading;
  • SIMD-ga asoslangan vektor operatsiyalari, tsiklning bajarilishini parallellashtirishga imkon beradi;
  • WebAssembly kodidan ob'ektlarga to'g'ridan-to'g'ri havola qilish uchun mos yozuvlar turlari;
  • Stakka qo'shimcha joy sarflamasdan funksiyalarni chaqirish imkoniyati;
  • ECMAScript modullari bilan integratsiya - ECMAScript 6 spetsifikatsiyasiga mos keladigan modullar sifatida JavaScript-dan WebAssembly kodini yuklash imkoniyati;
  • Axlat yig'ish rejimi;
  • Nosozliklarni tuzatish interfeyslari;
  • WASI (WebAssembly System Interface) - operatsion tizim bilan to'g'ridan-to'g'ri ishlash uchun API (fayllar, rozetkalar va boshqalar bilan ishlash uchun POSIX API).

    Manba: opennet.ru

a Izoh qo'shish