ΠŸΡƒΠ±Π»ΠΈΠΊΡƒΠ²Π°Π½ стандарт WebAssembly 3.0

ΠšΠΎΠ½ΡΠΎΡ€Ρ†ΠΈΡƒΠΌ W3C обяви готовността Π½Π° спСцификацията, стандартизираща мСТдинния ΠΊΠΎΠ΄ WebAssembly 3.0 ΠΈ ΡΠ²ΡŠΡ€Π·Π°Π½ΠΎΡ‚ΠΎ с Π½Π΅Π³ΠΎ API, ΠΊΠΎΠ΅Ρ‚ΠΎ позволява ΡΡŠΠ·Π΄Π°Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° високо ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»Π½ΠΈ прилоТСния, прСносими ΠΌΠ΅ΠΆΠ΄Ρƒ Π±Ρ€Π°ΡƒΠ·ΡŠΡ€ΠΈ ΠΈ Ρ…Π°Ρ€Π΄ΡƒΠ΅Ρ€Π½ΠΈ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠΈ. WebAssembly прСдоставя нСзависим ΠΎΡ‚ Π±Ρ€Π°ΡƒΠ·ΡŠΡ€Π° унивСрсалСн нискоуровнСв ΠΌΠ΅ΠΆΠ΄ΠΈΠ½Π΅Π½ ΠΊΠΎΠ΄ Π·Π° изпълнСниС Π½Π° прилоТСния, ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€Π°Π½ΠΈ ΠΎΡ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ½ΠΈ Π΅Π·ΠΈΡ†ΠΈ.

ВСхнологията WebAssembly ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° изпълнСниС Π½Π° Π·Π°Π΄Π°Ρ‡ΠΈ Π² Π±Ρ€Π°ΡƒΠ·ΡŠΡ€Π°, ΠΊΠΎΠΈΡ‚ΠΎ изискват висока производитСлност, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄ΠΈΡ€Π°Π½Π΅ Π½Π° Π²ΠΈΠ΄Π΅ΠΎ, ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° Π·Π²ΡƒΠΊ, манипулация с Π³Ρ€Π°Ρ„ΠΈΠΊΠ° ΠΈ 3D, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° ΠΈΠ³Ρ€ΠΈ, криптографски ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΈ матСматичСски изчислСния Ρ‡Ρ€Π΅Π· ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π½Π° ΠΈΠ·ΠΏΡŠΠ»Π½Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π² Π±Ρ€Π°ΡƒΠ·ΡŠΡ€Π° Π½Π° ΠΊΠΎΠ΄, написан Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌΠΈ Π΅Π·ΠΈΡ†ΠΈ, ΠΊΠ°Ρ‚ΠΎ C/C++. Π‘Π»Π°Π³ΠΎΠ΄Π°Ρ€Π΅Π½ΠΈΠ΅ Π½Π° JIT тСхнологията, WebAssembly ΠΌΠΎΠΆΠ΅ Π΄Π° постигнС производитСлност Π±Π»ΠΈΠ·ΠΊΠ° Π΄ΠΎ Ρ‚Π°Π·ΠΈ Π½Π° нативния ΠΊΠΎΠ΄.

Π‘Ρ€Π΅Π΄ основнитС Π·Π°Π΄Π°Ρ‡ΠΈ Π½Π° WebAssembly Π΅ Π΄Π° осигури прСносимост, прСдсказуСмост Π½Π° ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅Ρ‚ΠΎ ΠΈ идСнтичност ΠΏΡ€ΠΈ ΠΈΠ·ΠΏΡŠΠ»Π½Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° ΠΊΠΎΠ΄Π° Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠΈ. WebAssembly Π½Π΅ Π΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ само Π΄ΠΎ Π±Ρ€Π°ΡƒΠ·ΡŠΡ€ΠΈ ΠΈ ΡΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ° сС Π½Π°ΡΡŠΡ€Ρ‡Π°Π²Π° ΠΊΠ°Ρ‚ΠΎ унивСрсална ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° Π·Π° бСзопасно изпълнСниС Π½Π° ΠΊΠΎΠ΄ Π² всички ΠΈΠ½frastrukturi, ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΈ систСми ΠΈ устройства.

Налични са слСднитС спСцификации:

  • WebAssembly Core β€” описва нискоуровнСвата Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½Π° машина Π·Π° изпълнСниС Π½Π° мСТдинния ΠΊΠΎΠ΄ WebAssembly. Π‘Π²ΡŠΡ€Π·Π°Π½ΠΈΡ‚Π΅ с WebAssembly рСсурси сС прСдоставят във Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Β«.wasmΒ», ΠΏΠΎΠ΄ΠΎΠ±Π΅Π½ Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅Ρ‚Π΅ Β«.classΒ» Π² Java ΠΈ ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Ρ‰ статични Π΄Π°Π½Π½ΠΈ ΠΈ сСгмСнти ΠΊΠΎΠ΄ Π·Π° Ρ€Π°Π±ΠΎΡ‚Π° с Ρ‚Π΅Π·ΠΈ Π΄Π°Π½Π½ΠΈ.
  • WebAssembly JavaScript API β€” прСдоставя API Π·Π° интСграция с JavaScript. Позволява ΠΈΠ·Π²Π»ΠΈΡ‡Π°Π½Π΅ Π½Π° стойности ΠΈ ΠΏΡ€Π΅Π΄Π°Π²Π°Π½Π΅ Π½Π° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈ към Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π½Π° WebAssembly. Π˜Π·ΠΏΡŠΠ»Π½Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° WebAssembly Π΅ Π² ΡΡŠΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΠΈΠ΅ с ΠΌΠΎΠ΄Π΅Π»Π° Π·Π° бСзопасност Π½Π° JavaScript ΠΈ всичкитС взаимодСйствия с основната систСма сС ΠΎΡΡŠΡ‰Π΅ΡΡ‚Π²ΡΠ²Π°Ρ‚ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ Π½Π° ΠΈΠ·ΠΏΡŠΠ»Π½Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° JavaScript ΠΊΠΎΠ΄.
  • WebAssembly Web API β€” опрСдСля програмния интСрфСйс Π½Π° Π±Π°Π·Π°Ρ‚Π° Π½Π° ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° Promise Π·Π° заявка ΠΈ изпълнСниС Π½Π° рСсурси Β«.wasmΒ». Π€ΠΎΡ€ΠΌΠ°Ρ‚ΡŠΡ‚ Π½Π° рСсурситС Π½Π° WebAssembly Π΅ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€Π°Π½ Π·Π° Π±ΡŠΡ€Π·ΠΎ изпълнСниС, Π±Π΅Π· Π΄Π° сС Ρ‡Π°ΠΊΠ° ΠΏΡŠΠ»Π½ΠΎΡ‚ΠΎ Π·Π°Ρ€Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° Ρ„Π°ΠΉΠ»Π°, ΠΊΠΎΠ΅Ρ‚ΠΎ подобрява отзивчивостта Π½Π° ΡƒΠ΅Π± прилоТСнията.
  • WASI API β€” опрСдСлява ΠΌΠΎΠ΄ΡƒΠ»Π΅Π½ систСмСн интСрфСйс Π·Π° стартиранС Π½Π° WebAssembly извън Π±Ρ€Π°ΡƒΠ·ΡŠΡ€ΠΈΡ‚Π΅ ΠΈ прСдоставянС Π½Π° Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ рСсурси ΠΊΠ°Ρ‚ΠΎ Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅, ΠΌΡ€Π΅ΠΆΠΎΠ²ΠΈ Π²Ρ€ΡŠΠ·ΠΊΠΈ, Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ Π½Π° псСвдослучайни числа ΠΈ систСмни часовници.

Π’ Π½ΠΎΠ²Π°Ρ‚Π° вСрсия Π½Π° стандарта Π΅ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΎ ΠΏΠΎΠ΄ΠΎΠ±Ρ€Π΅Π½Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ°Ρ‚Π° Π·Π° ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€Π°Π½Π΅ Π½Π° уСбсайтовС ΠΎΡ‚ високо Π½ΠΈΠ²ΠΎ Π² WebAssembly. НапримСр, Π΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½Π° Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚Ρ‚Π° Π·Π° ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€Π°Π½Π΅ Π² WebAssembly ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈ Π½Π° Π΅Π·ΠΈΡ†ΠΈ ΠΊΠ°Ρ‚ΠΎ Java, OCaml, Scala, Kotlin, Scheme ΠΈ Dart. ΠžΡΠ½ΠΎΠ²Π½ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ Π² WebAssembly 3.0 Π² сравнСниС с Π²Ρ‚ΠΎΡ€Π°Ρ‚Π° вСрсия Π½Π° стандарта:

  • Π Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½Π° Π΅ ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° 64-Π±ΠΈΡ‚ΠΎΠ² адрСсСн пространство. Π—Π° адрСсиранС Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π° Π²Π΅Ρ‡Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Ρ‚ΠΈΠΏ i64, Π° Π½Π΅ само i32, ΠΊΠΎΠ΅Ρ‚ΠΎ Ρ€Π°Π·ΡˆΠΈΡ€ΡΠ²Π° Π½Π°Π»ΠΈΡ‡Π½ΠΎΡ‚ΠΎ адрСсно пространство Π·Π° прилоТСния ΠΎΡ‚ 4 Π“Π‘ Π΄ΠΎ 16 Π•Π‘ (ΠΏΡ€ΠΈ изпълнСниС Π² Π±Ρ€Π°ΡƒΠ·ΡŠΡ€ Π΅ поставСно ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ ΠΎΡ‚ 16 Π“Π‘).
  • ΠŸΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π΅Π½Π° Π΅ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π·Π° Π΅Π΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Π° ΡƒΠΏΠΎΡ‚Ρ€Π΅Π±Π° Π½Π° няколко ΠΎΠ±Π΅ΠΊΡ‚Π° Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π° Π² Π΅Π΄ΠΈΠ½ WebAssembly-ΠΌΠΎΠ΄ΡƒΠ» ΠΈ Ρ€Π°Π±ΠΎΡ‚Π° с Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ адрСсни пространства. ОсвСн Ρ‚ΠΎΠ²Π° Π΅ възмоТно ΠΊΠΎΠΏΠΈΡ€Π°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ СкзСмпляри Π½Π° ΠΎΠ±Π΅ΠΊΡ‚ΠΈΡ‚Π΅ Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π°, Ρ€Π°Π·ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈ Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ адрСсни пространства.
  • Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π°. ОсвСн Π²Π΅Ρ‡Π΅ Π΄ΠΎΡΡ‚ΡŠΠΏΠ½Π°Ρ‚Π° Π»ΠΈΠ½Π΅ΠΉΠ½Π° ΠΏΠ°ΠΌΠ΅Ρ‚, Π΅ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ ΠΎΡ‚Π΄Π΅Π»Π΅Π½ Ρ‚ΠΈΠΏ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅, ΠΊΠΎΠ΅Ρ‚ΠΎ сС управлява Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° сборщика Π½Π° Π±ΠΎΠΊΠ»ΡƒΠΊ. ΠšΠΎΠΌΠΏΠΈΠ»Π°Ρ‚ΠΎΡ€ΡŠΡ‚ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΎΡ‚Π΄Π΅Π»Π½ΠΈ структури ΠΎΡ‚ Π΄Π°Π½Π½ΠΈ, масиви ΠΈ ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ, Π·Π° ΠΊΠΎΠΈΡ‚ΠΎ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π° ΠΈ ТизнСния Ρ†ΠΈΠΊΡŠΠ» сС ΠΏΠΎΠ΅ΠΌΠ° ΠΎΡ‚ WebAssembly.
  • Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€Π°Π½ΠΈ Ρ€Π΅Ρ„Π΅Ρ€Π΅Π½Ρ†ΠΈΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° описват Ρ‚ΠΎΡ‡Π½Π°Ρ‚Π° структура Π½Π° стойността, Π½Π° която сочи рСфСрСнцията, ΠΊΠΎΠ΅Ρ‚ΠΎ позволява избягванСто Π½Π° Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΏΡ€ΠΈ ΠΈΠ·ΠΏΡŠΠ»Π½Π΅Π½ΠΈΠ΅Ρ‚ΠΎ. ΠŸΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°Ρ‚ сС ΠΏΠΎΠ΄Ρ‚ΠΈΠΏΠΎΠ²Π΅, рСкурсия Π½Π° Ρ‚ΠΈΠΏΠΎΠ²Π΅Ρ‚Π΅ ΠΈ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚Ρ‚Π° Π·Π° бСзопасно ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° Ρ€Π΅Ρ„Π΅Ρ€Π΅Π½Ρ†ΠΈΠΈ към Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Π·Π° ΠΊΠΎΠΈΡ‚ΠΎ Π½Π΅ са Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π½Π° Ρ‚ΠΈΠΏΠΎΠ²Π΅Ρ‚Π΅ ΠΈ Π³Ρ€Π°Π½ΠΈΡ†ΠΈΡ‚Π΅ ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π½Π° ΠΈΠ·ΠΏΡŠΠ»Π½Π΅Π½ΠΈΠ΅Ρ‚ΠΎ.
  • Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° хвостови повиквания (Tail call), ΠΏΡ€ΠΈ ΠΊΠΎΠΈΡ‚ΠΎ Ρ‚Π΅ΠΊΡƒΡ‰Π°Ρ‚Π° функция Π²Π΅Π΄Π½Π°Π³Π° Π·Π°Π²ΡŠΡ€ΡˆΠ²Π° ΠΈΠ·ΠΏΡŠΠ»Π½Π΅Π½ΠΈΠ΅Ρ‚ΠΎ си слСд ΠΏΠΎΠ²ΠΈΠΊΠ²Π°Π½Π΅ Π½Π° Π΄Ρ€ΡƒΠ³Π° функция, Π±Π΅Π· Π΄Π° Π·Π°Π΅ΠΌΠ° място Π² стСка.
  • Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° ΠΈΠ·ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ.
  • Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° 'ΠΎΠ±Π»Π΅ΠΊΡ‡Π΅Π½ΠΈ' (relaxed) SIMD инструкции Π½Π° Π²Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡ‚Π΅, ΠΊΠΎΠΈΡ‚ΠΎ позволяват постиганС Π½Π° ΠΏΠΎ-висока производитСлност Ρ‡Ρ€Π΅Π· ΠΎΡ‚ΠΊΠ°Π· ΠΎΡ‚ стриктното спазванС Π½Π° сСмантиката Π½Π° всички Ρ…Π°Ρ€Π΄ΡƒΠ΅Ρ€Π½ΠΈ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠΈ.
  • Π”ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° Π΄Π΅Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΈΡ€Π°Π½ ΠΏΡ€ΠΎΡ„ΠΈΠ» Π·Π° изпълнСниС, ΠΊΠΎΠΉΡ‚ΠΎ опрСдСля нСзависимото ΠΎΡ‚ Ρ‚Π΅ΠΊΡƒΡ‰Π°Ρ‚Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π·Π° инструкции, Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΠΈΡ‚Π΅ ΠΎΡ‚ ΠΈΠ·ΠΏΡŠΠ»Π½Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° ΠΊΠΎΠΈΡ‚ΠΎ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π²Π°Ρ€ΠΈΡ€Π°Ρ‚ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠΈ (ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с ΠΏΠ»Π°Π²Π°Ρ‰Π° запСтая, Π²Ρ€ΡŠΡ‰Π°Π½Π΅ Π½Π° стойност NaN, отслабСни Π²Π΅ΠΊΡ‚ΠΎΡ€Π½ΠΈ инструкции). ΠšΠΎΠ³Π°Ρ‚ΠΎ ΠΈΠ·Π±Π΅Ρ€Π΅Ρ‚Π΅ Ρ‚ΠΎΠ·ΠΈ ΠΏΡ€ΠΎΡ„ΠΈΠ», Wasm осигурява Π΄Π΅Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΈΡ€Π°Π½ΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅, Π²ΡŠΠ·ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ ΠΈ прСносимост.
  • Π”ΠΎΠ±Π°Π²Π΅Π½ Π΅ синтаксис Π·Π° създаванС Π½Π° собствСни Π°Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ, позволяващи прикрСпянС Π½Π° Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½Π° информация към ΠΊΠΎΠ΄Π° WebAssembly. По-Ρ€Π°Π½ΠΎ ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ°Ρ‚Π° Π½Π° потрСбитСлски сСкции, позволяващи ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π°Π½Π΅ Π½Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»Π½Π° информация, ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°ΡˆΠ΅ Π² бинарния Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Π½Π° WebAssembly, Π½ΠΎ липсвашС Π² тСкстовия Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Π½Π° WebAssembly. Π‘Π΅Π³Π° Π΅ възмоТно Π΄Π° добавятС Ρ‚Π°Π·ΠΈ информация Π² Ρ‡Π΅Ρ‚ΠΈΠΌ ΠΈ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€Π°Ρ‰ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚.
  • Π’ JavaScript API са Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΈ Π²Π³Ρ€Π°Π΄Π΅Π½ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π·Π° Ρ€Π°Π±ΠΎΡ‚Π° с Π½ΠΈΠ·ΠΎΠ²Π΅. По-Ρ€Π°Π½ΠΎ Π½ΠΈΠ·ΠΎΠ²Π΅Ρ‚Π΅ Π½Π° JavaScript ΠΌΠΎΠΆΠ΅Ρ…Π° Π΄Π° сС ΠΏΡ€Π΅Π΄Π°Π²Π°Ρ‚ Π² WebAssembly само ΠΊΠ°Ρ‚ΠΎ външни Ρ€Π΅Ρ„Π΅Ρ€Π΅Π½Ρ†ΠΈΠΈ, Π° сСга Π΅ възмоТно Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½ΠΎ Π΄ΠΎΡΡ‚ΡŠΠΏΠ²Π°Π½Π΅ ΠΈ ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΠΈΡ€Π°Π½Π΅ с Π½ΠΈΠ·ΠΎΠ²Π΅Ρ‚Π΅ Π²ΡŠΡ‚Ρ€Π΅ Π² WebAssembly.

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

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