Mozilla, Fastly, Intel เปเบฅเบฐ Red Hat เบชเบปเปˆเบ‡เป€เบชเบตเบก WebAssembly เป€เบ›เบฑเบ™เป€เบงเบ—เบตเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบ—เบปเปˆเบงเป„เบ›

Mozilla, Fastly, Intel เปเบฅเบฐ Red Hat เบชเบฐเบซเบฐเบ›เบฐเบŠเบฒ เบ„เบงเบฒเบกเบžเบฐเบเบฒเบเบฒเบกเบ‚เบญเบ‡เบ•เบปเบ™เปƒเบ™เบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒเป€เบ•เบฑเบเป‚เบ™เป‚เบฅเบขเบตเบ—เบตเปˆเบŠเปˆเบงเบเป€เบฎเบฑเบ”เปƒเบซเป‰ WebAssembly เป€เบ›เบฑเบ™เป€เบงเบ—เบตเบชเบฒเบเบปเบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบฅเบฐเบซเบฑเบ”เบ—เบตเปˆเบ›เบญเบ”เป„เบžเปƒเบ™เบ—เบปเปˆเบงเป‚เบ„เบ‡เบชเป‰เบฒเบ‡เบžเบทเป‰เบ™เบ–เบฒเบ™, เบฅเบฐเบšเบปเบšเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™, เบซเบผเบทเบญเบธเบ›เบฐเบเบญเบ™เบ•เปˆเบฒเบ‡เป†. เบŠเบธเบกเบŠเบปเบ™เป„เบ”เป‰เบ–เบทเบเบชเป‰เบฒเบ‡เบ•เบฑเป‰เบ‡เบ‚เบถเป‰เบ™เป€เบžเบทเปˆเบญเบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒเบฎเปˆเบงเบกเบเบฑเบ™เบ‚เบญเบ‡ runtime เปเบฅเบฐ compilers เบ—เบตเปˆเบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบ‚เบญเบ‡ WebAssembly เบšเปเปˆเบžเบฝเบ‡เปเบ•เปˆเปƒเบ™เบ•เบปเบงเบ—เปˆเบญเบ‡เป€เบงเบฑเบšเบ‚เบญเบ‡เป€เบงเบฑเบšเป„เบŠเบ•เปŒ. Bytecode Alliance.

เป€เบžเบทเปˆเบญเบชเป‰เบฒเบ‡เป‚เบ›เบผเปเบเบผเบก Portable เบ—เบตเปˆเบชเบปเปˆเบ‡เปƒเบ™เบฎเบนเบšเปเบšเบš WebAssembly เบ—เบตเปˆเบชเบฒเบกเบฒเบ”เบ›เบฐเบ•เบดเบšเบฑเบ”เป„เบ”เป‰เบขเบนเปˆเบ™เบญเบเบ•เบปเบงเบ—เปˆเบญเบ‡เป€เบงเบฑเบš, เบžเบงเบเป€เบฎเบปเบฒเปเบ™เบฐเบ™เปเบฒเปƒเบซเป‰เปƒเบŠเป‰ API. WASI (WebAssembly System Interface), เป€เบŠเบดเปˆเบ‡เบชเบฐเบซเบ™เบญเบ‡เบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบšเบŠเบญเบšเปเบงเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบšเป‚เบ”เบเบเบปเบ‡เบเบฑเบšเบฅเบฐเบšเบปเบšเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™ (POSIX API เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบšเป„เบŸเบฅเปŒ, เบŠเบฑเบญเบเป€เบเบฑเบ”, เปเบฅเบฐเบญเบทเปˆเบ™เป†). เบฅเบฑเบเบชเบฐเบ™เบฐเบ—เบตเปˆเป‚เบ”เบ”เป€เบ”เบฑเปˆเบ™เบ‚เบญเบ‡เบฎเบนเบšเปเบšเบšเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ‚เบญเบ‡เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบ—เบตเปˆเปƒเบŠเป‰ WASI เปเบกเปˆเบ™เบงเปˆเบฒเบžเบงเบเป€เบ‚เบปเบฒเบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เปƒเบ™เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบก sandbox เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เป‚เบ”เบ”เบ”เปˆเบฝเบงเบˆเบฒเบเบฅเบฐเบšเบปเบšเบ•เบปเป‰เบ™เบ•เปเปเบฅเบฐเบ™เปเบฒเปƒเบŠเป‰เบเบปเบ™เป„เบเบ„เบงเบฒเบกเบ›เบญเบ”เป„เบžเป‚เบ”เบเบญเบตเบ‡เปƒเบชเปˆเบเบฒเบ™เบ„เบธเป‰เบกเบ„เบญเบ‡เบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฑเบšเปเบ•เปˆเบฅเบฐเบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™ (เป„เบŸเบฅเปŒ, เป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบต, เบŠเบฑเบญเบเป€เบเบฑเบ”, เบเบฒเบ™เป‚เบ—เบฅเบฐเบšเบปเบš. , เปเบฅเบฐเบญเบทเปˆเบ™เป†) เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบ•เป‰เบญเบ‡เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบญเบฐเบ™เบธเบเบฒเบ”เบ—เบตเปˆเป€เบซเบกเบฒเบฐเบชเบปเบก (เบžเบฝเบ‡เปเบ•เปˆเบเบฒเบ™เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เบซเบ™เป‰เบฒเบ—เบตเปˆเบ›เบฐเบเบฒเบ”เป„เบ”เป‰เบ–เบทเบเบชเบฐเบซเบ™เบญเบ‡เปƒเบซเป‰).

เบซเบ™เบถเปˆเบ‡โ€‹เปƒเบ™ เป€เบ›เบปเป‰เบฒ เปเบฒเบ เบžเบฑเบ™เบ—เบฐเบกเบดเบ”เบ—เบตเปˆเบชเป‰เบฒเบ‡เบ‚เบทเป‰เบ™เปเบกเปˆเบ™เบเบฒเบ™เปเบเป‰เป„เบ‚เบšเบฑเบ™เบซเบฒเบเบฒเบ™เปเบˆเบเบขเบฒเบเบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบ modular เบ—เบตเปˆเบ—เบฑเบ™เบชเบฐเป„เบซเบกเบ—เบตเปˆเบกเบตเบˆเปเบฒเบ™เบงเบ™เบเบฒเบ™เป€เบžเบดเปˆเบ‡เบžเบฒเบญเบฒเป„เบชเบˆเปเบฒเบ™เบงเบ™เบซเบฅเบฒเบ. เปƒเบ™เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบ”เบฑเปˆเบ‡เบเปˆเบฒเบง, เบ—เบธเบเป†เบเบฒเบ™เป€เบžเบดเปˆเบ‡เบžเบฒเบญเบฒเป„เบชเบชเบฒเบกเบฒเบ”เป€เบ›เบฑเบ™เปเบซเบผเปˆเบ‡เบ—เบตเปˆเบกเบตเบ—เปˆเบฒเปเบฎเบ‡เบ‚เบญเบ‡เบ„เบงเบฒเบกเบญเปˆเบญเบ™เปเบญเบซเบผเบทเบเบฒเบ™เป‚เบˆเบกเบ•เบต. เบเบฒเบ™โ€‹เบ„เบงเบšโ€‹เบ„เบธเบกโ€‹เบเบฒเบ™โ€‹เป€เบžเบดเปˆเบ‡โ€‹เบžเบฒโ€‹เบญเบฒโ€‹เป„เบชโ€‹เบญเบฐโ€‹เบ™เบธโ€‹เบเบฒเบ”โ€‹เปƒเบซเป‰โ€‹เบ—เปˆเบฒเบ™โ€‹เป„เบ”เป‰โ€‹เบฎเบฑเบšโ€‹เบเบฒเบ™โ€‹เบ„เบงเบšโ€‹เบ„เบธเบกโ€‹เบ‚เบญเบ‡โ€‹เบ—เบธเบโ€‹เบ„เปเบฒโ€‹เบฎเป‰เบญเบ‡โ€‹เบชเบฐโ€‹เบซเบกเบฑเบโ€‹เบ—เบตเปˆโ€‹เบเปˆเบฝเบงโ€‹เบ‚เป‰เบญเบ‡โ€‹เบเบฑเบšโ€‹เบกเบฑเบ™โ€‹. เบ„เบงเบฒเบกเป„เบงเป‰เบงเบฒเบ‡เปƒเบˆเปƒเบ™เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”เบซเบกเบฒเบเป€เบ–เบดเบ‡เบ„เบงเบฒเบกเป„เบงเป‰เบงเบฒเบ‡เปƒเบˆเปƒเบ™เบ—เบธเบ dependencies, เปเบ•เปˆ dependencies เบกเบฑเบเบˆเบฐเบ–เบทเบเบžเบฑเบ”เบ—เบฐเบ™เบฒเปเบฅเบฐเบฎเบฑเบเบชเบฒเป„เบงเป‰เป‚เบ”เบเบ—เบตเบกเบ‡เบฒเบ™เบžเบฒเบเบชเปˆเบงเบ™เบ—เบตเบชเบฒเบกเบ—เบตเปˆเบเบดเบ”เบˆเบฐเบเปเบฒเบšเปเปˆเบชเบฒเบกเบฒเบ”เบ„เบงเบšเบ„เบธเบกเป„เบ”เป‰. เบชเบฐเบกเบฒเบŠเบดเบ Bytecode Alliance เบ•เบฑเป‰เบ‡เปƒเบˆเปƒเบซเป‰เบเบฒเบ™เปเบเป‰เป„เบ‚เปเบšเบšเบฅเบงเบกเป†เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ—เบตเปˆเบ›เบญเบ”เป„เบžเบ‚เบญเบ‡เปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™ WebAssembly เบ—เบตเปˆเบšเปเปˆเป€เบŠเบทเปˆเบญเบ–เบทเป„เบ”เป‰.

เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ›เบปเบเบ›เป‰เบญเบ‡, เบกเบฑเบ™เป„เบ”เป‰เบ–เบทเบเบชเบฐเป€เบซเบ™เบตเปƒเบซเป‰เปƒเบŠเป‰เปเบ™เบงเบ„เบงเบฒเบกเบ„เบดเบ”เบ‚เบญเบ‡ nanoprocesses, เป€เบŠเบดเปˆเบ‡เปเบ•เปˆเบฅเบฐเป‚เบกเบ”เบนเบ™เบเบฒเบ™เป€เบžเบดเปˆเบ‡เบžเบฒเบญเบฒเป„เบชเบ–เบทเบเปเบเบเบญเบญเบเป€เบ›เบฑเบ™เป‚เบกเบ”เบนเบ™ WebAssembly เปเบเบเบ•เปˆเบฒเบ‡เบซเบฒเบ, เบญเปเบฒเบ™เบฒเบ”เบ—เบตเปˆเบ–เบทเบเบเปเบฒเบ™เบปเบ”เป„เบงเป‰เปƒเบ™เบ„เบงเบฒเบกเบเปˆเบฝเบงเบ‚เป‰เบญเบ‡เบเบฑเบšเป‚เบกเบ”เบนเบ™เบ™เบตเป‰เป€เบ—เบปเปˆเบฒเบ™เบฑเป‰เบ™ (เบ•เบปเบงเบขเปˆเบฒเบ‡, เบซเป‰เบญเบ‡เบชเบฐเบซเบกเบธเบ”เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ›เบฐเบกเบงเบ™เบœเบปเบ™เบชเบฒเบเบˆเบฐเบšเปเปˆ. เบชเบฒโ€‹เบกเบฒเบ”โ€‹เป€เบ›เบตเบ”โ€‹เป€เบ•เบปเป‰เบฒโ€‹เบฎเบฑเบšโ€‹เป€เบ„เบทเบญโ€‹เบ‚เปˆเบฒเบโ€‹เบซเบผเบทโ€‹เป„เบŸเบฅโ€‹เปŒโ€‹)โ€‹. เบšเปเปˆเป€เบซเบกเบทเบญเบ™เบเบฑเบšเบเบฒเบ™เปเบเบเบ‚เบฐเบšเบงเบ™เบเบฒเบ™, เบ•เบปเบงเบˆเบฑเบ”เบเบฒเบ™ WebAssembly เบกเบตเบ™เป‰เปเบฒเบซเบ™เบฑเบเป€เบšเบปเบฒเปเบฅเบฐเป€เบเบทเบญเบšเบšเปเปˆเบกเบตเบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เป€เบžเบตเปˆเบกเป€เบ•เบตเบก - เบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบšเบฅเบฐเบซเบงเปˆเบฒเบ‡เบ•เบปเบงเบˆเบฑเบ”เบเบฒเบ™เปเบกเปˆเบ™เบšเปเปˆเบŠเป‰เบฒเบเบงเปˆเบฒเบเบฒเบ™เป‚เบ—เบซเบฒเบซเบ™เป‰เบฒเบ—เบตเปˆเบ—เปเบฒเบกเบฐเบ”เบฒ. เบเบฒเบ™เปเบเบเบชเบฒเบกเบฒเบ”เป€เบฎเบฑเบ”เป„เบ”เป‰เบšเปเปˆเบžเบฝเบ‡เปเบ•เปˆเปƒเบ™เบฅเบฐเบ”เบฑเบšเบ‚เบญเบ‡เปเบ•เปˆเบฅเบฐเป‚เบกเบ”เบนเบ™, เปเบ•เปˆเบเบฑเบ‡เบขเบนเปˆเปƒเบ™เบฅเบฐเบ”เบฑเบšเบ‚เบญเบ‡เบเบธเปˆเบกเบ‚เบญเบ‡เป‚เบกเบ”เบนเบ™เบ—เบตเปˆ, เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบเบปเบเบ•เบปเบงเบขเปˆเบฒเบ‡, เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เป„เบ”เป‰เป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบšเบžเบทเป‰เบ™เบ—เบตเปˆเบ„เบงเบฒเบกเบŠเบปเบ‡เบˆเปเบฒเบ—เบปเปˆเบงเป„เบ›.

เบญเปเบฒเบ™เบฒเบ”เบ—เบตเปˆเบฎเป‰เบญเบ‡เบ‚เปเบชเบฒเบกเบฒเบ”เบ–เบทเบเบเปเบฒเบ™เบปเบ”เบ—เบฑเบ‡เปƒเบ™เบฅเบฐเบ”เบฑเบšเบ‚เบญเบ‡เบ•เบปเบงเบ‚เบทเป‰เบ™เบเบฑเบšเบ•เบปเบงเป€เบญเบ‡เปเบฅเบฐเบกเบญเบšเบซเบกเบฒเบเปƒเบซเป‰ dependencies เบ•เบฒเบกเบฅเบฐเบšเบปเบšเบ•เปˆเบญเบ‡เป‚เบชเป‰เป‚เบ”เบเป‚เบกเบ”เบนเบ™เปเบกเปˆ (เบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เปƒเบ™ WASI เปเบกเปˆเบ™เบเปˆเบฝเบงเบ‚เป‰เบญเบ‡เบเบฑเบšเบ›เบฐเป€เบžเบ”เบžเบดเป€เบชเบ”เบ‚เบญเบ‡เบ•เบปเบงเบญเบฐเบ—เบดเบšเบฒเบเป„เบŸเบฅเปŒ - เบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”). เบ•เบปเบงเบขเปˆเบฒเบ‡, เป‚เบกเบ”เบนเบ™เบชเบฒเบกเบฒเบ”เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบกเบญเบšเบซเบกเบฒเบเบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เปƒเบ™เบเบฒเบ™เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบตเบชเบฐเป€เบžเบฒเบฐเปเบฅเบฐเบเบฒเบ™เป€เบญเบตเป‰เบ™เบฅเบฐเบšเบปเบš, เปเบฅเบฐเบ–เป‰เบฒเป‚เบ„เบ‡เบชเป‰เบฒเบ‡เบžเบทเป‰เบ™เบ–เบฒเบ™เบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒเบ‚เบญเบ‡เป‚เบกเบ”เบนเบ™เบ–เบทเบเบ—เปเบฒเบฅเบฒเบเบซเบผเบทเบกเบตเบˆเบธเบ”เบญเปˆเบญเบ™เบ–เบทเบเบฅเบฐเบšเบธ, เปƒเบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡เบเบฒเบ™เป‚เบˆเบกเบ•เบต, เบเบฒเบ™เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เบˆเบฐเบ–เบทเบเบˆเปเบฒเบเบฑเบ”เบžเบฝเบ‡เปเบ•เปˆเบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เป€เบ—เบปเปˆเบฒเบ™เบฑเป‰เบ™. เบเบฒเบ™เบ›เบฐเบเบฒเบ”เบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เป‚เบ”เบเบœเบนเป‰เบชเป‰เบฒเบ‡เป‚เบกเบ”เบนเบ™เบชเบฒเบกเบฒเบ”เป€เบ›เบฑเบ™เบ•เบปเบงเบŠเบตเป‰เบšเบญเบเบ‚เบญเบ‡เบเบดเบ”เบˆเบฐเบเปเบฒเบ—เบตเปˆเบซเบ™เป‰เบฒเบชเบปเบ‡เป„เบช, เป€เบŠเบฑเปˆเบ™: เป€เบกเบทเปˆเบญเป‚เบกเบ”เบนเบ™เบเบฒเบ™เบ›เบธเบ‡เปเบ•เปˆเบ‡เบ‚เปเป‰เบ„เบงเบฒเบกเบฎเป‰เบญเบ‡เบ‚เปเบเบฒเบ™เบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เป€เบ›เบตเบ”เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเป€เบ„เบทเบญเบ‚เปˆเบฒเบ. เบเบฒเบ™เบญเบฐเบ™เบธเบเบฒเบ”เบ—เบตเปˆเบเปเบฒเบ™เบปเบ”เป„เบงเป‰เปƒเบ™เป€เบšเบทเป‰เบญเบ‡เบ•เบปเป‰เบ™เป„เบ”เป‰เบ–เบทเบเบเบงเบ”เบชเบญเบšเปเบฅเบฐเบ–เป‰เบฒเบžเบงเบเป€เบ‚เบปเบฒเบ›เปˆเบฝเบ™เปเบ›เบ‡, เบเบฒเบ™เป‚เบซเบผเบ”เบเบฒเบ™เป€เบžเบดเปˆเบ‡เบžเบฒเบญเบฒเป„เบชเบˆเบฐเบ–เบทเบเบ›เบฐเบ•เบดเป€เบชเบ”เบˆเบปเบ™เบเปˆเบงเบฒเบฅเบฒเบเป€เบŠเบฑเบ™เบ‚เบญเบ‡เป‚เบกเบ”เบนเบ™เบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™เบ–เบทเบเบ›เบฑเบšเบ›เบธเบ‡.

เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒเบฎเปˆเบงเบกเบเบฑเบ™เบžเบฒเบเปƒเบ•เป‰เบ›เบตเบเบ‚เบญเบ‡เบžเบฑเบ™เบ—เบฐเบกเบดเบ” Bytecode เปเบ› เบซเบผเบฒเบเป†เบญเบฑเบ™เบ—เบตเปˆเบเปˆเบฝเบงเบ‚เป‰เบญเบ‡เบเบฑเบš WebAssembly เป‚เบ„เบ‡เบเบฒเบ™, เบเปˆเบญเบ™เบซเบ™เป‰เบฒเบ™เบตเป‰เป„เบ”เป‰เบžเบฑเบ”เบ—เบฐเบ™เบฒเปเบเบเบ•เปˆเบฒเบ‡เบซเบฒเบเป‚เบ”เบเบšเปเบฅเบดเบชเบฑเบ”เบœเบนเป‰เบเปเปˆเบ•เบฑเป‰เบ‡เบ‚เบญเบ‡เบžเบฑเบ™เบ—เบฐเบกเบดเบ”:

  • เบŠเปˆเบงเบ‡เป€เบงเบฅเบฒ โ€” runtime เบชเปเบฒโ€‹เบฅเบฑเบšโ€‹เบเบฒเบ™โ€‹เปเบฅเปˆเบ™โ€‹เบ„เปเบฒโ€‹เบฎเป‰เบญเบ‡โ€‹เบชเบฐโ€‹เบซเบกเบฑเบ WebAssembly เบ—เบตเปˆโ€‹เบกเบตโ€‹เบเบฒเบ™โ€‹เบ‚เบฐโ€‹เบซเบเบฒเบ WASI เป€เบ›เบฑเบ™โ€‹เบ„เปเบฒโ€‹เบฎเป‰เบญเบ‡โ€‹เบชเบฐโ€‹เบซเบกเบฑเบ stand-alone เบ›เบปเบโ€‹เบเบฐโ€‹เบ•เบดโ€‹. เบกเบฑเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบ—เบฑเบ‡เบเบฒเบ™เป€เบ›เบตเบ”เบ•เบปเบง WebAssembly bytecode เป‚เบ”เบเปƒเบŠเป‰เบ›เบฐเป‚เบซเบเบ”เบ‚เบญเบ‡เป€เบชเบฑเป‰เบ™เบ„เปเบฒเบชเบฑเปˆเบ‡เบžเบดเป€เบชเบ”เปเบฅเบฐเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเป‚เบเบ‡เป„เบŸเบฅเปŒเบ›เบฐเบ•เบดเบšเบฑเบ”เบ—เบตเปˆเบเบฝเบกเบžเป‰เบญเบก (wasmtime เบ–เบทเบเบชเป‰เบฒเบ‡เบ‚เบถเป‰เบ™เปƒเบ™เปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™เป€เบ›เบฑเบ™เบซเป‰เบญเบ‡เบชเบฐเบซเบกเบธเบ”). Wasmtime เบกเบตเป‚เบ„เบ‡เบชเป‰เบฒเบ‡เปเบšเบšเป‚เบกเบ”เบนเบ™เบ—เบตเปˆเบกเบตเบ„เบงเบฒเบกเบเบทเบ”เบซเบเบธเปˆเบ™เบ—เบตเปˆเบŠเปˆเบงเบเปƒเบซเป‰เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ‚เบฐเบซเบเบฒเบเป€เบงเบฅเบฒเปเบฅเปˆเบ™เบชเปเบฒเบฅเบฑเบšเบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบ•เปˆเบฒเบ‡เป†, เบ•เบปเบงเบขเปˆเบฒเบ‡เป€เบŠเบฑเปˆเบ™, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบชเป‰เบฒเบ‡เบชเบฐเบšเบฑเบšเบ—เบตเปˆเบ–เบญเบ”เบญเบญเบเบชเปเบฒเบฅเบฑเบšเบญเบธเบ›เบฐเบเบญเบ™เบ—เบตเปˆเบกเบตเบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เบˆเปเบฒเบเบฑเบ”;
  • Lucet โ€” compiler เปเบฅเบฐ runtime เบชเปเบฒโ€‹เบฅเบฑเบšโ€‹เบเบฒเบ™โ€‹เบ›เบฐโ€‹เบ•เบดโ€‹เบšเบฑเบ”โ€‹เป‚เบ„เบ‡โ€‹เบเบฒเบ™โ€‹เปƒเบ™โ€‹เบฎเบนเบšโ€‹เปเบšเบš WebAssemblyโ€‹. เป‚เบ”เบ”เป€เบ”เบฑเปˆเบ™ เบ„เบธเบ™โ€‹เบ™เบฐโ€‹เบชเบปเบกโ€‹เบšเบฑเบ” Lucet เปเบกเปˆเบ™เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบเบฒเบ™เบฅเบงเบšเบฅเบงเบกเบ—เบตเปˆเบ„เบฒเบ”เบงเปˆเบฒเบˆเบฐเป€เบ•เบฑเบกเบฎเบนเบšเปเบšเบš (AOT, เบฅเปˆเบงเบ‡เบซเบ™เป‰เบฒ) เปเบ—เบ™เบ—เบตเปˆเบˆเบฐ JIT เป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เบฅเบฐเบซเบฑเบ”เป€เบ„เบทเปˆเบญเบ‡เบˆเบฑเบเบ—เบตเปˆเป€เบซเบกเบฒเบฐเบชเบปเบกเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เป‚เบ”เบเบเบปเบ‡. เป‚เบ„เบ‡โ€‹เบเบฒเบ™โ€‹เบ”เบฑเปˆเบ‡โ€‹เบเปˆเบฒเบงโ€‹เป„เบ”เป‰โ€‹เบ–เบทเบโ€‹เบžเบฑเบ”โ€‹เบ—เบฐโ€‹เบ™เบฒโ€‹เป‚เบ”เบ Fastly เปเบฅเบฐโ€‹เป„เบ”เป‰โ€‹เบ–เบทเบโ€‹เบ›เบฑเบšโ€‹เบ›เบธเบ‡โ€‹เปƒเบซเป‰โ€‹เบ”เบตโ€‹เบ—เบตเปˆโ€‹เบˆเบฐโ€‹เบšเปโ€‹เบฅเบดโ€‹เป‚เบžเบโ€‹เบŠเบฑเบšโ€‹เบžเบฐโ€‹เบเบฒโ€‹เบเบญเบ™โ€‹เบซเบ™เป‰เบญเบโ€‹เบ—เบตเปˆโ€‹เบชเบธเบ”โ€‹เปเบฅเบฐโ€‹เป€เบ›เบตเบ”โ€‹เบ•เบปเบงโ€‹เบขเปˆเบฒเบ‡โ€‹เปƒเบซเบกเปˆโ€‹เบขเปˆเบฒเบ‡โ€‹เบงเปˆเบญเบ‡โ€‹เป„เบง (เป„เบงโ€‹เปƒเบŠเป‰ Lucet เปƒเบ™โ€‹เป€เบ„เบทเปˆเบญเบ‡โ€‹เบˆเบฑเบโ€‹เบ„เบญเบกโ€‹เบžเบดเบงโ€‹เป€เบ•เบตโ€‹เปเบ‚เบšโ€‹เบŸเบฑเบ‡โ€‹เบ—เบตเปˆโ€‹เปƒเบŠเป‰ WebAssembly เบชเปเบฒโ€‹เบฅเบฑเบšโ€‹เบœเบนเป‰โ€‹เบˆเบฑเบ”โ€‹เบเบฒเบ™โ€‹เป€เบ›เบตเบ”โ€‹เปƒเบ™โ€‹เปเบ•เปˆโ€‹เบฅเบฐโ€‹เบ„เปเบฒโ€‹เบฎเป‰เบญเบ‡โ€‹เบชเบฐโ€‹เบซเบกเบฑเบโ€‹)โ€‹. เป€เบ›เบฑเบ™เบชเปˆเบงเบ™เบซเบ™เบถเปˆเบ‡เบ‚เบญเบ‡เป‚เบ„เบ‡เบเบฒเบ™เบฎเปˆเบงเบกเบเบฑเบ™, Lucet compiler เป„เบ”เป‰เบ–เบทเบเบงเบฒเบ‡เปเบœเบ™เบ—เบตเปˆเบˆเบฐเบ›เปˆเบฝเบ™เป„เบ›เปƒเบŠเป‰ Wasmtime เป€เบ›เบฑเบ™เบžเบทเป‰เบ™เบ–เบฒเบ™;
  • WAMR (WebAssembly Micro Runtime) เปเบกเปˆเบ™เป€เบงเบฅเบฒเปเบฅเปˆเบ™เบญเบตเบเบญเบฑเบ™เปœเบถเปˆเบ‡เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™ WebAssembly, เปƒเบ™เป€เบšเบทเป‰เบญเบ‡เบ•เบปเป‰เบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒเป‚เบ”เบ Intel เป€เบžเบทเปˆเบญเปƒเบŠเป‰เปƒเบ™เบญเบธเบ›เบฐเบเบญเบ™ Internet of Things. WAMR เบ–เบทเบเบ›เบฑเบšเปƒเบซเป‰เป€เปเบฒเบฐเบชเบปเบกเบชเบณเบฅเบฑเบšเบเบฒเบ™เบšเปเบฅเบดเป‚เบžเบเบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เปœเป‰เบญเบเบ—เบตเปˆเบชเบธเบ” เปเบฅเบฐเบชเบฒเบกเบฒเบ”เปƒเบŠเป‰เปƒเบ™เบญเบธเบ›เบฐเบเบญเบ™เบ—เบตเปˆเบกเบต RAM เปœเป‰เบญเบ. เป‚เบ„เบ‡เบเบฒเบ™เบ›เบฐเบเบญเบšเบกเบตเบ™เบฒเบเบžเบฒเบชเบฒเปเบฅเบฐเป€เบ„เบทเปˆเบญเบ‡ virtual เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ” WebAssembly bytecode, API (เบŠเบธเบ”เบเปˆเบญเบเบ‚เบญเบ‡ Libc) เปเบฅเบฐเป€เบ„เบทเปˆเบญเบ‡เบกเบทเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ„เบธเป‰เบกเบ„เบญเบ‡เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเปเบšเบšเป€เบ„เบทเปˆเบญเบ™เป„เบซเบง;
  • เบเบปเบเป€เบ„เบ™ โ€” เป€เบ„เบทเปˆเบญเบ‡โ€‹เบชเป‰เบฒเบ‡โ€‹เบฅเบฐโ€‹เบซเบฑเบ”โ€‹เบ—เบตเปˆโ€‹เปเบ›โ€‹เบ•เบปเบงโ€‹เปเบ—เบ™โ€‹เบ‚เบฑเป‰เบ™โ€‹เบเบฒเบ‡โ€‹เบ—เบตเปˆโ€‹เป€เบ›เบฑเบ™โ€‹เป€เบญโ€‹เบเบฐโ€‹เบฅเบฒเบ”โ€‹เบ‚เบญเบ‡โ€‹เบ–เบฒโ€‹เบ›เบฑเบ”โ€‹เบ•เบฐโ€‹เบเบฐโ€‹เบฎเบฒเบ”โ€‹เปเบงโ€‹เป€เบ›เบฑเบ™โ€‹เบฅเบฐโ€‹เบซเบฑเบ”โ€‹เป€เบ„เบทเปˆเบญเบ‡โ€‹เบ—เบตเปˆโ€‹เบ›เบฐโ€‹เบ•เบดโ€‹เบšเบฑเบ”โ€‹เป„เบ”เป‰โ€‹เป€เบซเบกเบฒเบฐโ€‹เบชเบปเบกโ€‹เบชเปเบฒโ€‹เบฅเบฑเบšโ€‹เป€เบงโ€‹เบ—เบตโ€‹เบฎเบฒเบ”โ€‹เปเบงโ€‹เบชเบฐโ€‹เป€เบžเบฒเบฐโ€‹เปƒเบ”โ€‹เบซเบ™เบถเปˆเบ‡โ€‹. Cranelift เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบเบฒเบ™เบ‚เบฐเบซเบ™เบฒเบ™เบ‚เบญเบ‡เบเบฒเบ™เบฅเบงเบšเบฅเบงเบกเบซเบ™เป‰เบฒเบ—เบตเปˆเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบœเบฐเบฅเบดเบ”เบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบšเป„เบงเบซเบผเบฒเบ, เป€เบŠเบดเปˆเบ‡เบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบกเบฑเบ™เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เป€เบžเบทเปˆเบญเบชเป‰เบฒเบ‡เบเบฒเบ™เบฅเบงเบšเบฅเบงเบกเบ‚เปเป‰เบกเบนเบ™ JIT (JIT เบ—เบตเปˆเปƒเบŠเป‰ Cranelift เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เปƒเบ™เป€เบ„เบทเปˆเบญเบ‡ virtual Wasmtime);
  • WASI เบ—เบปเปˆเบงเป„เบ› โ€” เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เปเบเบเบ•เปˆเบฒเบ‡เบซเบฒเบเบ‚เบญเบ‡ WASI (WebAssembly System Interface) API เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบˆเบฑเบ”เบ•เบฑเป‰เบ‡เบ›เบฐเบ•เบดเบชเปเบฒเบžเบฑเบ™เบเบฑเบšเบฅเบฐเบšเบปเบšเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™;
  • cargo-wasi โ€” เป‚เบกเบ”เบนเบ™เบชเปเบฒเบฅเบฑเบšเบœเบนเป‰เบˆเบฑเบ”เบเบฒเบ™เบŠเบธเบ” Cargo เบ—เบตเปˆเบ›เบฐเบ•เบดเบšเบฑเบ”เบ„เปเบฒเบชเบฑเปˆเบ‡เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบฅเบงเบšเบฅเบงเบกเบฅเบฐเบซเบฑเบ” Rust เป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™ WebAssembly bytecode เป‚เบ”เบเปƒเบŠเป‰เบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบš WASI เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰ WebAssembly เบขเบนเปˆเบ™เบญเบเบ•เบปเบงเบ—เปˆเบญเบ‡เป€เบงเบฑเบš;
  • wat ะธ เบ„เบปเบ™เบ‚เบตเป‰เบ„เป‰เบฒเบ™ โ€” เบ•เบปเบงเบงเบดเป€เบ„เบฒเบฐเป€เบžเบทเปˆเบญเบงเบดเป€เบ„เบฒเบฐเบ‚เปเป‰เบ„เบงเบฒเบก (WAT, WAST) เปเบฅเบฐเบ•เบปเบงเปเบ—เบ™เบ–เบฒเบ™เบชเบญเบ‡เบ‚เบญเบ‡ WebAssembly bytecode.

เป€เบžเบทเปˆเบญเบชเบฐเบซเบผเบธเบš, WebAssembly เปเบกเปˆเบ™เบซเบผเบฒเบเป€เบŠเบฑเปˆเบ™ Asm.js, เปเบ•เปˆ เปเบ•เบเบ•เปˆเบฒเบ‡ เปƒเบ™เบ™เบฑเป‰เบ™เบกเบฑเบ™เป€เบ›เบฑเบ™เบฎเบนเบšเปเบšเบšเบ–เบฒเบ™เบชเบญเบ‡เบ—เบตเปˆเบšเปเปˆเบ–เบทเบเบœเบนเบเบกเบฑเบ”เบเบฑเบš JavaScript เปเบฅเบฐเบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบฅเบฐเบซเบฑเบ”เบฅเบฐเบ”เบฑเบšเบ›เบฒเบ™เบเบฒเบ‡เบ•เปˆเปเบฒเบ—เบตเปˆเบฅเบงเบšเบฅเบงเบกเบˆเบฒเบเบžเบฒเบชเบฒเบเบฒเบ™เบ‚เบฝเบ™เป‚เบ›เบผเปเบเบผเบกเบ•เปˆเบฒเบ‡เป†เปƒเบ™เบ•เบปเบงเบ—เปˆเบญเบ‡เป€เบงเบฑเบš. WebAssembly เบšเปเปˆเบ•เป‰เบญเบ‡เบเบฒเบ™เป€เบ„เบทเปˆเบญเบ‡เป€เบเบฑเบšเบ‚เบตเป‰เป€เบซเบเบทเป‰เบญเป€เบžเบฒเบฐเบงเปˆเบฒเบกเบฑเบ™เปƒเบŠเป‰เบเบฒเบ™เบˆเบฑเบ”เบเบฒเบ™เบ„เบงเบฒเบกเบŠเบปเบ‡เบˆเปเบฒเบ—เบตเปˆเบŠเบฑเบ”เป€เบˆเบ™. เป‚เบ”เบเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰ JIT เบชเปเบฒเบฅเบฑเบš WebAssembly, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบšเบฑเบ™เบฅเบธเบฅเบฐเบ”เบฑเบšเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบขเบนเปˆเปƒเบเป‰เบเบฑเบšเบฅเบฐเบซเบฑเบ”เบžเบทเป‰เบ™เป€เบกเบทเบญเบ‡. เปƒเบ™เบšเบฑเบ™เบ”เบฒเป€เบ›เบปเป‰เบฒเบซเบกเบฒเบเบ•เบปเป‰เบ™เบ•เปเบ‚เบญเบ‡ WebAssembly เปเบกเปˆเบ™เบเบฒเบ™เบฎเบฑเบšเบ›เบฐเบเบฑเบ™เบเบฒเบ™เป€เบ„เบทเปˆเบญเบ™เบ—เบตเปˆ, เบžเบถเบ”เบ•เบดเบเปเบฒเบ—เบตเปˆเบ„เบฒเบ”เป€เบ”เบปเบฒเป„เบ”เป‰เปเบฅเบฐเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบฅเบฐเบซเบฑเบ”เบ”เบฝเบงเบเบฑเบ™เปƒเบ™เป€เบงเบ—เบตเบ•เปˆเบฒเบ‡เป†.

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: opennet.ru

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™