Mozilla, Fastly, Intel рд░ Red Hat рд▓реЗ WebAssembly рд▓рд╛рдИ рд╡рд┐рд╢реНрд╡рд╡реНрдпрд╛рдкреА рдкреНрд░рдпреЛрдЧрдХреЛ рд▓рд╛рдЧрд┐ рдкреНрд▓реЗрдЯрдлрд░реНрдордХреЛ рд░реВрдкрдорд╛ рдкреНрд░рд╡рд░реНрджреНрдзрди рдЧрд░реНрджрдЫ

рдореЛрдЬрд┐рд▓рд╛, рдлрд╛рд╕реНрдЯрд▓реА, рдЗрдВрдЯреЗрд▓ рд░ рд░реЗрдб рд╣реНрдпрд╛рдЯ рд╕рдВрдпреБрдХреНрдд рдХреБрдиреИ рдкрдирд┐ рдкреВрд░реНрд╡рд╛рдзрд╛рд░, рдЕрдкрд░реЗрдЯрд┐рдЩ рд╕рд┐рд╕реНрдЯрдо рд╡рд╛ рдпрдиреНрддреНрд░рдорд╛ рд╕реБрд░рдХреНрд╖рд┐рдд рдХреЛрдб рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдирдХреЛ рд▓рд╛рдЧрд┐ WebAssembly рд▓рд╛рдИ рд╡рд┐рд╢реНрд╡рд╡реНрдпрд╛рдкреА рдкреНрд▓реЗрдЯрдлрд░реНрдо рдмрдирд╛рдЙрди рдорджреНрджрдд рдЧрд░реНрдиреЗ рдкреНрд░рд╡рд┐рдзрд┐рд╣рд░реВ рд╡рд┐рдХрд╛рд╕ рдЧрд░реНрдирдХрд╛ рд▓рд╛рдЧрд┐ рдпрд╕рдХреЛ рдкреНрд░рдпрд╛рд╕рд╣рд░реВред рд░рдирдЯрд╛рдЗрдо рд░ рдХрдореНрдкрд╛рдЗрд▓рд░рд╣рд░реВрдХреЛ рд╕рдВрдпреБрдХреНрдд рд╡рд┐рдХрд╛рд╕рдХреЛ рд▓рд╛рдЧрд┐ рдПрдЙрдЯрд╛ рд╕рдореБрджрд╛рдп рдЧрдарди рдЧрд░рд┐рдПрдХреЛ рдЫ рдЬрд╕рд▓реЗ рд╡реЗрдм рдмреНрд░рд╛рдЙрдЬрд░рд╣рд░реВрдорд╛ рдорд╛рддреНрд░ рд╣реЛрдЗрди WebAssembly рдХреЛ рдкреНрд░рдпреЛрдЧрд▓рд╛рдИ рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫред рдмрд╛рдЗрдЯрдХреЛрдб рдЧрдардмрдиреНрдзрди.

WebAssembly рдврд╛рдБрдЪрд╛рдорд╛ рдбреЗрд▓рд┐рднрд░ рдЧрд░рд┐рдПрдХрд╛ рдкреЛрд░реНрдЯреЗрдмрд▓ рдкреНрд░реЛрдЧреНрд░рд╛рдорд╣рд░реВ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрди рдЬреБрди рдмреНрд░рд╛рдЙрдЬрд░ рдмрд╛рд╣рд┐рд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫ, рд╣рд╛рдореА API рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕реБрдЭрд╛рд╡ рджрд┐рдиреНрдЫреМрдВред рд╡рд╛рд╕реА (WebAssembly рдкреНрд░рдгрд╛рд▓реА рдЗрдиреНрдЯрд░рдлреЗрд╕), рдЬрд╕рд▓реЗ рдЕрдкрд░реЗрдЯрд┐рдЩ рд╕рд┐рд╕реНрдЯрдорд╕рдБрдЧ рдкреНрд░рддреНрдпрдХреНрд╖ рдЕрдиреНрддрд░рдХреНрд░рд┐рдпрд╛рдХреЛ рд▓рд╛рдЧрд┐ рд╕рдлреНрдЯрд╡реЗрдпрд░ рдЗрдиреНрдЯрд░рдлреЗрд╕рд╣рд░реВ рдкреНрд░рджрд╛рди рдЧрд░реНрджрдЫ (рдлрд╛рдЗрд▓, рд╕рдХреЗрдЯ, рдЖрджрд┐рд╕рдБрдЧ рдХрд╛рдо рдЧрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐ POSIX API)ред WASI рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╣рд░реВрдХреЛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдореЛрдбреЗрд▓рдХреЛ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╡рд┐рд╢реЗрд╖рддрд╛ рднрдиреЗрдХреЛ рддрд┐рдиреАрд╣рд░реВ рдореБрдЦреНрдп рдкреНрд░рдгрд╛рд▓реАрдмрд╛рдЯ рдЕрд▓рдЧрд╛рд╡рдХреЛ рд▓рд╛рдЧрд┐ рд╕реНрдпрд╛рдиреНрдбрдмрдХреНрд╕ рд╡рд╛рддрд╛рд╡рд░рдгрдорд╛ рдЪрд▓реНрдЫрдиреН рд░ рдкреНрд░рддреНрдпреЗрдХ рд╕реНрд░реЛрдд (рдлрд╛рдЗрд▓, рдбрд╛рдЗрд░реЗрдХреНрдЯрд░реАрд╣рд░реВ, рд╕рдХреЗрдЯрд╣рд░реВ, рдкреНрд░рдгрд╛рд▓реА рдХрд▓рд╣рд░реВ) рд╕рдБрдЧ рдХрд╛рд░реНрдпрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдХреНрд╖рдорддрд╛ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдирдорд╛ рдЖрдзрд╛рд░рд┐рдд рд╕реБрд░рдХреНрд╖рд╛ рд╕рдВрдпрдиреНрддреНрд░ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдЫрдиреНред , рдЖрджрд┐) рдЕрдиреБрдкреНрд░рдпреЛрдЧрд▓рд╛рдИ рдЙрдкрдпреБрдХреНрдд рдЕрдиреБрдорддрд┐рд╣рд░реВ рджрд┐рдЗрдиреБ рдкрд░реНрдЫ (рдШреЛрд╖рд┐рдд рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛рдорд╛ рдорд╛рддреНрд░ рдкрд╣реБрдБрдЪ рдкреНрд░рджрд╛рди рдЧрд░рд┐рдПрдХреЛ рдЫ)ред

рдордзреНрдпреЗрдХреЛ рдПрдЙрдЯрд╛ рд▓рдХреНрд╖реНрдпрд╣рд░реВ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░рд┐рдПрдХреЛ рдЧрдардмрдиреНрдзрди рдареВрд▓реЛ рд╕рдВрдЦреНрдпрд╛рдорд╛ рдирд┐рд░реНрднрд░рддрд╛рдХрд╛ рд╕рд╛рде рдЖрдзреБрдирд┐рдХ рдореЛрдбреНрдпреБрд▓рд░ рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╣рд░реВ рд╡рд┐рддрд░рдг рдЧрд░реНрдиреЗ рд╕рдорд╕реНрдпрд╛рдХреЛ рд╕рдорд╛рдзрд╛рди рд╣реЛред рддреНрдпрд╕реНрддрд╛ рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╣рд░реВрдорд╛, рдкреНрд░рддреНрдпреЗрдХ рдирд┐рд░реНрднрд░рддрд╛ рдЬреЛрдЦрд┐рдо рд╡рд╛ рдЖрдХреНрд░рдордгрд╣рд░реВрдХреЛ рд╕рдореНрднрд╛рд╡рд┐рдд рд╕реНрд░реЛрдд рд╣реБрди рд╕рдХреНрдЫред рдирд┐рд░реНрднрд░рддрд╛рдХреЛ рдирд┐рдпрдиреНрддреНрд░рдгрд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ рдпрд╕рд╕рдБрдЧ рд╕рдореНрдмрдиреНрдзрд┐рдд рд╕рдмреИ рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╣рд░реВрдХреЛ рдирд┐рдпрдиреНрддреНрд░рдг рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫред рдПрдкреНрд▓рд┐рдХреЗрд╕рдирдорд╛ рд╡рд┐рд╢реНрд╡рд╛рд╕рд▓реЗ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдкрдорд╛ рд╕рдмреИ рдирд┐рд░реНрднрд░рддрд╛рд╣рд░реВрдорд╛ рд╡рд┐рд╢реНрд╡рд╛рд╕рд▓рд╛рдИ рд╕рдВрдХреЗрдд рдЧрд░реНрджрдЫ, рддрд░ рдирд┐рд░реНрднрд░рддрд╛рд╣рд░реВ рдкреНрд░рд╛рдпрдГ рддреЗрд╕реНрд░реЛ-рдкрдХреНрд╖ рдЯреЛрд▓реАрд╣рд░реВрджреНрд╡рд╛рд░рд╛ рд╡рд┐рдХрд╕рд┐рдд рд░ рдорд░реНрдордд рдЧрд░рд┐рдиреНрдЫ рдЬрд╕рдХрд╛ рдЧрддрд┐рд╡рд┐рдзрд┐рд╣рд░реВ рдирд┐рдпрдиреНрддреНрд░рдг рдЧрд░реНрди рд╕рдХрд┐рдБрджреИрдиред рдмрд╛рдЗрдЯрдХреЛрдб рдЧрдардмрдиреНрдзрди рд╕рджрд╕реНрдпрд╣рд░реВрд▓реЗ WebAssembly рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╣рд░реВрдХреЛ рд╕реБрд░рдХреНрд╖рд┐рдд рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдирдХреЛ рд▓рд╛рдЧрд┐ рдПрдХ рд╕рдордЧреНрд░ рд╕рдорд╛рдзрд╛рди рдкреНрд░рджрд╛рди рдЧрд░реНрди рдЪрд╛рд╣рдиреНрдЫрдиреН рдЬреБрди рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдкрдорд╛ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рдЫреИрдирдиреНред

рд╕реБрд░рдХреНрд╖рд╛рдХреЛ рд▓рд╛рдЧрд┐, рдпреЛ рдиреНрдпрд╛рдиреЛрдкреНрд░реЛрд╕реЗрд╕рдХреЛ рдЕрд╡рдзрд╛рд░рдгрд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рдкреНрд░рд╕реНрддрд╛рд╡ рдЧрд░рд┐рдПрдХреЛ рдЫ, рдЬрд╕рдорд╛ рдкреНрд░рддреНрдпреЗрдХ рдирд┐рд░реНрднрд░рддрд╛ рдореЛрдбреНрдпреБрд▓рд▓рд╛рдИ рдЫреБрдЯреНрдЯреИ рдкреГрдердХ WebAssembly рдореЛрдбреНрдпреБрд▓рдорд╛ рд╡рд┐рднрд╛рдЬрди рдЧрд░рд┐рдПрдХреЛ рдЫ, рдЬрд╕рдХреЛ рд╢рдХреНрддрд┐рд╣рд░реВ рдпрд╕ рдореЛрдбреНрдпреБрд▓рдХреЛ рд╕рдореНрдмрдиреНрдзрдорд╛ рдорд╛рддреНрд░ рд╕реЗрдЯ рдЧрд░рд┐рдПрдХреЛ рдЫ (рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рд╕реНрдЯреНрд░рд┐рдЩрд╣рд░реВ рдкреНрд░рд╢реЛрдзрди рдЧрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╣реБрдиреЗрдЫреИрдиред рдиреЗрдЯрд╡рд░реНрдХ рд╕рдХреЗрдЯ рд╡рд╛ рдлрд╛рдЗрд▓ рдЦреЛрд▓реНрди рд╕рдХреНрд╖рдо рд╣реБрдиреБрд╣реЛрд╕реН)ред рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╡рд┐рднрд╛рдЬрдирдХреЛ рд╡рд┐рдкрд░реАрдд, WebAssembly рд╣реНрдпрд╛рдиреНрдбрд▓рд░рд╣рд░реВ рд╣рд▓реНрдХрд╛ рд╣реБрдиреНрдЫрдиреН рд░ рд▓рдЧрднрдЧ рдХреБрдиреИ рдЕрддрд┐рд░рд┐рдХреНрдд рд╕реНрд░реЛрддрд╣рд░реВрдХреЛ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдкрд░реНрджреИрди - рд╣реНрдпрд╛рдиреНрдбрд▓рд░рд╣рд░реВ рдмреАрдЪрдХреЛ рдЕрдиреНрддрд░рдХреНрд░рд┐рдпрд╛ рд╕рд╛рдзрд╛рд░рдг рдкреНрд░рдХрд╛рд░реНрдпрд╣рд░реВ рдХрд▓ рдЧрд░реНрдиреБ рднрдиреНрджрд╛ рдзреЗрд░реИ рдврд┐рд▓реЛ рд╣реБрдБрджреИрдиред рд╡рд┐рднрд╛рдЬрди рд╡реНрдпрдХреНрддрд┐рдЧрдд рдореЛрдбреНрдпреБрд▓рд╣рд░реВрдХреЛ рд╕реНрддрд░рдорд╛ рдорд╛рддреНрд░ рд╣реЛрдЗрди, рддрд░ рдореЛрдбреНрдпреБрд▓рд╣рд░реВрдХреЛ рд╕рдореВрд╣рдХреЛ рд╕реНрддрд░рдорд╛ рдкрдирд┐ рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫ, рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рд╕рд╛рдЭрд╛ рдореЗрдореЛрд░реА рдХреНрд╖реЗрддреНрд░рд╣рд░реВрд╕рдБрдЧ рдХрд╛рдо рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫред

рдЕрдиреБрд░реЛрдз рдЧрд░рд┐рдПрдХрд╛ рд╢рдХреНрддрд┐рд╣рд░реВ рджреБрд╡реИ рдирд┐рд░реНрднрд░рддрд╛рдХреЛ рд╕реНрддрд░рдорд╛ рдирд┐рд░реНрдзрд╛рд░рдг рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫ рд░ рдЕрднрд┐рднрд╛рд╡рдХ рдореЛрдбреНрдпреБрд▓рд╣рд░реВ (WASI рдорд╛ рд╕реНрд░реЛрддрд╣рд░реВ рд╡рд┐рд╢реЗрд╖ рдкреНрд░рдХрд╛рд░рдХреЛ рдлрд╛рдЗрд▓ рд╡рд░реНрдгрдирдХрд░реНрддрд╛ - рдХреНрд╖рдорддрд╛рд╕рдБрдЧ рд╕рдореНрдмрдиреНрдзрд┐рдд рдЫрдиреН) рджреНрд╡рд╛рд░рд╛ рдЪреЗрдирд╕рдБрдЧреИ рдирд┐рд░реНрднрд░рддрд╛рд╣рд░реВрд▓рд╛рдИ рдкреНрд░рддреНрдпрд╛рдпреЛрдЬрд┐рдд рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫред рдЙрджрд╛рд╣рд░рдг рдХреЛ рд▓рд╛рдЧреА, рдПрдХ рдореЛрдбреНрдпреБрд▓ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдбрд╛рдЗрд░реЗрдХреНрдЯрд░реА рд░ рдкреНрд░рдгрд╛рд▓реА рдХрд▓ рдкрд╣реБрдБрдЪ рдЧрд░реНрдиреЗ рдХреНрд╖рдорддрд╛ рдкреНрд░рддреНрдпрд╛рдпреЛрдЬрд┐рдд рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫ, рд░ рдпрджрд┐ рдореЛрдбреНрдпреБрд▓рдХреЛ рд╡рд┐рдХрд╛рд╕ рдкреВрд░реНрд╡рд╛рдзрд╛рд░ рд╕рдореНрдЭреМрддрд╛ рдЧрд░рд┐рдПрдХреЛ рдЫ рд╡рд╛ рдПрдХ рдЬреЛрдЦрд┐рдо рдкрд╣рд┐рдЪрд╛рди рдЧрд░рд┐рдПрдХреЛ рдЫ, рдПрдХ рдЖрдХреНрд░рдордг рдХреЛ рд╕рдордпрдорд╛, рдкрд╣реБрдБрдЪ рдпреА рд╕реНрд░реЛрддрд╣рд░реВрдорд╛ рдорд╛рддреНрд░ рд╕реАрдорд┐рдд рд╣реБрдиреЗрдЫред рдореЛрдбреНрдпреБрд▓ рд╕рд┐рд░реНрдЬрдирд╛рдХрд░реНрддрд╛рд╣рд░реВрджреНрд╡рд╛рд░рд╛ рд╕реНрд░реЛрдд рдШреЛрд╖рдгрд╛рд╣рд░реВ рд╕рдВрджрд┐рдЧреНрдз рдЧрддрд┐рд╡рд┐рдзрд┐рдХреЛ рд╕реВрдЪрдХ рд╣реБрди рд╕рдХреНрдЫ, рдЬрд╕реНрддреИ рдЬрдм рдкрд╛рда рдкреНрд░рд╢реЛрдзрди рдореЛрдбреНрдпреБрд▓рд▓реЗ рдиреЗрдЯрд╡рд░реНрдХ рдЬрдбрд╛рди рдЦреЛрд▓реНрди рдЕрдиреБрдорддрд┐ рдЕрдиреБрд░реЛрдз рдЧрд░реНрдЫред рдкреНрд░рд╛рд░рдореНрднрд┐рдХ рд░реВрдкрдорд╛ рд╕реЗрдЯ рдЧрд░рд┐рдПрдХрд╛ рдЕрдиреБрдорддрд┐рд╣рд░реВ рдЬрд╛рдБрдЪ рдЧрд░рд┐рдиреНрдЫ рд░ рдпрджрд┐ рддрд┐рдиреАрд╣рд░реВ рдкрд░рд┐рд╡рд░реНрддрди рд╣реБрдиреНрдЫрдиреН рднрдиреЗ, рд╕реНрдерд╛рдиреАрдп рдореЛрдбреНрдпреБрд▓ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдЕрджреНрдпрд╛рд╡рдзрд┐рдХ рдирднрдПрд╕рдореНрдо рдирд┐рд░реНрднрд░рддрд╛ рд▓реЛрдбрд┐рдЩ рдЕрд╕реНрд╡реАрдХрд╛рд░ рдЧрд░рд┐рдиреНрдЫред

рдмрд╛рдЗрдЯрдХреЛрдб рдЧрдардмрдиреНрдзрдирдХреЛ рд╢рд╛рдЦрд╛ рдЕрдиреНрддрд░реНрдЧрдд рд╕рдВрдпреБрдХреНрдд рд╡рд┐рдХрд╛рд╕рдХреЛ рд▓рд╛рдЧрд┐ рдЕрдиреБрд╡рд╛рдж рдзреЗрд░реИ WebAssembly рд╕рдореНрдмрдиреНрдзрд┐рдд рдкрд░рд┐рдпреЛрдЬрдирд╛рд╣рд░реВ, рдкрд╣рд┐рд▓реЗ рдЕрд▓рдЧ рдЧрдардмрдиреНрдзрди рд╕рдВрд╕реНрдерд╛рдкрдХ рдХрдореНрдкрдиреАрд╣рд░реБ рджреНрд╡рд╛рд░рд╛ рд╡рд┐рдХрд╕рд┐рдд:

  • рд╡рд╛рд╕рдордЯрд╛рдЗ тАФ рдирд┐рдпрдорд┐рдд рд╕реНрдЯреНрдпрд╛рдиреНрдб-рдЕрд▓реЛрди рдПрдкреНрд▓рд┐рдХреЗрд╕рдирд╣рд░реВрдХреЛ рд░реВрдкрдорд╛ WASI рд╡рд┐рд╕реНрддрд╛рд░рд╣рд░реВрд╕рдБрдЧ WebAssembly рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╣рд░реВ рдЪрд▓рд╛рдЙрдирдХреЛ рд▓рд╛рдЧрд┐ рд░рдирдЯрд╛рдЗрдоред рдпрд╕рд▓реЗ рджреБрдмреИрд▓рд╛рдИ рд╕рдорд░реНрдерди рдЧрд░реНрджрдЫ WebAssembly bytecode рд▓рд╛рдИ рд╡рд┐рд╢реЗрд╖ рдХрдорд╛рдгреНрдб рд▓рд╛рдЗрди рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рд░ рд░реЗрдбрд┐рдореЗрдб рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдирдпреЛрдЧреНрдп рдлрд╛рдЗрд▓рд╣рд░реВ рд▓рд┐рдВрдХ рдЧрд░реНрдиреЗ (wasmtime рд▓рд╛рдИрдмреНрд░реЗрд░реАрдХреЛ рд░реВрдкрдорд╛ рдЕрдиреБрдкреНрд░рдпреЛрдЧрдорд╛ рдирд┐рд░реНрдорд┐рдд рдЫ)ред Wasmtime рд╕рдБрдЧ рд▓рдЪрд┐рд▓реЛ рдореЛрдбреНрдпреБрд▓рд░ рд╕рдВрд░рдЪрдирд╛ рдЫ рдЬрд╕рд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ рд╡рд┐рднрд┐рдиреНрди рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рд░рдирдЯрд╛рдЗрдо рдорд╛рдкрди рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫ, рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рддрдкрд╛рдИрдВ рд╕реАрдорд┐рдд рд╕реНрд░реЛрддрд╣рд░реВ рднрдПрдХрд╛ рдпрдиреНрддреНрд░рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рд╕реНрдЯреНрд░рд┐рдк-рдбрд╛рдЙрди рд╕рдВрд╕реНрдХрд░рдг рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ;
  • рд▓реБрд╕реЗрдЯ - WebAssembly рдврд╛рдБрдЪрд╛рдорд╛ рдХрд╛рд░реНрдпрдХреНрд░рдорд╣рд░реВ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЧрд░реНрди рдХрдореНрдкрд╛рдЗрд▓рд░ рд░ рд░рдирдЯрд╛рдЗрдоред рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕реБрд╡рд┐рдзрд╛ рд▓реБрд╕реЗрдЯ рднрдиреЗрдХреЛ рдкреНрд░рддреНрдпрдХреНрд╖ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдирдХреЛ рд▓рд╛рдЧрд┐ рдЙрдкрдпреБрдХреНрдд рдореЗрд╕рд┐рди рдХреЛрдбрдорд╛ JIT рдХреЛ рд╕рдЯреНрдЯрд╛ рдкреВрд░реНрдг-рдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рд╕рдВрдХрд▓рди (AOT, рдЕрдЧрд╛рдбреА-рдЕрдл-рдЯрд╛рдЗрдо) рдХреЛ рдкреНрд░рдпреЛрдЧ рд╣реЛред рдкрд░рд┐рдпреЛрдЬрдирд╛ рдлрд╛рд╕реНрдЯрд▓реА рджреНрд╡рд╛рд░рд╛ рд╡рд┐рдХрд╕рд┐рдд рдЧрд░рд┐рдПрдХреЛ рдерд┐рдпреЛ рд░ рдиреНрдпреВрдирддрдо рд╕реНрд░реЛрддрд╣рд░реВ рдЙрдкрднреЛрдЧ рдЧрд░реНрди рд░ рдирдпрд╛рдБ рдЙрджрд╛рд╣рд░рдгрд╣рд░реВ рдзреЗрд░реИ рдЪрд╛рдБрдбреИ рд╕реБрд░реБ рдЧрд░реНрди рдЕрдиреБрдХреВрд▓рд┐рдд рдЧрд░рд┐рдПрдХреЛ рдЫ (рдкреНрд░рддреНрдпреЗрдХ рдЕрдиреБрд░реЛрдзрдорд╛ рд╕реБрд░реБ рдЧрд░рд┐рдПрдХреЛ рд╣реНрдпрд╛рдиреНрдбрд▓рд░рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рд╡реЗрдмрдЕрд╕реЗрдореНрдмрд▓реА рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреЗ рдХреНрд▓рд╛рдЙрдб рдПрдЬ рдХрдореНрдкреНрдпреБрдЯрд┐рдЩ рдЗрдиреНрдЬрд┐рдирдорд╛ рджреНрд░реБрдд рд░реВрдкрдорд╛ рд▓реБрд╕реЗрдЯ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджрдЫ)ред рд╕рдВрдпреБрдХреНрдд рдкрд░рд┐рдпреЛрдЬрдирд╛рдХреЛ рднрд╛рдЧрдХреЛ рд░реВрдкрдорд╛, рд▓реБрд╕реЗрдЯ рдХрдореНрдкрд╛рдЗрд▓рд░рд▓рд╛рдИ рдЖрдзрд╛рд░рдХреЛ рд░реВрдкрдорд╛ Wasmtime рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд░реВрдкрд╛рдиреНрддрд░рдг рдЧрд░реНрдиреЗ рдпреЛрдЬрдирд╛ рдЫ;
  • WAMR (WebAssembly рдорд╛рдЗрдХреНрд░реЛ рд░рдирдЯрд╛рдЗрдо) WebAssembly рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЧрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐ рдЕрд░реНрдХреЛ рд░рдирдЯрд╛рдЗрдо рд╣реЛ, рдореВрд▓ рд░реВрдкрдорд╛ рдЗрдиреНрдЯрд░рдиреЗрдЯ рдЕрдл рдерд┐рдВрдЧреНрд╕ рдЙрдкрдХрд░рдгрд╣рд░реВрдорд╛ рдкреНрд░рдпреЛрдЧрдХреЛ рд▓рд╛рдЧрд┐ Intel рджреНрд╡рд╛рд░рд╛ рд╡рд┐рдХрд╕рд┐рдд рдЧрд░рд┐рдПрдХреЛред WAMR рдиреНрдпреВрдирддрдо рд╕реНрд░реЛрдд рдЦрдкрддрдХреЛ рд▓рд╛рдЧрд┐ рдЕрдиреБрдХреВрд▓рд┐рдд рдЫ рд░ RAM рдХреЛ рд╕рд╛рдиреЛ рдорд╛рддреНрд░рд╛ рд╕рдВрдЧ рдЙрдкрдХрд░рдгрд╣рд░реВрдорд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫред рдкрд░рд┐рдпреЛрдЬрдирд╛рдорд╛ тАЛтАЛWebAssembly bytecode, API (Libc рдХреЛ рдПрдХ рдЙрдкрд╕рдореВрд╣) рд░ рдЧрддрд┐рд╢реАрд▓ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдирдХрд╛ рд▓рд╛рдЧрд┐ рдЙрдкрдХрд░рдгрд╣рд░реВ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЧрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐ рдПрдХ рджреЛрднрд╛рд╖реЗ рд░ рднрд░реНрдЪреБрдЕрд▓ рдореЗрд╕рд┐рди рд╕рдорд╛рд╡реЗрд╢ рдЫ;
  • рдХреНрд░реЗрдирд▓рд┐рдлреНрдЯ тАФ рдПрдХ рдХреЛрдб рдЬрдирд░реЗрдЯрд░ рдЬрд╕рд▓реЗ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░рд╣рд░реВрдмрд╛рдЯ рд╕реНрд╡рддрдиреНрддреНрд░ рдордзреНрдпрд╡рд░реНрддреА рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡рд▓рд╛рдИ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдкреНрд▓реЗрдЯрдлрд░реНрдорд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдпреЛрдЧреНрдп рдореЗрд╕рд┐рди рдХреЛрдбрдорд╛ рдЕрдиреБрд╡рд╛рдж рдЧрд░реНрджрдЫред рдХреНрд░реЗрдирд▓рд┐рдлреНрдЯрд▓реЗ рдзреЗрд░реИ рдЫрд┐рдЯреЛ рдкрд░рд┐рдгрд╛рдо рдЙрддреНрдкрд╛рджрдирдХреЛ рд▓рд╛рдЧрд┐ рдкреНрд░рдХрд╛рд░реНрдп рд╕рдВрдХрд▓рдирдХреЛ рд╕рдорд╛рдирд╛рдиреНрддрд░рд▓рд╛рдИ рд╕рдорд░реНрдерди рдЧрд░реНрджрдЫ, рдЬрд╕рд▓реЗ рдпрд╕рд▓рд╛рдИ JIT рдХрдореНрдкрд╛рдЗрд▓рд░рд╣рд░реВ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрди рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫ (Cranelift-рдЖрдзрд╛рд░рд┐рдд JIT Wasmtime рднрд░реНрдЪреБрдЕрд▓ рдореЗрд╕рд┐рдирдорд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреНрдЫ);
  • WASI рд╕рд╛рдорд╛рдиреНрдп - рдЕрдкрд░реЗрдЯрд┐рдЩ рд╕рд┐рд╕реНрдЯрдорд╕рдБрдЧ рдЕрдиреНрддрд░рдХреНрд░рд┐рдпрд╛ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдЧрд░реНрдирдХрд╛ рд▓рд╛рдЧрд┐ WASI (WebAssembly System Interface) API рдХреЛ рдЫреБрдЯреНрдЯреИ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди;
  • рдХрд╛рд░реНрдЧреЛ-рд╡рд╛рд╕реА тАФ рдХрд╛рд░реНрдЧреЛ рдкреНрдпрд╛рдХреЗрдЬ рдкреНрд░рдмрдиреНрдзрдХрдХреЛ рд▓рд╛рдЧрд┐ рдПрдЙрдЯрд╛ рдореЛрдбреНрдпреБрд▓ рдЬрд╕рд▓реЗ рдмреНрд░рд╛рдЙрдЬрд░ рдмрд╛рд╣рд┐рд░ WebAssembly рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐ WASI рдЗрдиреНрдЯрд░рдлреЗрд╕ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ WebAssembly bytecode рдорд╛ рд░рд╕реНрдЯ рдХреЛрдб рдХрдореНрдкрд╛рдЗрд▓ рдЧрд░реНрди рдЖрджреЗрд╢ рд▓рд╛рдЧреВ рдЧрд░реНрджрдЫ;
  • wat ╨╕ wasmparser тАФ рдкрд╛рд░реНрд╕рд┐рдЩ рдЯреЗрдХреНрд╕реНрдЯ (WAT, WAST) рд░ WebAssembly bytecode рдХреЛ рдмрд╛рдЗрдирд░реА рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡рдХрд╛ рд▓рд╛рдЧрд┐ рдкрд╛рд░реНрд╕рд░рд╣рд░реВред

рд░рд┐рдХреНрдпрд╛рдк рдЧрд░реНрди, WebAssembly рдзреЗрд░реИ Asm.js рдЬрд╕реНрддреИ рдЫ, рддрд░ рдлрд░рдХ рдЫ рдпрд╕рдорд╛ рдпреЛ рдмрд╛рдЗрдирд░реА рдврд╛рдБрдЪрд╛ рд╣реЛ рдЬреБрди рдЬрд╛рднрд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯрдорд╛ рдмрд╛рдБрдзрд┐рдПрдХреЛ рдЫреИрди рд░ рд╡рд┐рднрд┐рдиреНрди рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдЩ рднрд╛рд╖рд╛рд╣рд░реВрдмрд╛рдЯ рдХрдореНрдкрд╛рдЗрд▓ рдЧрд░рд┐рдПрдХреЛ рдирд┐рдореНрди-рд╕реНрддрд░ рдордзреНрдпрд╡рд░реНрддреА рдХреЛрдбрд▓рд╛рдИ рдмреНрд░рд╛рдЙрдЬрд░рдорд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫред WebAssembly рд▓рд╛рдИ рдлреЛрд╣реЛрд░ рд╕рдВрдХрд▓рдирдХрд░реНрддрд╛рдХреЛ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдкрд░реНрджреИрди рдХрд┐рдирднрдиреЗ рдпрд╕рд▓реЗ рд╕реНрдкрд╖реНрдЯ рдореЗрдореЛрд░реА рд╡реНрдпрд╡рд╕реНрдерд╛рдкрди рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджрдЫред WebAssembly рдХреЛ рд▓рд╛рдЧреА JIT рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░, рддрдкрд╛рдЗрдБ рдиреЗрдЯрд┐рдн рдХреЛрдб рдХреЛ рдирдЬрд┐рдХ рдкреНрд░рджрд░реНрд╢рди рд╕реНрддрд░ рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред WebAssembly рдХреЛ рдореБрдЦреНрдп рд▓рдХреНрд╖реНрдпрд╣рд░реВ рдордзреНрдпреЗ рдкреЛрд░реНрдЯреЗрдмрд┐рд▓рд┐рдЯреА, рдЕрдиреБрдорд╛рдирд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░ рд░ рд╡рд┐рднрд┐рдиреНрди рдкреНрд▓реЗрдЯрдлрд░реНрдорд╣рд░реВрдорд╛ рд╕рдорд╛рди рдХреЛрдб рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдЧрд░реНрдиреБ рд╣реЛред

рд╕реНрд░реЛрдд: opennet.ru

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдердкреНрди