Π”ΠΎΡΡ‚ΡŠΠΏΠ΅Π½ Π΅ Wasmer 3.0, инструмСнтариум Π·Π° създаванС Π½Π° прилоТСния Π½Π° Π±Π°Π·Π°Ρ‚Π° Π½Π° WebAssembly

ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π΅Π½ Π΅ Ρ‚Ρ€Π΅Ρ‚ΠΈ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π΅Π½ Π΅Ρ‚Π°ΠΏ ΠΎΡ‚ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Wasmer, ΠΊΠΎΠΉΡ‚ΠΎ Ρ€Π°Π·Π²ΠΈΠ²Π° runtime Π·Π° изпълнСниС Π½Π° ΠΌΠΎΠ΄ΡƒΠ»ΠΈ WebAssembly. Π’ΠΎΠΉ ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° създаванС Π½Π° унивСрсални прилоТСния, способни Π΄Π° работят Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΈ систСми, ΠΊΠ°ΠΊΡ‚ΠΎ ΠΈ Π·Π° ΠΈΠ·ΠΎΠ»ΠΈΡ€Π°Π½ΠΎ изпълнСниС Π½Π° ΠΊΠΎΠ΄, ΠΊΠΎΠΉΡ‚ΠΎ Π½Π΅ Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½. ΠšΠΎΠ΄ΡŠΡ‚ Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π΅ написан Π½Π° Rust ΠΈ сС разпространява ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Π·Π° MIT.

Π’ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚Ρ‚Π° Π΄Π° сС стартира Π΅Π΄Π½ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠΈ сС осигурява Ρ‡Ρ€Π΅Π· ΠΊΠΎΠΌΠΏΠΈΠ»Π°Ρ‚ΠΎΡ€ Π·Π° ΠΊΠΎΠ΄ Π² Π½ΠΈΠ·ΠΊΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²Π΅Π½ ΠΌΠ΅ΠΆΠ΄ΠΈΠ½Π΅Π½ ΠΊΠΎΠ΄ WebAssembly, ΠΊΠΎΠΉΡ‚ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° сС изпълнява Π½Π° всяка ОБ ΠΈΠ»ΠΈ Π΄Π° бъдС Π²Π³Ρ€Π°Π΄Π΅Π½ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈ Π½Π° Π΄Ρ€ΡƒΠ³ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ½ΠΈ Π΅Π·ΠΈΡ†ΠΈ. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ‚Π΅ прСдставляват Π»Π΅ΠΊΠΈ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ, Π² ΠΊΠΎΠΈΡ‚ΠΎ сС изпълнява псСвдокод WebAssembly. Π’Π΅Π·ΠΈ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ Π½Π΅ са ΠΎΠ±Π²ΡŠΡ€Π·Π°Π½ΠΈ с ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Π°Ρ‚Π° систСма ΠΈ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π²ΠΊΠ»ΡŽΡ‡Π²Π°Ρ‚ ΠΊΠΎΠ΄, написан ΠΏΡŠΡ€Π²ΠΎΠ½Π°Ρ‡Π°Π»Π½ΠΎ Π½Π° всСки ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ΅Π½ Π΅Π·ΠΈΠΊ. Π—Π° компилация Π² WebAssembly ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° инструмСнтарият Emscripten. Π—Π° транслиранС Π½Π° WebAssembly Π² машинСн ΠΊΠΎΠ΄ Π½Π° Ρ‚Π΅ΠΊΡƒΡ‰Π°Ρ‚Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° сС ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° ΡΠ²ΡŠΡ€Π·Π²Π°Π½Π΅ Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ компилаторски Π±Π΅ΠΊΠ΅Π½Π΄ΠΈ (Singlepass, Cranelift, LLVM) ΠΈ Π΄Π²ΠΈΠ³Π°Ρ‚Π΅Π»ΠΈ (изпълнСниС JIT ΠΈΠ»ΠΈ Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π°Π½Π΅ Π½Π° машинСн ΠΊΠΎΠ΄).

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ‚Π° са ΠΈΠ·ΠΎΠ»ΠΈΡ€Π°Π½ΠΈ ΠΎΡ‚ основната систСма Π² sandbox-ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ ΠΈ ΠΈΠΌΠ°Ρ‚ Π΄ΠΎΡΡ‚ΡŠΠΏ само Π΄ΠΎ заявСната функционалност (ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΡŠΠΌ Π·Π° сигурност Π½Π° Π±Π°Π·Π°Ρ‚Π° Π½Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΡ€Π°Π²Π°Ρ‚Π° β€” Π·Π° дСйствия с всСки ΠΎΡ‚ рСсурситС (Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅, Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ, сокСти, систСмни извиквания ΠΈ Ρ‚.Π½.) ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ трябва Π΄Π° ΠΏΠΎΠ»ΡƒΡ‡ΠΈ ΡΡŠΠΎΡ‚Π²Π΅Ρ‚Π½ΠΈΡ‚Π΅ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ). Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° Π΄ΠΎΡΡ‚ΡŠΠΏΠ° ΠΈ взаимодСйствиСто с систСмата сС ΠΎΡΡŠΡ‰Π΅ΡΡ‚Π²ΡΠ²Π° Ρ‡Ρ€Π΅Π· API WASI (WebAssembly System Interface), ΠΊΠΎΠΉΡ‚ΠΎ прСдоставя ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ½ΠΈ интСрфСйси Π·Π° Ρ€Π°Π±ΠΎΡ‚Π° с Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅, сокСти ΠΈ Π΄Ρ€ΡƒΠ³ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π½ΠΈ ΠΎΡ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Π°Ρ‚Π° систСма.

ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° позволява постиганС Π½Π° производитСлност Π½Π° ΠΈΠ·ΠΏΡŠΠ»Π½Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° прилоТСния, Π±Π»ΠΈΠ·ΠΊΠ° Π΄ΠΎ производитСлността Π½Π° мСстни ΠΊΠΎΠΌΠΏΠΈΠ»Π°Ρ†ΠΈΠΈ. Π§Ρ€Π΅Π· Native Object Engine Π·Π° WebAssembly ΠΌΠΎΠ΄ΡƒΠ»Π° ΠΌΠΎΠΆΠ΅ Π΄Π° сС Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π° машинСн ΠΊΠΎΠ΄ (β€žwasmer compile β€”nativeβ€œ Π·Π° Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π°Π½Π΅ Π½Π° ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»Π½ΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€Π°Π½ΠΈ ΠΎΠ±Π΅ΠΊΡ‚Π½ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ .so, .dylib ΠΈ .dll), Π·Π° стартиранСто Π½Π° ΠΊΠΎΠΉΡ‚ΠΎ Π΅ Π½ΡƒΠΆΠ΅Π½ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π΅Π½ runtime, Π½ΠΎ сС Π·Π°ΠΏΠ°Π·Π²Π°Ρ‚ всички Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈ Π½Π° sandbox-изолацията. Π’ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎ Π΅ доставянСто Π½Π° ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»Π½ΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€Π°Π½ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈ с Π²Π³Ρ€Π°Π΄Π΅Π½ Wasmer. Π—Π° създаванС Π½Π° надстройки ΠΈ Π΄ΠΎΠ±Π°Π²ΠΊΠΈ сС ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Ρ‚ Rust API ΠΈ Wasm-C-API.

Π—Π° стартиранС Π½Π° WebAssembly ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° Π΅ Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ‡Π½ΠΎ Π΄Π° сС инсталира Π² систСмата runtime Wasmer, ΠΊΠΎΠΉΡ‚ΠΎ сС прСдоставя Π±Π΅Π· външни зависимости (β€žcurl https://get.wasmer.io -sSfL | shβ€œ), ΠΈ Π΄Π° сС стартира нСобходимия Ρ„Π°ΠΉΠ» (β€žwasmer test.wasmβ€œ). ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ‚Π΅ сС разпространяват ΠΏΠΎΠ΄ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Π½Π° ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈ WebAssembly ΠΌΠΎΠ΄ΡƒΠ»ΠΈ, Π·Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° ΠΊΠΎΠΈΡ‚ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΏΠ°ΠΊΠ΅Ρ‚Π΅Π½ ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡŠΡ€ WAPM. Wasmer ΡΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ° Π΅ Π½Π°Π»ΠΈΡ‡Π΅Π½ ΠΏΠΎΠ΄ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°, която ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° Π²Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅ Π½Π° WebAssembly ΠΊΠΎΠ΄ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈ Π½Π° Π΅Π·ΠΈΡ†ΠΈ Rust, C/C++, C#, D, Python, JavaScript, Go, PHP, Ruby, Elixir ΠΈ Java.

Основни ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ Π² Wasmer 3.0:

  • Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚Ρ‚Π° Π·Π° създаванС Π½Π° мСстни изпълними Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ Π·Π° всякакви ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠΈ. Напълно ΠΏΡ€Π΅Ρ€Π°Π±ΠΎΡ‚Π΅Π½Π° Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° β€žwasmer create-exeβ€œ, която позволява ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Ρ„Π°ΠΉΠ» с ΠΌΠ΅ΠΆΠ΄ΠΈΠ½Π΅Π½ ΠΊΠΎΠ΄ WebAssembly Π² самостоятСлни изпълними Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ Π·Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠΈΡ‚Π΅ Linux, Windows ΠΈ macOS, ΠΊΠΎΠΈΡ‚ΠΎ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° работят Π±Π΅Π· инсталация Π½Π° самия Wasmer.
  • ΠŸΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π΅Π½Π° Π΅ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚Ρ‚Π° Π·Π° стартиранС Π½Π° WAPM ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ, Ρ€Π°Π·ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈ Π² дирСкторията wapm.io, Ρ‡Ρ€Π΅Π· ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° β€žwasmer runβ€œ. НапримСр, ΠΈΠ·ΠΏΡŠΠ»Π½Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° β€žwasmer run python/pythonβ€œ Ρ‰Π΅ Π΄ΠΎΠ²Π΅Π΄Π΅ Π΄ΠΎ Π·Π°Ρ€Π΅ΠΆΠ΄Π°Π½Π΅ ΠΎΡ‚ рСпозитория wapm.io Π½Π° ΠΏΠ°ΠΊΠ΅Ρ‚Π° python ΠΈ Π½Π΅Π³ΠΎΠ²ΠΎΡ‚ΠΎ стартиранС.
  • Напълно ΠΏΡ€Π΅Ρ€Π°Π±ΠΎΡ‚Π΅Π½ Π΅ Wasmer Rust API, Π² ΠΊΠΎΠΉΡ‚ΠΎ Π΅ ΠΏΡ€ΠΎΠΌΠ΅Π½Π΅Π½ ΡΡ‚ΠΈΠ»ΡŠΡ‚ Π½Π° Ρ€Π°Π±ΠΎΡ‚Π° с ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π° ΠΈ Π΅ осигурСна Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π·Π° бСзопасно Π·Π°ΠΏΠ°Π·Π²Π°Π½Π΅ Π½Π° Wasm ΠΎΠ±Π΅ΠΊΡ‚ΠΈ Π² структурата Store. ΠŸΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π° Π΅ Π½ΠΎΠ²Π° структура MemoryView, позволяваща Ρ‡Π΅Ρ‚Π΅Π½Π΅ ΠΈ запис Π½Π° Π΄Π°Π½Π½ΠΈ Π² Π»ΠΈΠ½Π΅ΠΉΠ½Π° област Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π°.
  • Π Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½ Π΅ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ‚ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈ wasmer-js Π·Π° стартиранС Π½Π° Wasmer Π² ΡƒΠ΅Π± Π±Ρ€Π°ΡƒΠ·ΡŠΡ€ ΠΈ взаимодСйствиС с Π½Π΅Π³ΠΎ ΠΎΡ‚ JavaScript, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° wasm-bindgen. По своитС Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈ wasmer-js отговаря Π½Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈΡ‚Π΅ wasmer-sys, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈ Π·Π° стартиранС Π½Π° Wasmer Π² ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΈ систСми.
  • Π”Π²ΠΈΠ³Π°Ρ‚Π΅Π»ΠΈΡ‚Π΅ са опростСни. ВмСсто ΠΎΡ‚Π΄Π΅Π»Π½ΠΈ Π΄Π²ΠΈΠ³Π°Ρ‚Π΅Π»ΠΈ Π·Π° JIT, Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π½ΠΎ ΠΈ статично ΡΠ²ΡŠΡ€Π·Π²Π°Π½Π΅ (Universal, Dylib, StaticLib) сСга сС ΠΏΡ€Π΅Π΄Π»Π°Π³Π° Π΅Π΄ΠΈΠ½ ΠΎΠ±Ρ‰ Π΄Π²ΠΈΠ³Π°Ρ‚Π΅Π», Π° Π·Π°Ρ€Π΅ΠΆΠ΄Π°Π½Π΅Ρ‚ΠΎ ΠΈ Π·Π°ΠΏΠ°Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΊΠΎΠ΄Π° сС управлява Π½Π° Π½ΠΈΠ²ΠΎ настройка Π½Π° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈΡ‚Π΅.
  • Π—Π° дСсСриализация Π½Π° Π°Ρ€Ρ‚Π΅Ρ„Π°ΠΊΡ‚ΠΈ Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ rkyv, осигуряващ Ρ€Π°Π±ΠΎΡ‚Π° Π² Ρ€Π΅ΠΆΠΈΠΌ zero-copy, Ρ‚.Π΅. Π½Π΅ изискващ Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΎ задСлянС Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚ ΠΈ ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π°Ρ‰ дСсСриализация само с ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΠΏΡŠΡ€Π²ΠΎΠ½Π°Ρ‡Π°Π»Π½ΠΎ прСдоставСния Π±ΡƒΡ„Π΅Ρ€. ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° rkyv Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΎ Π΅ ΠΏΠΎΠ΄ΠΎΠ±Ρ€ΠΈΠ»ΠΎ скоростта Π½Π° стартиранС.
  • ΠŸΠΎΠ΄ΠΎΠ±Ρ€Π΅Π½Π° Π΅ Сднопроходният ΠΊΠΎΠΌΠΏΠΈΠ»Π°Ρ‚ΠΎΡ€ Singlepass, ΠΊΡŠΠ΄Π΅Ρ‚ΠΎ Π²Π΅Ρ‡Π΅ сС ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ с мноТСство Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΈ (multi-value), повишСна Π΅ надСТдността Π½Π° Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π° ΠΈ Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° ΠΈΠ·ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ.
  • ΠŸΠΎΠ΄ΠΎΠ±Ρ€Π΅Π½Π° Π΅ рСализацията Π½Π° API WASI (WebAssembly System Interface). РСшСни са ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈΡ‚Π΅ Π² програмния интСрфСйс WASI Π·Π° Ρ€Π°Π±ΠΎΡ‚Π° с Ρ„Π°ΠΉΠ»ΠΎΠ²Π°Ρ‚Π° систСма. Π’ΡŠΡ‚Ρ€Π΅ΡˆΠ½ΠΈΡ‚Π΅ Ρ‚ΠΈΠΏΠΎΠ²Π΅ са ΠΏΡ€Π΅Ρ€Π°Π±ΠΎΡ‚Π΅Π½ΠΈ с ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° WAI (WebAssembly Interfaces), ΠΊΠΎΠ΅Ρ‚ΠΎ Π² Π±ΡŠΠ΄Π΅Ρ‰Π΅ Ρ‰Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π½Π° сСрия Π½ΠΎΠ²ΠΈ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈ.

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru

ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС с Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ πŸ”₯ ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС с Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ | ProHoster