W3C Π΄Π°Π²Π° статус Π½Π° WebAssembly Recommended Standard

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

WebAssembly Π΅ ΠΏΠΎΠ΄ΠΎΠ±Π΅Π½ Π² ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ Π½Π° Asm.js, Π½ΠΎ сС Ρ€Π°Π·Π»ΠΈΡ‡Π°Π²Π° ΠΏΠΎ Ρ‚ΠΎΠ²Π°, Ρ‡Π΅ Π΅ Π΄Π²ΠΎΠΈΡ‡Π΅Π½ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚, ΠΊΠΎΠΉΡ‚ΠΎ Π½Π΅ Π΅ ΠΎΠ±Π²ΡŠΡ€Π·Π°Π½ с JavaScript. WebAssembly Π½Π΅ изисква ΡΡŠΠ±ΠΈΡ€Π°Ρ‡ Π½Π° ΠΎΡ‚ΠΏΠ°Π΄ΡŠΡ†ΠΈ, Π·Π°Ρ‰ΠΎΡ‚ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΈΠ·Ρ€ΠΈΡ‡Π½ΠΎ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π°. Използвайки JIT Π·Π° WebAssembly, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° постигнСтС Π½ΠΈΠ²Π° Π½Π° производитСлност, Π±Π»ΠΈΠ·ΠΊΠΈ Π΄ΠΎ собствСния ΠΊΠΎΠ΄. Π‘Ρ€Π΅Π΄ основнитС Ρ†Π΅Π»ΠΈ Π½Π° WebAssembly Π΅ осигуряванСто Π½Π° прСносимост, ΠΏΡ€Π΅Π΄Π²ΠΈΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΈ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ‡Π½ΠΎ изпълнСниС Π½Π° ΠΊΠΎΠ΄Π° Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠΈ. НапослСдък WebAssembly ΡΡŠΡ‰ΠΎ ΠΈΠΌΠ° Π½Π°ΠΏΡ€Π΅Π΄Π²Π°Π½Π΅ ΠΊΠ°Ρ‚ΠΎ унивСрсална ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° Π·Π° сигурно изпълнСниС Π½Π° ΠΊΠΎΠ΄ във всяка инфраструктура, ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Π° систСма ΠΈ устройство, Π±Π΅Π· Π΄Π° сС ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π°Π²Π° само Π΄ΠΎ Π±Ρ€Π°ΡƒΠ·ΡŠΡ€ΠΈ.

W3C стандартизира Ρ‚Ρ€ΠΈ спСцификации, ΡΠ²ΡŠΡ€Π·Π°Π½ΠΈ с WebAssembly:

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

Π’ Π±ΡŠΠ΄Π΅Ρ‰Π΅ ΠΏΠ»Π°Π½ΠΈΡ€Π°ΠΌΠ΅ Π΄Π° ΠΏΠΎΠ΄Π³ΠΎΡ‚Π²ΠΈΠΌ спСцификации Π·Π° Ρ‚Π°ΠΊΠΈΠ²Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π½Π° WebAssembly ΠΊΠ°Ρ‚ΠΎ:

  • ΠœΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½ΠΎΡΡ‚ със сподСлСна ΠΏΠ°ΠΌΠ΅Ρ‚ ΠΈ Π°Ρ‚ΠΎΠΌΠ΅Π½ Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π°;
  • Π’Π΅ΠΊΡ‚ΠΎΡ€Π½ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, Π±Π°Π·ΠΈΡ€Π°Π½ΠΈ Π½Π° SIMD, позволяващи ΠΏΠ°Ρ€Π°Π»Π΅Π»ΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π½Π° ΠΈΠ·ΠΏΡŠΠ»Π½Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° Ρ†ΠΈΠΊΡŠΠ»Π°;
  • Π Π΅Ρ„Π΅Ρ€Π΅Π½Ρ‚Π½ΠΈ Ρ‚ΠΈΠΏΠΎΠ²Π΅ Π·Π° Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½ΠΎ ΠΏΡ€Π΅ΠΏΡ€Π°Ρ‰Π°Π½Π΅ Π½Π° ΠΎΠ±Π΅ΠΊΡ‚ΠΈ ΠΎΡ‚ ΠΊΠΎΠ΄ Π½Π° WebAssembly;
  • Π’ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π·Π° ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½Π΅ Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Π±Π΅Π· Π΄Π° сС отдСля Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΎ място Π² стСка;
  • Π˜Π½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡ с ECMAScript ΠΌΠΎΠ΄ΡƒΠ»ΠΈ – Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π·Π° Π·Π°Ρ€Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° WebAssembly ΠΊΠΎΠ΄ ΠΎΡ‚ JavaScript ΠΊΠ°Ρ‚ΠΎ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ отговарят Π½Π° ECMAScript 6 спСцификацията;
  • Π Π΅ΠΆΠΈΠΌ ΡΡŠΠ±ΠΈΡ€Π°Ρ‡ Π½Π° Π±ΠΎΠΊΠ»ΡƒΠΊ;
  • Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡΠΈ Π·Π° отстраняванС Π½Π° Π³Ρ€Π΅ΡˆΠΊΠΈ;
  • Π‘Π―Π₯ Π›Π˜ (WebAssembly System Interface) - API Π·Π° Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½ΠΎ взаимодСйствиС с ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Π°Ρ‚Π° систСма (POSIX API Π·Π° Ρ€Π°Π±ΠΎΡ‚Π° с Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅, сокСти ΠΈ Π΄Ρ€.).

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

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