แž€แžถแžšแž˜แžพแž›แž‡แžถแž˜แžปแž“แžŸแŸ’แžแž„แŸ‹แžŠแžถแžš WebAssembly 2.0 แž˜แžถแž“

W3C แž”แžถแž“แž”แŸ„แŸ‡แž–แžปแž˜แŸ’แž–แž•แŸ’แžŸแžถแž™แžŸแŸแž…แž€แŸ’แžแžธแž–แŸ’แžšแžถแž„แž“แŸƒแž€แžถแžšแž”แž‰แŸ’แž‡แžถแž€แŸ‹แžแŸ’แž˜แžธแžŠแŸ‚แž›แž€แŸ†แžŽแžแŸ‹แžŸแŸ’แžแž„แŸ‹แžŠแžถแžš WebAssembly 2.0 Middleware แž“แžทแž„ API แžŠแŸ‚แž›แž–แžถแž€แŸ‹แž–แŸแž“แŸ’แž’แžšแž”แžŸแŸ‹แžœแžถ แžŠแŸ‚แž›แžขแž“แžปแž‰แŸ’แž‰แžถแžแžฑแŸ’แž™แž”แž„แŸ’แž€แžพแžแž€แž˜แŸ’แž˜แžœแžทแž’แžธแžŠแŸ‚แž›แž˜แžถแž“แž”แŸ’แžšแžŸแžทแž‘แŸ’แž’แž—แžถแž–แžแŸ’แž–แžŸแŸ‹แžŠแŸ‚แž›แžขแžถแž…แž…แž›แŸแžแž”แžถแž“แžแžถแž˜แž€แž˜แŸ’แž˜แžœแžทแž’แžธแžšแžปแž€แžšแž€แžแžถแž˜แžขแŸŠแžธแž“แž’แžบแžŽแžทแž แž“แžทแž„แžœแŸแž‘แžทแž€แžถแž•แŸ’แž“แŸ‚แž€แžšแžนแž„แŸ” WebAssembly แž•แŸ’แžŠแž›แŸ‹แž‡แžผแž“ browser-แžฏแž€แžšแžถแž‡แŸ’แž™ แžŸแž€แž› แž“แžทแž„แž€แž˜แŸ’แžšแžทแžแž˜แž’แŸ’แž™แž˜แž€แžผแžŠแž€แž˜แŸ’แžšแžทแžแž‘แžถแž”แžŸแž˜แŸ’แžšแžถแž”แŸ‹แžŠแŸ†แžŽแžพแžšแž€แžถแžšแž€แž˜แŸ’แž˜แžœแžทแž’แžธแžŠแŸ‚แž›แž…แž„แž€แŸ’แžšแž„แž–แžธแž—แžถแžŸแžถแžŸแžšแžŸแŸแžšแž€แž˜แŸ’แž˜แžœแžทแž’แžธแž•แŸ’แžŸแŸแž„แŸ—แŸ” แžŠแŸ„แž™แž”แŸ’แžšแžพ JIT แžŸแž˜แŸ’แžšแžถแž”แŸ‹ WebAssembly แžขแŸ’แž“แž€แžขแžถแž…แžŸแž˜แŸ’แžšแŸแž…แž”แžถแž“แž“แžผแžœแž€แž˜แŸ’แžšแžทแžแž”แŸ’แžšแžแžทแž”แžแŸ’แžแžทแž€แžถแžšแžŠแŸ‚แž›แž“แŸ…แž‡แžทแžแž“แžนแž„แž€แžผแžŠแžŠแžพแž˜แŸ”

แž”แž…แŸ’แž…แŸแž€แžœแžทแž‘แŸ’แž™แžถ WebAssembly แžขแžถแž…แžแŸ’แžšแžผแžœแž”แžถแž“แž”แŸ’แžšแžพแžŠแžพแž˜แŸ’แž”แžธแž”แŸ†แž–แŸแž‰แž€แžถแžšแž„แžถแžšแžŠแŸ‚แž›แž˜แžถแž“แž”แŸ’แžšแžŸแžทแž‘แŸ’แž’แž—แžถแž–แžแŸ’แž–แžŸแŸ‹แž“แŸ…แž€แŸ’แž“แžปแž„แž€แž˜แŸ’แž˜แžœแžทแž’แžธแžšแžปแž€แžšแž€แžแžถแž˜แžขแŸŠแžธแž“แž’แžบแžŽแžทแž แžŠแžผแž…แž‡แžถแž€แžถแžšแžขแŸŠแžทแž“แž€แžผแžŠแžœแžธแžŠแŸแžขแžผ แžŠแŸ†แžŽแžพแžšแž€แžถแžšแžŸแŸ†แžกแŸแž„ แž€แŸ’แžšแžถแž แŸ’แžœแžทแž€ แž“แžทแž„แžงแž”แžถแž™แž€แž› 3D แž€แžถแžšแžขแž—แžทแžœแžŒแŸ’แžแž“แŸแž แŸ’แž‚แŸแž˜ แž”แŸ’แžšแžแžทแž”แžแŸ’แžแžทแž€แžถแžšแž‚แŸ’แžšแžธแž” แž“แžทแž„แž€แžถแžšแž‚แžŽแž“แžถแž‚แžŽแžทแžแžœแžทแž‘แŸ’แž™แžถ แžŠแŸ„แž™แžขแž“แžปแž‰แŸ’แž‰แžถแžแžฑแŸ’แž™แžŸแžšแžŸแŸแžšแž€แžผแžŠแž‡แžถแž—แžถแžŸแžถแž…แž„แž€แŸ’แžšแž„แžŠแžผแž…แž‡แžถ C/C++ .

แž€แŸ’แž“แžปแž„แž…แŸ†แžŽแŸ„แž˜แž‚แŸ„แž›แžŠแŸ…แž…แž˜แŸ’แž”แž„แžšแž”แžŸแŸ‹ WebAssembly แž‚แžบแž€แžถแžšแž’แžถแž“แžถแž“แžผแžœแž—แžถแž–แž…แž›แŸแž แžฅแžšแžทแž™แžถแž”แžแžŠแŸ‚แž›แžขแžถแž…แž–แŸ’แž™แžถแž€แžšแžŽแŸแž”แžถแž“ แž“แžทแž„แž€แžถแžšแž”แŸ’แžšแžแžทแž”แžแŸ’แžแžทแž€แžผแžŠแžŠแžผแž…แž‚แŸ’แž“แžถแž”แŸแŸ‡แž”แžทแž‘แž“แŸ…แž›แžพแžœแŸแž‘แžทแž€แžถแž•แŸ’แžŸแŸแž„แŸ—แž‚แŸ’แž“แžถแŸ” แžแŸ’แž˜แžธแŸ—แž“แŸแŸ‡ WebAssembly แž€แŸแžแŸ’แžšแžผแžœแž”แžถแž“แž•แŸ’แžŸแž–แŸ’แžœแž•แŸ’แžŸแžถแž™แž‡แžถแžœแŸแž‘แžทแž€แžถแžŸแž€แž›แžŸแž˜แŸ’แžšแžถแž”แŸ‹แž€แžถแžšแž”แŸ’แžšแžแžทแž”แžแŸ’แžแžทแž€แžผแžŠแžŠแŸ„แž™แžŸแžปแžœแžแŸ’แžแžทแž—แžถแž–แž“แŸ…แž‘แžผแž‘แžถแŸ†แž„แž แŸแžŠแŸ’แž‹แžถแžšแž…แž“แžถแžŸแž˜แŸ’แž–แŸแž“แŸ’แž’ แž”แŸ’แžšแž–แŸแž“แŸ’แž’แž”แŸ’แžšแžแžทแž”แžแŸ’แžแžทแž€แžถแžš แž“แžทแž„แžงแž”แž€แžšแžŽแŸ แžŠแŸ‚แž›แž˜แžทแž“แž€แŸ†แžŽแžแŸ‹แž…แŸ†แž–แŸ„แŸ‡แž€แž˜แŸ’แž˜แžœแžทแž’แžธแžšแžปแž€แžšแž€แŸ”

W3C แž”แžถแž“แž…แŸแž‰แž•แŸ’แžŸแžถแž™แžŸแŸแž…แž€แŸ’แžแžธแž–แŸ’แžšแžถแž„แž‡แžถแž€แŸ‹แž›แžถแž€แŸ‹แž…แŸ†แž“แžฝแž“แž”แžธแžŸแž˜แŸ’แžšแžถแž”แŸ‹ WebAssembly 2.0แŸ–

  • WebAssembly Core - แž–แžทแž–แžŽแŸŒแž“แžถแžขแŸ†แž–แžธแž˜แŸ‰แžถแžŸแŸŠแžธแž“แž“แžทแž˜แŸ’แž˜แžทแžแž€แž˜แŸ’แžšแžทแžแž‘แžถแž”แžŸแž˜แŸ’แžšแžถแž”แŸ‹แžŠแŸ†แžŽแžพแžšแž€แžถแžšแž€แžผแžŠแž€แž˜แŸ’แžšแžทแžแž˜แž’แŸ’แž™แž˜ WebAssembly แŸ” แž’แž“แž’แžถแž“แžŠแŸ‚แž›แž—แŸ’แž‡แžถแž”แŸ‹แž‡แžถแž˜แžฝแž™ WebAssembly แžแŸ’แžšแžผแžœแž”แžถแž“แž…แŸ‚แž€แž…แžถแž™แž€แŸ’แž“แžปแž„แž‘แž˜แŸ’แžšแž„แŸ‹ ".wasm" แžŸแŸ’แžšแžŠแŸ€แž„แž‘แŸ…แž“แžนแž„แžฏแž€แžŸแžถแžš ".class" แž“แŸ…แž€แŸ’แž“แžปแž„ Java แžŠแŸ‚แž›แž˜แžถแž“แž‘แžทแž“แŸ’แž“แž“แŸแž™แž‹แžทแžแžทแžœแž“แŸ’แž แž“แžทแž„แž•แŸ’แž“แŸ‚แž€แž€แžผแžŠแžŸแž˜แŸ’แžšแžถแž”แŸ‹แž’แŸ’แžœแžพแž€แžถแžšแž‡แžถแž˜แžฝแž™แž‘แžทแž“แŸ’แž“แž“แŸแž™แž“แŸ„แŸ‡แŸ”
  • WebAssembly JavaScript Interface - แž•แŸ’แžแž›แŸ‹ API แžŸแž˜แŸ’แžšแžถแž”แŸ‹แž€แžถแžšแžšแžฝแž˜แž”แž‰แŸ’แž…แžผแž›แž‡แžถแž˜แžฝแž™ JavaScript แŸ” แžขแž“แžปแž‰แŸ’แž‰แžถแžแžฑแŸ’แž™แžขแŸ’แž“แž€แž‘แž‘แžฝแž›แž”แžถแž“แžแž˜แŸ’แž›แŸƒแž“แžทแž„แž†แŸ’แž›แž„แž€แžถแžแŸ‹แž”แŸ‰แžถแžšแŸ‰แžถแž˜แŸ‰แŸ‚แžแŸ’แžšแž‘แŸ…แž˜แžปแžแž„แžถแžš WebAssembly แŸ” แž€แžถแžšแž”แŸ’แžšแžแžทแž”แžแŸ’แžแžทแž“แŸƒ WebAssembly แž’แŸ’แžœแžพแžแžถแž˜แž‚แŸ†แžšแžผแžŸแžปแžœแžแŸ’แžแžทแž—แžถแž– JavaScript แž แžพแž™แžขแž“แŸ’แžแžšแž€แž˜แŸ’แž˜แž‘แžถแŸ†แž„แžขแžŸแŸ‹แž‡แžถแž˜แžฝแž™แž”แŸ’แžšแž–แŸแž“แŸ’แž’แž˜แŸแžแŸ’แžšแžผแžœแž”แžถแž“แžขแž“แžปแžœแžแŸ’แžแžแžถแž˜แžšแž”แŸ€แž”แžŠแžผแž…แž‚แŸ’แž“แžถแž“แžนแž„แž€แžถแžšแž”แŸ’แžšแžแžทแž”แžแŸ’แžแžทแž€แžผแžŠ JavaScript แžŠแŸ‚แžšแŸ”
  • WebAssembly Web API - แž€แŸ†แžŽแžแŸ‹แž…แŸ†แžŽแžปแž…แž”แŸ’แžšแž‘แžถแž€แŸ‹แž€แž˜แŸ’แž˜แžœแžทแž’แžธแžŠแŸ„แž™แž•แŸ’แžขแŸ‚แž€แž›แžพแž™แž“แŸ’แžแž€แžถแžšแžŸแž“แŸ’แž™แžถแžŸแž˜แŸ’แžšแžถแž”แŸ‹แž€แžถแžšแžŸแŸ’แž“แžพแžŸแžปแŸ† แž“แžทแž„แž”แŸ’แžšแžแžทแž”แžแŸ’แžแžทแž’แž“แž’แžถแž“ ".wasm" แŸ” แž‘แž˜แŸ’แžšแž„แŸ‹แž’แž“แž’แžถแž“ WebAssembly แžแŸ’แžšแžผแžœแž”แžถแž“แž’แŸ’แžœแžพแžฑแŸ’แž™แž”แŸ’แžšแžŸแžพแžšแžกแžพแž„แžŠแžพแž˜แŸ’แž”แžธแž…แžถแž”แŸ‹แž•แŸ’แžแžพแž˜แž€แžถแžšแž”แŸ’แžšแžแžทแž”แžแŸ’แžแžทแžŠแŸ„แž™แž˜แžทแž“แžšแž„แŸ‹แž…แžถแŸ†แžฏแž€แžŸแžถแžšแžŠแžพแž˜แŸ’แž”แžธแž•แŸ’แž‘แžปแž€แž–แŸแž‰แž›แŸแž‰ แžŠแŸ‚แž›แž’แŸ’แžœแžพแžขแŸ„แž™แž”แŸ’แžšแžŸแžพแžšแžกแžพแž„แž“แžผแžœแž€แžถแžšแž†แŸ’แž›แžพแž™แžแž”แž“แŸƒแž€แž˜แŸ’แž˜แžœแžทแž’แžธแž‚แŸแž แž‘แŸ†แž–แŸแžšแŸ”

แž€แžถแžšแž•แŸ’แž›แžถแžŸแŸ‹แž”แŸ’แžแžผแžšแžŸแŸ†แžแžถแž“แŸ‹แŸ—แž“แŸ…แž€แŸ’แž“แžปแž„ WebAssembly 2.0 แž”แžพแž”แŸ’แžšแŸ€แž”แž’แŸ€แž”แž‘แŸ…แž“แžนแž„แž€แŸ†แžŽแŸ‚แžŠแŸ†แž”แžผแž„แž“แŸƒแžŸแŸ’แžแž„แŸ‹แžŠแžถแžšแŸ–

  • แž€แžถแžšแž‚แžถแŸ†แž‘แŸ’แžšแžŸแž˜แŸ’แžšแžถแž”แŸ‹แž”แŸ’แžšแž—แŸแž‘แžœแŸ‰แžทแž…แž‘แŸแžš v128 แž“แžทแž„แž€แžถแžšแžŽแŸ‚แž“แžถแŸ†แžœแŸ‰แžทแž…แž‘แŸแžšแžŠแŸ‚แž›แž–แžถแž€แŸ‹แž–แŸแž“แŸ’แž’แžŠแŸ‚แž›แžขแž“แžปแž‰แŸ’แž‰แžถแžแžฑแŸ’แž™แžขแŸ’แž“แž€แžขแž“แžปแžœแžแŸ’แžแžŸแž€แž˜แŸ’แž˜แž—แžถแž–แž›แžพแžแž˜แŸ’แž›แŸƒแž›แŸแžแž…แŸ’แžšแžพแž“แžŸแŸ’แžšแž”แž‚แŸ’แž“แžถ (แžŸแŸŠแžธแž˜แžŒแžธ แž€แžถแžšแžŽแŸ‚แž“แžถแŸ†แžแŸ‚แž˜แžฝแž™แž‘แžทแž“แŸ’แž“แž“แŸแž™แž…แŸ’แžšแžพแž“)แŸ”
  • แžŸแž˜แžแŸ’แžแž—แžถแž–แž€แŸ’แž“แžปแž„แž€แžถแžšแž“แžถแŸ†แž…แžผแž› แž“แžทแž„แž“แžถแŸ†แž…แŸแž‰แžขแžแŸแžšแžŸแž€แž›แžŠแŸ‚แž›แžขแžถแž…แž•แŸ’แž›แžถแžŸแŸ‹แž”แŸ’แžแžผแžšแž”แžถแž“ แžŠแŸ‚แž›แžขแž“แžปแž‰แŸ’แž‰แžถแžแžฑแŸ’แž™แž˜แžถแž“แž€แžถแžšแž…แž„แž‡แžถแžŸแž€แž›แžŸแž˜แŸ’แžšแžถแž”แŸ‹แžแž˜แŸ’แž›แŸƒแžŠแžผแž…แž‡แžถ stack pointers แž“แŸ…แž€แŸ’แž“แžปแž„ C++แŸ”
  • แž€แžถแžšแžŽแŸ‚แž“แžถแŸ†แžขแŸ†แž–แžธแž€แžถแžšแž”แŸ†แž”แŸ’แž›แŸ‚แž„แžขแžŽแŸ’แžแŸ‚แžแžแŸ’แž˜แžธแž‘แŸ…แž‡แžถ int แžŠแŸ‚แž›แž‡แŸ†แž“แžฝแžŸแžฑแŸ’แž™แž€แžถแžšแž…แŸ„แž›แž€แžšแžŽแžธแž›แžพแž€แž›แŸ‚แž„แž“แŸ…แž–แŸแž›แžŠแŸ‚แž›แž›แž‘แŸ’แž’แž•แž›แž›แžพแžŸ แžแŸ’แžšแžกแž”แŸ‹แžแž˜แŸ’แž›แŸƒแžขแž”แŸ’แž”แž”แžšแž˜แžถ แžฌแžขแžแžทแž”แžšแž˜แžถแžŠแŸ‚แž›แžขแžถแž…แž’แŸ’แžœแžพแž”แžถแž“ (แž…แžถแŸ†แž”แžถแž…แŸ‹แžŸแž˜แŸ’แžšแžถแž”แŸ‹ SIMD)แŸ”
  • แžŸแŸแž…แž€แŸ’แžแžธแžŽแŸ‚แž“แžถแŸ†แžŸแž˜แŸ’แžšแžถแž”แŸ‹แž€แžถแžšแž–แž„แŸ’แžšแžธแž€แžŸแž‰แŸ’แž‰แžถแž“แŸƒแž…แŸ†แž“แžฝแž“แž‚แžแŸ‹ (แž€แžถแžšแž”แž„แŸ’แž€แžพแž“แž‡แž˜แŸ’แžšแŸ…แž”แŸŠแžธแžแž“แŸƒแž…แŸ†แž“แžฝแž“แžแžŽแŸˆแž–แŸแž›แžŠแŸ‚แž›แžšแž€แŸ’แžŸแžถแžŸแž‰แŸ’แž‰แžถ แž“แžทแž„แžแž˜แŸ’แž›แŸƒ)แŸ”
  • แž€แžถแžšโ€‹แž‚แžถแŸ†แž‘แŸ’แžšโ€‹แžŸแž˜แŸ’แžšแžถแž”แŸ‹โ€‹แž”แŸ’แž›แžปแž€ แž“แžทแž„โ€‹แž˜แžปแžแž„แžถแžšโ€‹แžแŸ’แžšแžกแž”แŸ‹โ€‹แžแž˜แŸ’แž›แŸƒโ€‹แž…แŸ’แžšแžพแž“ (แž”แž“แŸ’แžแŸ‚แž˜โ€‹แž–แžธแž›แžพโ€‹แž€แžถแžšโ€‹แž†แŸ’แž›แž„แž€แžถแžแŸ‹โ€‹แž”แŸ‰แžถแžšแŸ‰แžถแž˜แŸ‰แŸ‚แžแŸ’แžšโ€‹แž…แŸ’แžšแžพแž“โ€‹แž‘แŸ…โ€‹แž˜แžปแžแž„แžถแžš)แŸ”
  • แž€แžถแžšแžขแž“แžปแžœแžแŸ’แžแž˜แžปแžแž„แžถแžš BigInt64Array แž“แžทแž„ BigUint64Array JavaScript แžŠแžพแž˜แŸ’แž”แžธแž”แŸ†แž”แŸ’แž›แŸ‚แž„แžšแžœแžถแž„แž”แŸ’แžšแž—แŸแž‘ BigInt JavaScript แž“แžทแž„แžแŸ†แžŽแžถแž„ WebAssembly แž“แŸƒแž…แŸ†แž“แžฝแž“แž‚แžแŸ‹ 64 แž”แŸŠแžธแžแŸ”
  • แž€แžถแžšแž‚แžถแŸ†แž‘แŸ’แžšแžŸแž˜แŸ’แžšแžถแž”แŸ‹แž”แŸ’แžšแž—แŸแž‘แžฏแž€แžŸแžถแžšแž™แŸ„แž„ (funcref แž“แžทแž„ externref) แž“แžทแž„แž€แžถแžšแžŽแŸ‚แž“แžถแŸ†แžŠแŸ‚แž›แž–แžถแž€แŸ‹แž–แŸแž“แŸ’แž’แžšแž”แžŸแŸ‹แž–แžฝแž€แž‚แŸ (แž‡แŸ’แžšแžพแžŸแžšแžพแžŸ, ref.null, ref.func แž“แžทแž„ ref.is_null) แŸ”
  • Memory.copy, memory.fill, memory.init แž“แžทแž„แžŸแŸแž…แž€แŸ’แžแžธแžŽแŸ‚แž“แžถแŸ† data.drop แžŸแž˜แŸ’แžšแžถแž”แŸ‹แž…แž˜แŸ’แž›แž„แž‘แžทแž“แŸ’แž“แž“แŸแž™แžšแžœแžถแž„แžแŸ†แž”แž“แŸ‹แžขแž„แŸ’แž‚แž…แž„แž…แžถแŸ† แž“แžทแž„แžŸแž˜แŸ’แžขแžถแžแžแŸ†แž”แž“แŸ‹แžŸแžแžทแŸ”
  • แž€แžถแžšแžŽแŸ‚แž“แžถแŸ†แžŸแž˜แŸ’แžšแžถแž”แŸ‹แž€แžถแžšแž…แžผแž›แž”แŸ’แžšแžพแžŠแŸ„แž™แž•แŸ’แž‘แžถแž›แŸ‹ แž“แžทแž„แž€แŸ‚แž”แŸ’แžšแŸ‚แžแžถแžšแžถแž„ (table.set, table.get, table.size, table.grow)แŸ” แžŸแž˜แžแŸ’แžแž—แžถแž–แž€แŸ’แž“แžปแž„แž€แžถแžšแž”แž„แŸ’แž€แžพแž แž“แžถแŸ†แž…แžผแž› แž“แžทแž„แž“แžถแŸ†แž…แŸแž‰แžแžถแžšแžถแž„แž…แŸ’แžšแžพแž“แž€แŸ’แž“แžปแž„แž˜แŸ‰แžผแžŒแžปแž›แž˜แžฝแž™แŸ” แž˜แžปแžแž„แžถแžšแžŸแž˜แŸ’แžšแžถแž”แŸ‹แž…แž˜แŸ’แž›แž„/แž”แŸ†แž–แŸแž‰แžแžถแžšแžถแž„แž€แŸ’แž“แžปแž„แž‘แž˜แŸ’แžšแž„แŸ‹แž‡แžถแž”แžถแž…แŸ‹ (table.copy, table.init แž“แžทแž„ elem.drop)แŸ”

แž”แŸ’แžšแž—แž–: opennet.ru

แž”แž“แŸ’แžแŸ‚แž˜แž˜แžแžทแž™แŸ„แž”แž›แŸ‹