НаличСн Π΅ Wasmer 3.0, Π½Π°Π±ΠΎΡ€ ΠΎΡ‚ инструмСнти Π·Π° ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅ Π½Π° Π±Π°Π·ΠΈΡ€Π°Π½ΠΈ Π½Π° WebAssembly прилоТСния

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

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

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

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

Π—Π° Π΄Π° стартиратС ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ Π½Π° WebAssembly, Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ‡Π½ΠΎ Π΅ Π΄Π° инсталиратС срСда Π·Π° изпълнСниС Π½Π° 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" Ρ‰Π΅ ΠΈΠ·Ρ‚Π΅Π³Π»ΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚Π° Π½Π° python ΠΎΡ‚ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅Ρ‚ΠΎ Π½Π° wapm.io ΠΈ Ρ‰Π΅ Π³ΠΎ стартира.
  • Wasmer Rust API Π΅ напълно ΠΏΡ€Π΅Ρ€Π°Π±ΠΎΡ‚Π΅Π½, Π² ΠΊΠΎΠΉΡ‚ΠΎ Π΅ ΠΏΡ€ΠΎΠΌΠ΅Π½Π΅Π½ ΡΡ‚ΠΈΠ»ΡŠΡ‚ Π½Π° Ρ€Π°Π±ΠΎΡ‚Π° с ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π° ΠΈ Π΅ прСдоставСна Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π·Π° бСзопасно ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π°Π½Π΅ Π½Π° Wasm ΠΎΠ±Π΅ΠΊΡ‚ΠΈ Π² структурата Π½Π° Store. ΠŸΡ€Π΅Π΄Π»Π°Π³Π° сС Π½ΠΎΠ²Π° структура Π½Π° MemoryView, която позволява Ρ‡Π΅Ρ‚Π΅Π½Π΅ ΠΈ запис Π½Π° Π΄Π°Π½Π½ΠΈ Π² Π»ΠΈΠ½Π΅ΠΉΠ½Π° област Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π°.
  • Набор ΠΎΡ‚ wasmer-js ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈ Π΅ Π²Π½Π΅Π΄Ρ€Π΅Π½, Π·Π° Π΄Π° стартира Wasmer Π² ΡƒΠ΅Π± Π±Ρ€Π°ΡƒΠ·ΡŠΡ€ ΠΈ Π΄Π° взаимодСйства с Π½Π΅Π³ΠΎ ΠΎΡ‚ JavaScript с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° wasm-bindgen. Wasmer-js Π΅ ΠΏΠΎΠ΄ΠΎΠ±Π΅Π½ ΠΏΠΎ функционалност Π½Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈΡ‚Π΅ wasmer-sys, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈ Π΄Π° ΠΈΠ·ΠΏΡŠΠ»Π½ΡΠ²Π°Ρ‚ Wasmer Π½Π° ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΈ систСми.
  • ΠžΠΏΡ€ΠΎΡΡ‚Π΅Π½ΠΈ Π΄Π²ΠΈΠ³Π°Ρ‚Π΅Π»ΠΈ. ВмСсто ΠΎΡ‚Π΄Π΅Π»Π½ΠΈ Π΄Π²ΠΈΠ³Π°Ρ‚Π΅Π»ΠΈ Π·Π° JIT, Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π½ΠΎ ΠΈ статично ΡΠ²ΡŠΡ€Π·Π²Π°Π½Π΅ (Universal, Dylib, StaticLib), сСга сС ΠΏΡ€Π΅Π΄Π»Π°Π³Π° Π΅Π΄ΠΈΠ½ ΠΎΠ±Ρ‰ Π΄Π²ΠΈΠ³Π°Ρ‚Π΅Π» ΠΈ Π·Π°Ρ€Π΅ΠΆΠ΄Π°Π½Π΅Ρ‚ΠΎ ΠΈ Π·Π°ΠΏΠ°Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΊΠΎΠ΄, Π² ΠΊΠΎΠΉΡ‚ΠΎ сС ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€Π° Π½Π° Π½ΠΈΠ²ΠΎ настройка Π½Π° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈ.
  • Π—Π° дСсСриализация Π½Π° Π°Ρ€Ρ‚Π΅Ρ„Π°ΠΊΡ‚ΠΈ сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Ρ€Π°ΠΌΠΊΠ°Ρ‚Π° rkyv, която осигурява Ρ€Π°Π±ΠΎΡ‚Π° с Π½ΡƒΠ»Π΅Π²ΠΎ ΠΊΠΎΠΏΠΈΡ€Π°Π½Π΅, Ρ‚.Π΅. Π±Π΅Π· Π΄Π° сС изисква Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΎ Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π° ΠΈ сС ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π° дСсСриализация, ΠΊΠ°Ρ‚ΠΎ сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° само ΠΏΡŠΡ€Π²ΠΎΠ½Π°Ρ‡Π°Π»Π½ΠΎ прСдоставСният Π±ΡƒΡ„Π΅Ρ€. Π˜Π·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° rkyv Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΎ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈ скоростта Π½Π° стартиранС.
  • ΠšΠΎΠΌΠΏΠΈΠ»Π°Ρ‚ΠΎΡ€ΡŠΡ‚ Singlepass Π΅ ΠΏΠΎΠ΄ΠΎΠ±Ρ€Π΅Π½, Π·Π° Π΄Π° ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ с мноТСство стойности, Π΄Π° подобрява надСТдността ΠΈ Π΄Π° добавя ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° Ρ€Π°ΠΌΠΊΠΈ Π·Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° ΠΈΠ·ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ.
  • ΠŸΠΎΠ΄ΠΎΠ±Ρ€Π΅Π½ΠΎ внСдряванС Π½Π° WASI (WebAssembly System Interface) API. ΠšΠΎΡ€ΠΈΠ³ΠΈΡ€Π°Π½ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ Π² WASI API Π·Π° Ρ€Π°Π±ΠΎΡ‚Π° с Ρ„Π°ΠΉΠ»ΠΎΠ²Π°Ρ‚Π° систСма. Π’ΡŠΡ‚Ρ€Π΅ΡˆΠ½ΠΈΡ‚Π΅ Ρ‚ΠΈΠΏΠΎΠ²Π΅ са ΠΏΡ€Π΅Ρ€Π°Π±ΠΎΡ‚Π΅Π½ΠΈ с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° WAI (WebAssembly Interfaces), ΠΊΠΎΠ΅Ρ‚ΠΎ Ρ‰Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈ сСрия ΠΎΡ‚ Π½ΠΎΠ²ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ Π²Π½Π΅Π΄Ρ€Π΅Π½ΠΈ Π² Π±ΡŠΠ΄Π΅Ρ‰Π΅.

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

ДобавянС Π½Π° Π½ΠΎΠ² ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€