W3C мақоми стандартии тавсияшудаи WebAssembly медиҳад

Консорсиуми W3C эълон дар бораи додани технологияи WebAssembly мақоми стандарти тавсияшуда. WebAssembly барои иҷро кардани барномаҳое, ки аз забонҳои гуногуни барномасозӣ тартиб дода шудаанд, рамзи мустақили браузер, универсалӣ ва сатҳи пастро таъмин мекунад. WebAssembly ҳамчун технологияи сайёри ояндадортар ва фаромарзӣ барои эҷоди веб-барномаҳои баландсифат ҷойгир шудааст. WebAssembly метавонад барои вазифаҳои пуршиддат ба монанди рамзгузории видео, коркарди аудио, графика ва манипуляцияи 3D, таҳияи бозӣ, амалиёти криптографӣ, ҳисобҳои математикӣ ва эҷоди татбиқи сайёри забонҳои барномасозӣ истифода шавад.

WebAssembly аз бисёр ҷиҳат ба Asm.js шабеҳ аст, аммо бо он фарқ мекунад, ки он формати дуӣ аст, ки ба JavaScript пайваст нест. WebAssembly коллектори партовҳоро талаб намекунад, зеро он идоракунии равшани хотираро истифода мебарад. Бо истифода аз JIT барои WebAssembly, шумо метавонед ба сатҳи корбарӣ наздик ба рамзи маҳаллӣ ноил шавед. Дар байни ҳадафҳои асосии WebAssembly таъмини интиқол, рафтори пешгӯинашаванда ва иҷрои рамзҳои шабеҳ дар платформаҳои гуногун мебошад. Вақтҳои охир WebAssembly низ дорад пешравӣ ҳамчун платформаи универсалӣ барои иҷрои бехатари код дар ҳама гуна инфрасохтор, системаи амалиётӣ ва дастгоҳ, на танҳо бо браузерҳо.

W3C се мушаххасоти марбут ба WebAssemblyро стандарти кардааст:

  • Core WebAssembly — мошини маҷозии сатҳи пастро барои иҷро кардани коди мобайнии WebAssembly тавсиф мекунад. Сарчашмаҳои марбут ба WebAssembly дар формати ".wasm" меоянд, ки ба файли Java ".class" шабоҳат доранд, ки дорои маълумоти статикӣ ва сегментҳои рамзӣ барои кор бо он маълумот мебошанд.
  • API WebAssembly — интерфейси барномасозиро дар асоси механизми Promise барои дархост ва иҷрои захираҳои ".wasm" муайян мекунад. Формати захираҳои WebAssembly барои оғоз кардани иҷроиш бидуни интизории пурборкунии файл оптимизатсия карда шудааст, ки ин посухгӯии барномаҳои вебро беҳтар мекунад.
  • Интерфейси JavaScript WebAssembly — API барои ҳамгироӣ бо JavaScript пешниҳод мекунад. Ба шумо имкон медиҳад, ки арзишҳо гиред ва параметрҳоро ба функсияҳои WebAssembly интиқол диҳед. Иҷрои WebAssembly ба модели амнияти JavaScript пайравӣ мекунад ва ҳама ҳамкорӣ бо системаи асосӣ ба ҳамон тарзе иҷро карда мешавад, ки рамзи JavaScript иҷро карда мешавад.

Дар оянда мо нақша дорем, ки мушаххасотро барои чунин хусусиятҳои WebAssembly омода созем:

  • Multithreading бо хотираи муштарак ва дастрасии хотираи атомӣ;
  • Амалиёти векторӣ дар асоси SIMD, ки имкон медиҳад параллелизатсияи иҷрои ҳалқа;
  • Намудҳои истинод барои истинод ба объектҳо аз рамзи WebAssembly;
  • Имконияти даъват кардани функсияҳо бе сарфи фазои иловагӣ дар стек;
  • Интегратсия бо модулҳои ECMAScript - қобилияти бор кардани коди WebAssembly аз JavaScript ҳамчун модулҳое, ки ба мушаххасоти ECMAScript 6 мувофиқанд;
  • Реҷаи ҷамъоварии ахлот;
  • Интерфейсҳои ислоҳӣ;
  • ВАСИ (Интерфейси System WebAssembly) - API барои ҳамкории мустақим бо системаи оператсионӣ (API POSIX барои кор бо файлҳо, розеткаҳо ва ғ.).

    Манбаъ: opennet.ru

Илова Эзоҳ