W3C WebAssembly сунушталган стандарт статусун берет

W3C консорциуму жарыялады WebAssembly технологиясына сунушталган стандарт статусун берүү жөнүндө. WebAssembly ар кандай программалоо тилдеринен түзүлгөн тиркемелерди иштетүү үчүн браузерден көз карандысыз, универсалдуу, төмөнкү деңгээлдеги орто аралык кодду камсыз кылат. WebAssembly жогорку натыйжалуу веб-тиркемелерди түзүү үчүн бир кыйла келечектүү жана кросс-браузер портативдик технология катары жайгашкан. WebAssembly видео коддоо, аудио иштетүү, графика жана 3D манипуляциясы, оюндарды иштеп чыгуу, криптографиялык операциялар, математикалык эсептөөлөр жана программалоо тилдерин портативдик ишке ашыруу сыяктуу аткарууну талап кылган тапшырмалар үчүн колдонулушу мүмкүн.

WebAssembly көп жагынан Asm.js менен окшош, бирок JavaScript менен байланышпаган бинардык формат экендиги менен айырмаланат. WebAssembly таштанды жыйноочуну талап кылбайт, анткени ал ачык эстутумду башкарууну колдонот. WebAssembly үчүн JIT колдонуу менен, сиз жергиликтүү кодго жакын аткаруу деңгээлине жете аласыз. WebAssembly'дин негизги максаттарынын арасында ар кандай платформаларда портативдүүлүк, алдын ала жүрүм-турум жана бирдей коддун аткарылышын камсыз кылуу болуп саналат. Акыркы убакта WebAssembly да бар илгерилөө браузерлер менен эле чектелбестен, каалаган инфраструктурада, операциялык системада жана түзмөктө коопсуз кодду аткаруу үчүн универсалдуу платформа катары.

W3C WebAssembly менен байланышкан үч спецификацияны стандартташтырган:

  • Веб ассамблеясынын өзөгү — WebAssembly аралык кодун аткаруу үчүн төмөнкү деңгээлдеги виртуалдык машинаны сүрөттөйт. WebAssembly менен байланышкан ресурстар Java ".class" файлына окшош ".wasm" форматында келип, статикалык маалыматтарды жана ошол маалыматтар менен иштөө үчүн код сегменттерин камтыйт.
  • WebAssembly Web API — “.wasm” ресурстарын суроо жана аткаруу үчүн Promise механизминин негизинде программалоо интерфейсин аныктайт. WebAssembly ресурс форматы файлдын толук жүктөлүшүн күтпөстөн аткарууну баштоо үчүн оптималдаштырылган, бул веб-тиркемелердин жооп берүү жөндөмдүүлүгүн жакшыртат.
  • WebAssembly JavaScript интерфейси — JavaScript менен интеграциялоо үчүн API камсыз кылат. Маанилерди алууга жана WebAssembly функцияларына параметрлерди өткөрүүгө мүмкүндүк берет. WebAssembly аткарылышы JavaScript коопсуздук моделин ээрчийт жана негизги система менен бардык өз ара аракеттенүү JavaScript кодун аткаруу сыяктуу эле ишке ашат.

Келечекте биз WebAssembly функциялары үчүн спецификацияларды даярдоону пландап жатабыз:

  • Бөлүштүрүлгөн эс жана атомдук эстутум мүмкүнчүлүгү менен көп агым;
  • Циклдин аткарылышын параллелдештирүүгө мүмкүндүк берүүчү SIMD негизиндеги вектордук операциялар;
  • WebAssembly кодунан объекттерге түздөн-түз шилтеме берүү үчүн шилтеме түрлөрү;
  • Стекте кошумча орун коротпостон функцияларды чакыруу мүмкүнчүлүгү;
  • ECMAScript модулдары менен интеграция - ECMAScript 6 спецификациясына ылайык келген модулдар катары JavaScriptтен WebAssembly кодун жүктөө мүмкүнчүлүгү;
  • Таштанды жыйноочу режими;
  • Мүчүлүштүктөрдү оңдоо интерфейстери;
  • WASI (WebAssembly System Interface) - операциялык система менен түз өз ара аракеттенүү үчүн API (файлдар, розеткалар ж.б. менен иштөө үчүн POSIX API).

    Source: opennet.ru

Комментарий кошуу