Yew рд░рд┐рдПрдХреНрдЯ рдФрд░ рдПрд▓реНрдо рдХрд╛ рдПрдХ рдПрдирд╛рд▓реЙрдЧ рд╣реИ, рдЬреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд░рд╕реНрдЯ рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдПрдХ рдИрдорд╛рдирджрд╛рд░ WebAssembly рдореЗрдВ рд╕рдВрдХрд▓рд┐рдд рд╣реИред рд▓реЗрдЦ рдореЗрдВ, рдбреЗрдирд┐рд╕ рдХреЛрд▓реЛрдбрд┐рди, рдпреВ рдбреЗрд╡рд▓рдкрд░, рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдЖрдк рдХреИрд╕реЗ рд░рд╕реНрдЯ рдбреЗрдЯрд╛ рдХреЗ рд╕реНрд╡рд╛рдорд┐рддреНрд╡ рдХреЗ рдирд┐рдпрдореЛрдВ рдХреЗ рдХрд╛рд░рдг рд░рд╛рдЬреНрдп рдХреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рдмрд┐рдирд╛, рдХрдЪрд░рд╛ рдХрд▓реЗрдХреНрдЯрд░ рдХреЗ рдмрд┐рдирд╛ рдПрдХ рдлреНрд░реЗрдорд╡рд░реНрдХ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдкреНрд░рднрд╛рд╡реА рд░реВрдк рд╕реЗ рдЕрдкрд░рд┐рд╡рд░реНрддрдиреАрдп рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рд░реБрд╕ рдХреЛ рд╡реЗрдмрдПрд╕реНрдкреНрд░реЗрд╕ рдореЗрдВ рдЕрдиреБрд╡рд╛рдж рдХрд░рдиреЗ рдХреА рдХреНрдпрд╛ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рд╣реИрдВред
рд╣реЛрд▓реАрдЬрд╕ 2018 рдкрд╛рдЗрдЯрд░ рд╕рдореНрдореЗрд▓рди рдореЗрдВ рдбреЗрдирд┐рд╕ рдХреА рд░рд┐рдкреЛрд░реНрдЯ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдкреЛрд╕реНрдЯ рддреИрдпрд╛рд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рд░рд┐рдкреЛрд░реНрдЯ рдХреЗ рдХрдЯ - рд╡реАрдбрд┐рдпреЛ рдФрд░ рдЯреЗрдХреНрд╕реНрдЯ рдЯреНрд░рд╛рдВрд╕рдХреНрд░рд┐рдкреНрдЯ рдХреЗ рддрд╣рддредрдбреЗрдирд┐рд╕ рдХреЛрд▓реЛрдбрд┐рди рдмрд┐рдЯрдлрд╝реНрдпреВрд░реА рдЧреНрд░реБрдк рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдПрдХ рдХрдВрдкрдиреА рдЬреЛ рд╡рд┐рднрд┐рдиреНрди рдмреНрд▓реЙрдХрдЪреЗрди рд╕рдорд╛рдзрд╛рди рд╡рд┐рдХрд╕рд┐рдд рдХрд░рддреА рд╣реИред рдЕрдм рджреЛ рд╡рд░реНрд╖реЛрдВ рд╕реЗ, рдпрд╣ рд░реВрд╕реНрдЯ рдореЗрдВ рдХреЛрдбрд┐рдВрдЧ рдХрд░ рд░рд╣рд╛ рд╣реИ, рдЬреЛ рдореЛрдЬрд╝рд┐рд▓рд╛ рд░рд┐рд╕рд░реНрдЪ рдХреА рдПрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ рд╣реИред рдЗрд╕ рд╕рдордп рдХреЗ рджреМрд░рд╛рди, рдбреЗрдирд┐рд╕ рдЗрд╕ рднрд╛рд╖рд╛ рдХрд╛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрдзреНрдпрдпрди рдХрд░рдиреЗ рдФрд░ рд╡рд┐рднрд┐рдиреНрди рд╕рд┐рд╕реНрдЯрдо рдПрдкреНрд▓рд┐рдХреЗрд╢рди, рдПрдХ рдмреИрдХрдПрдВрдб рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рдХрд╛рдордпрд╛рдм рд░рд╣реЗред рдЕрдм, WebAssembly рдорд╛рдирдХ рдХреЗ рдЖрдЧрдорди рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ, рдореИрдВрдиреЗ рд╕рд╛рдордиреЗ рдХреЗ рдЫреЛрд░ рдХреА рдУрд░ рджреЗрдЦрдирд╛ рд╢реБрд░реВ рдХрд┐рдпрд╛редрдХрд╛рд░реНрдпрд╕реВрдЪреА
рдЖрдЬ рд╣рдо рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдиреЗрдВрдЧреЗ рдХрд┐ рдпреЗрд╡ рдХреНрдпрд╛ рд╣реИ (рдлреНрд░реЗрдорд╡рд░реНрдХ рдХрд╛ рдирд╛рдо рдЕрдВрдЧреНрд░реЗрдЬреА рд╢рдмреНрдж "рдпреВ" - рдпреВ; рдпреВ "рдХреЗ рд╕рдорд╛рди рд╣реИ) рдЕрдВрдЧреНрд░реЗрдЬреА рд╕реЗ рдЕрдиреБрд╡рд╛рджрд┐рдд рдПрдХ рдпреВ рдЯреНрд░реА рд╣реИред
рдЖрдЗрдП рд╡рд╛рд╕реНрддреБ рд╕рдВрдмрдВрдзреА рдкрд╣рд▓реБрдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдереЛрдбрд╝рд╛ рдмрд╛рдд рдХрд░рддреЗ рд╣реИрдВ, рдЙрди рд╡рд┐рдЪрд╛рд░реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬреЛ рд░реВрдкрд░реЗрдЦрд╛ рдкрд░ рдирд┐рд░реНрдорд┐рдд рд╣реИрдВ, рдЙрди рд╕рдВрднрд╛рд╡рдирд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬреЛ рдЗрд╕рдореЗрдВ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рд╣реИрдВ, рд╕рд╛рде рд╣реА рд╕рд╛рде рдЙрди рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬреЛ рд░реБрд╕реНрдЯ рдЕрдиреНрдп рднрд╛рд╖рд╛рдУрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рд╣рдореЗрдВ рджреЗрддреА рд╣реИред
рдЕрдВрдд рдореЗрдВ, рдореИрдВ рдЖрдкрдХреЛ рджрд┐рдЦрд╛рддрд╛ рд╣реВрдВ рдХрд┐ рдЖрдЬ рдЖрдк Yew рдФрд░ WebAssembly рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рд╢реБрд░реВ рдХрд░реЗрдВред
рдЖрдк рдХреНрдпрд╛ рд╣реИрдВ?
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдпрд╣ WebAssembly рд╣реИ, рдЕрд░реНрдерд╛рддред рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдореЗрдВ рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдмрд╛рдпрдЯреЗрдХреЛрдбред рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА рдУрд░ рд╕реЗ рдЬрдЯрд┐рд▓ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХреНрд░рд┐рдкреНрдЯреЛрдЧреНрд░рд╛рдлреА, рдПрдиреНрдХреЛрдбрд┐рдВрдЧ / рдбрд┐рдХреЛрдбрд┐рдВрдЧред рдмреИрд╕рд╛рдЦреА рдкреЗрдВрдЪ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЗрд╕реЗ рд╕рд┐рд╕реНрдЯрдо рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИред
WebAssembly рдПрдХ рдорд╛рдирдХ рд╣реИ рдЬреЛ рд╕рднреА рдЖрдзреБрдирд┐рдХ рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рджреНрд╡рд╛рд░рд╛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд╡рд░реНрдгрд┐рдд, рд╕рдордЭрд╛ рдФрд░ рд╕рдорд░реНрдерд┐рдд рд╣реИред рдпрд╣ рдЖрдкрдХреЛ рд╡рд┐рднрд┐рдиреНрди рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдФрд░ рдпрд╣ рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рджрд┐рд▓рдЪрд╕реНрдк рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЖрдк рдЕрдиреНрдп рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ рд╕рдореБрджрд╛рдп рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдП рдЧрдП рдХреЛрдб рдХрд╛ рдкреБрди: рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдпрджрд┐ рдЖрдк рдЪрд╛рд╣реЗрдВ, рддреЛ рдЖрдк рдкреВрд░реА рддрд░рд╣ рд╕реЗ WebAssembly рдкрд░ рдПрдХ рдЖрд╡реЗрджрди рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ Yew рдЖрдкрдХреЛ рдРрд╕рд╛ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХрд┐ рдпрд╣ рди рднреВрд▓реЗрдВ рдХрд┐ рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рднреА, рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдмрдирд╛ рд░рд╣реЗред WebAssembly рддреИрдпрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИ - рдореЙрдбреНрдпреВрд▓ (WASM) рд▓реЗрдВ, рдЗрд╕рдореЗрдВ рдкрд░реНрдпрд╛рд╡рд░рдг рдЬреЛрдбрд╝реЗрдВ рдФрд░ рдЗрд╕реЗ рдЪрд▓рд╛рдПрдВред рдпрд╛рдиреА рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЕрдкрд░рд┐рд╣рд╛рд░реНрдп рд╣реИред рдЗрд╕рд▓рд┐рдП, WebAssembly рдЬреЗрдПрд╕ рдХреЗ рд▓рд┐рдП рдПрдХ рдХреНрд░рд╛рдВрддрд┐рдХрд╛рд░реА рд╡рд┐рдХрд▓реНрдк рдХреЗ рдмрдЬрд╛рдп рдПрдХ рд╡рд┐рд╕реНрддрд╛рд░ рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд┐рдЪрд╛рд░ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рд╣реИред
рдХреИрд╕рд╛ рд╡рд┐рдХрд╛рд╕ рджрд┐рдЦрддрд╛ рд╣реИ

рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рд╕реНрд░реЛрдд рд╣реИ, рдПрдХ рд╕рдВрдХрд▓рдХ рд╣реИред рдЖрдк рдЗрд╕ рд╕рднреА рдХреЛ рдПрдХ рджреНрд╡рд┐рдЖрдзрд╛рд░реА рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдЕрдиреБрд╡рд╛рдж рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ рдПрдХ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдЪрд▓рд╛рддреЗ рд╣реИрдВред рдпрджрд┐ WebAssembly рд╕рдорд░реНрдерди рдХреЗ рдмрд┐рдирд╛ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдкреБрд░рд╛рдирд╛ рд╣реИ, рддреЛ рдИрд╕реНрдорд┐рдкреНрдЯреЗрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдпрд╣, рдореЛрдЯреЗ рддреМрд░ рдкрд░, рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЗ рд▓рд┐рдП рдПрдХ WebAssembly рдПрдореБрд▓реЗрдЯрд░ рд╣реИред
Yew - wasm рдврд╛рдВрдЪреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░
рдЪрд▓рд┐рдП рдЖрдк рдХреБрдЫ рдирдпрд╛ рдХрд░рддреЗ рд╣реИрдВред рдореИрдВрдиреЗ рдЗрд╕ рдврд╛рдВрдЪреЗ рдХреЛ рдкрд┐рдЫрд▓реЗ рд╕рд╛рд▓ рдХреЗ рдЕрдВрдд рдореЗрдВ рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдпрд╛ рдерд╛ред рдлрд┐рд░ рдореИрдВрдиреЗ рдПрд▓реНрдо рдкрд░ рдХрд┐рд╕реА рддрд░рд╣ рдХреА рдХреНрд░рд┐рдкреНрдЯреЛрдХрд░реЗрдВрд╕реА рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд▓рд┐рдЦреА рдФрд░ рдЗрд╕ рддрдереНрдп рдХрд╛ рд╕рд╛рдордирд╛ рдХрд┐рдпрд╛ рдХрд┐ рднрд╛рд╖рд╛ рдкреНрд░рддрд┐рдмрдВрдзреЛрдВ рдХреЗ рдХрд╛рд░рдг рдореИрдВ рдПрдХ рдкреБрдирд░рд╛рд╡рд░реНрддреА рд╕рдВрд░рдЪрдирд╛ рдирд╣реАрдВ рдмрдирд╛ рд╕рдХрддрд╛ред рдФрд░ рдЙрд╕ рдкрд▓ рдореИрдВрдиреЗ рд╕реЛрдЪрд╛: рдЬрдВрдЧ рдореЗрдВ, рдореЗрд░реА рд╕рдорд╕реНрдпрд╛ рдмрд╣реБрдд рдЖрд╕рд╛рдиреА рд╕реЗ рд╣рд▓ рд╣реЛ рдЬрд╛рдПрдЧреАред рдФрд░ репреп% рдЬрдм рд╕реЗ рдореИрдВ рд░рд╕реНрдЯ рдореЗрдВ рд▓рд┐рдЦрддрд╛ рд╣реВрдВ рдФрд░ рд╕рд┐рд░реНрдл рдЗрд╕ рднрд╛рд╖рд╛ рдХреЛ рдЗрд╕рдХреЗ рдлреАрдЪрд░реНрд╕ рдХреЗ рд▓рд┐рдП рдкреНрдпрд╛рд░ рдХрд░рддрд╛ рд╣реВрдВ, рдореИрдВрдиреЗ рдкреНрд░рдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ - рд░рд╕реНрдЯ рдореЗрдВ рдПрдХ рд╣реА рдЕрдкрдбреЗрдЯ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд╕рд╛рде рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред
рдкрд╣рд▓реЗ рд╕реНрдХреЗрдЪ рдореЗрдВ рдореБрдЭреЗ рдХрдИ рдШрдВрдЯреЗ рд▓рдЧреЗ, рдореБрдЭреЗ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдирд╛ рдерд╛ рдХрд┐ WebAssembly рдХреЛ рдХреИрд╕реЗ рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПред рдореИрдВрдиреЗ рдЗрд╕реЗ рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдФрд░ рдорд╣рд╕реВрд╕ рдХрд┐рдпрд╛ рдХрд┐ рдХреБрдЫ рд╣реА рдШрдВрдЯреЛрдВ рдореЗрдВ рдЗрд╕рдиреЗ рдХреЛрд░ рдмрд┐рдЫрд╛ рджрд┐рдпрд╛, рдЬрд┐рд╕реЗ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдирд╛ рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реИред рдореБрдЭреЗ рдЗрд╕реЗ рдиреНрдпреВрдирддрдо рдлреНрд░реЗрдорд╡рд░реНрдХ рдЗрдВрдЬрди рдореЗрдВ рд▓рд╛рдиреЗ рдореЗрдВ рдмрд╕ рдХреБрдЫ рд╣реА рджрд┐рди рд▓рдЧреЗред
рдореИрдВрдиреЗ рдЗрд╕реЗ рдУрдкрди рд╕реЛрд░реНрд╕ рдореЗрдВ рдкреЛрд╕реНрдЯ рдХрд┐рдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдЗрд╕реЗ рд▓реЛрдХрдкреНрд░рд┐рдп рд╣реЛрдиреЗ рдХреА рдЙрдореНрдореАрдж рдирд╣реАрдВ рдереАред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЖрдЬ рдЙрдиреНрд╣реЛрдВрдиреЗ рдЧрд┐рдЯрд╣рдм рдкрд░ 4 рд╣рдЬрд╛рд░ рд╕реЗ рдЕрдзрд┐рдХ рд╕рд┐рддрд╛рд░реЛрдВ рдХреЛ рдПрдХрддреНрд░ рдХрд┐рдпрд╛ рд╣реИред рдЖрдк
рдпрд╣рд╛рдВ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рджреЗрдЦ рд╕рдХрддреЗ
рд╣реИрдВ ред рдХрдИ рдЙрджрд╛рд╣рд░рдг рд╣реИрдВред
рд░реВрдкрд░реЗрдЦрд╛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЬрдВрдЧ рдореЗрдВ рд▓рд┐рдЦреА рдЧрдИ рд╣реИред Yewcripten рдХреЗ рдмрд┐рдирд╛ рд╕реАрдзреЗ WebAssembly (wasm32- рдЕрдЬреНрдЮрд╛рдд-рдЕрдЬреНрдЮрд╛рдд рд▓рдХреНрд╖реНрдп) рдХреЗ рд╕рдВрдХрд▓рди рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ, рддреЛ рдЖрдк рдИрдорд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд╛рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░
рдЕрдм рдХреБрдЫ рд╢рдмреНрдж рдкрд╛рд░рдВрдкрд░рд┐рдХ рджреБрдирд┐рдпрд╛ рдореЗрдВ рдореМрдЬреВрдж рдкрд╛рд░рдВрдкрд░рд┐рдХ рджреГрд╖реНрдЯрд┐рдХреЛрдгреЛрдВ рд╕реЗ рдЕрд▓рдЧ рдХреИрд╕реЗ рд╣реИрдВ, рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рд╢рдмреНрджред
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдореИрдВ рдЖрдкрдХреЛ рдмрддрд╛рддрд╛ рд╣реВрдВ рдХрд┐ рдПрд▓реНрдо рдореЗрдВ рдореБрдЭреЗ рдХрд┐рди рднрд╛рд╖рд╛ рдкреНрд░рддрд┐рдмрдВрдзреЛрдВ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛ рд╣реИред рдПрдХ рдореЙрдбрд▓ рд╣реЛрдиреЗ рдкрд░ рдорд╛рдорд▓реЗ рдХреЛ рд▓реЗрдВ рдФрд░ рдПрдХ рд╕рдВрджреЗрд╢ рд╣реИ рдЬреЛ рдЖрдкрдХреЛ рдЗрд╕ рдореЙрдбрд▓ рдХреЛ рдмрджрд▓рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
type alias Model = { value : Int } type Msg = Increment | Decrement
case msg of Increment -> { value = model.value + 1 } Decrement -> { value = model.value - 1 }
рдПрд▓реНрдо рдореЗрдВ, рд╣рдо рдмрд╕ рдПрдХ рдирдпрд╛ рдореЙрдбрд▓ рдмрдирд╛рддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ рд╕реНрдХреНрд░реАрди рдкрд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддреЗ рд╣реИрдВред рдореЙрдбрд▓ рдХрд╛ рдкрд┐рдЫрд▓рд╛ рд╕рдВрд╕реНрдХрд░рдг рдЕрдкрд░рд┐рд╡рд░реНрддрд┐рдд рд░рд╣рддрд╛ рд╣реИред рдореИрдВ рдЗрд╕ рдкрд░ рдзреНрдпрд╛рди рдХреНрдпреЛрдВ рджреЗ рд░рд╣рд╛ рд╣реВрдВ? рдХреНрдпреЛрдВрдХрд┐ Yew рдореЗрдВ, рдореЙрдбрд▓ рдкрд░рд┐рд╡рд░реНрддрдирд╢реАрд▓ рд╣реИ, рдФрд░ рдпрд╣ рд╕рдмрд╕реЗ рдЖрдо рдкреНрд░рд╢реНрдиреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИред рдЖрдЧреЗ, рдореИрдВ рд╕рдордЭрд╛рдКрдВрдЧрд╛ рдХрд┐ рдРрд╕рд╛ рдХреНрдпреЛрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдкреНрд░рд╛рд░рдВрдн рдореЗрдВ, рдореИрдВрдиреЗ рдЙрд╕ рдореЙрдбрд▓ рдХрд╛ рдЕрдиреБрд╕рд░рдг рдХрд┐рдпрд╛ рдЬрдм рдореЙрдбрд▓ рдХреЛ рдлрд┐рд░ рд╕реЗ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ред рд▓реЗрдХрд┐рди рдЬреИрд╕рд╛ рдХрд┐ рдврд╛рдВрдЪрд╛ рд╡рд┐рдХрд╕рд┐рдд рд╣реБрдЖ, рдореИрдВрдиреЗ рджреЗрдЦрд╛ рдХрд┐ рдореЙрдбрд▓ рдХреЗ рдкрд┐рдЫрд▓реЗ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рдорддрд▓рдм рдирд╣реАрдВ рд╣реИред рдЬрдВрдЧ рдЖрдкрдХреЛ рд╕рднреА рдбреЗрдЯрд╛ рдХреЗ рдЬреАрд╡рдирдХрд╛рд▓ рдХреЛ рдЯреНрд░реИрдХ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдЪрд╛рд╣реЗ рд╡реЗ рд╕рдВрд╢реЛрдзрд┐рдд рд╣реЛрдВ рдпрд╛ рди рд╣реЛрдВред рдФрд░ рдЗрд╕рд▓рд┐рдП рдореИрдВ рдореЙрдбрд▓ рдХреЛ рд╕реБрд░рдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рдмрджрд▓ рд╕рдХрддрд╛ рд╣реВрдВ, рдпрд╣ рдЬрд╛рдирддреЗ рд╣реБрдП рдХрд┐ рдЬрдВрдЧ рд╕рдВрдШрд░реНрд╖ рдХреА рдЕрдиреБрдкрд╕реНрдерд┐рддрд┐ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рддрд╛ рд╣реИред
struct Model { value: i64, } enum Msg { Increment, Decrement, }
match msg { Msg::Increment => { self.value += 1; } Msg::Decrement => { self.value -= 1; } }
рдпрд╣ рдкрд╣рд▓рд╛ рдХреНрд╖рдг рд╣реИред рджреВрд╕рд░рд╛ рдмрд┐рдВрджреБ: рд╣рдореЗрдВ рдореЙрдбрд▓ рдХреЗ рдкреБрд░рд╛рдиреЗ рд╕рдВрд╕реНрдХрд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИ? рдЙрд╕реА рдПрд▓реНрдо рдореЗрдВ рд╢рд╛рдпрдж рд╣реА рдХрд┐рд╕реА рддрд░рд╣ рдХреА рдкреНрд░рддрд┐рд╕реНрдкрд░реНрдзрд╛рддреНрдордХ рдкрд╣реБрдВрдЪ рдХреА рд╕рдорд╕реНрдпрд╛ рд╣реИред рдкреБрд░рд╛рдиреЗ рдореЙрдбрд▓ рдХреЛ рдХреЗрд╡рд▓ рдпрд╣ рд╕рдордЭрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рд░реЗрдВрдбрд░ рдХрдм рдХрд░рдирд╛ рд╣реИред рдЗрд╕ рдкрд▓ рдХреА рдЬрд╛рдЧрд░реВрдХрддрд╛ рдиреЗ рдореБрдЭреЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрдкрд░рд┐рд╡рд░реНрддрдиреАрдп рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛рдиреЗ рдФрд░ рдкреБрд░рд╛рдиреЗ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдирд╣реАрдВ рд░рдЦрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреАред

рдЬрдм рд╣рдорд╛рд░реЗ рдкрд╛рд╕
update
рдлрд╝рдВрдХреНрд╢рди рдФрд░ рджреЛ рдлрд╝реАрд▓реНрдб -
value
рдФрд░
name
ред рдПрдХ рдорд╛рди рд╣реИ рдЬреЛ
input
рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдбреЗрдЯрд╛ рджрд░реНрдЬ рдХрд░рддреЗ рд╕рдордп рд╕рд╣реЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИред рдореЙрдбрд▓ рдмрджрд▓ рд░рд╣рд╛ рд╣реИред

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

рдореИрдВрдиреЗ рджреВрд╕рд░реЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд╛ рдбреЗрдореЛ рд▓рд┐рдпрд╛ред рдХрдИ рдкрд░рд┐рдпреЛрдЬрдирд╛рдПрдВ рд╣реИрдВ рдЬреЛ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдЬрд╛рддреА рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рдЬрд▓реНрджреА рд╕реЗ рдПрдХ рдореГрдд рдЕрдВрдд рдХреА рдУрд░ рд▓реЗ рдЬрд╛рддреА рд╣реИред рдЖрдЦрд┐рд░рдХрд╛рд░, рд░реВрдкрд░реЗрдЦрд╛ рдПрдХ рдХрд╛рдлреА рдмрдбрд╝рд╛ рд╡рд┐рдХрд╛рд╕ рд╣реИ рдФрд░ рдЖрдкрдХреЛ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдбреЙрдХрд┐рдВрдЧ рдХреЛрдб рд▓рд┐рдЦрдиреЗ рд╣реЛрдВрдЧреЗред рдореИрдВрдиреЗ Rust рдореЗрдВ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд┐рдпрд╛, рдЬрд┐рдиреНрд╣реЗрдВ рдХреНрд░реЗрдЯ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ,
Stdweb
ред
рдПрдХреАрдХреГрдд рдЬреЗрдПрд╕
рд░рд╕реНрдЯ рдореИрдХреНрд░реЛрдЬрд╝ рдХреА рдорджрдж рд╕реЗ, рдЖрдк рднрд╛рд╖рд╛ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ - рд╣рдо рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдЯреБрдХрдбрд╝реЛрдВ рдХреЛ рд░рд╕реНрдЯ рдХреЛрдб рдореЗрдВ рдПрдореНрдмреЗрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╣ рднрд╛рд╖рд╛ рдХреА рдПрдХ рдмрд╣реБрдд рд╣реА рдЙрдкрдпреЛрдЧреА рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реИред
let handle = js! { var callback = @{callback}; var action = function() { callback(); }; var delay = @{ms}; return { interval_id: setInterval(action, delay), callback: callback, }; };
рдореИрдХреНрд░реЛрдЬрд╝ рдФрд░ Stdweb рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рдореБрдЭреЗ рдЬрд▓реНрджреА рдФрд░ рдХреБрд╢рд▓рддрд╛ рд╕реЗ рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рд▓рд┐рдВрдХ рд▓рд┐рдЦрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдорд┐рд▓реАред
Jsx рдЯреЗрдореНрдкреНрд▓реЗрдЯ
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдореИрдВ рдПрд▓реНрдо рдкрде рдХреЗ рд╕рд╛рде рдЧрдпрд╛ рдФрд░ рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдЯреЗрдореНрдкрд▓реЗрдЯреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд┐рдпрд╛ред
fn view(&self) -> Html<Context, Self> { nav("nav", ("menu"), vec![ button("button", (), ("onclick", || Msg::Clicked)), tag("section", ("ontop"), vec![ p("My text...") ]) ]) }
рдореИрдВ рдХрднреА рднреА рд░рд┐рдПрдХреНрдЯ рдХрд╛ рд╕рдорд░реНрдердХ рдирд╣реАрдВ рд░рд╣рд╛ред рд▓реЗрдХрд┐рди рдЬрдм рдореИрдВрдиреЗ рдЕрдкрдирд╛ рдврд╛рдВрдЪрд╛ рд▓рд┐рдЦрдирд╛ рд╢реБрд░реВ рдХрд┐рдпрд╛, рддреЛ рдореБрдЭреЗ рдорд╣рд╕реВрд╕ рд╣реБрдЖ рдХрд┐ рд░рд┐рдПрдХреНрдЯ рдореЗрдВ JSX рдПрдХ рдмрд╣реБрдд рд╣реА рдЕрдЪреНрдЫреА рдЪреАрдЬ рд╣реИред рдпрд╣рд╛рдБ рдХреЛрдб рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдХреА рдПрдХ рдмрд╣реБрдд рд╣реА рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдкреНрд░рд╕реНрддреБрддрд┐ рд╣реИред
рдирддреАрдЬрддрди, рдореИрдВрдиреЗ рд░рд╕реНрдЯ рдкрд░ рдПрдХ рдореИрдХреНрд░реЛ рд▓рд┐рдпрд╛ рдФрд░ рд╕реАрдзреЗ рд░рд╕реНрдЯ рдХреЗ рдЕрдВрджрд░ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬреЛ HTML рдорд╛рд░реНрдХрдЕрдк рд▓рд┐рдЦрдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рд╣реИ рдЬреЛ рддреБрд░рдВрдд рдЖрднрд╛рд╕реА рдкреЗрдбрд╝ рддрддреНрд╡реЛрдВ рдХреЛ рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИред
impl Renderable<Context, Model> for Model { fn view(&self) -> Html<Context, Self> { html! { <div> <nav class="menu",> <button onclick=|_| Msg::Increment,>{ "Increment" }</button> <button onclick=|_| Msg::Decrement,>{ "Decrement" }</button> </nav> <p>{ self.value }</p> <p>{ Local::now() }</p> </div> } } }
рд╣рдо рдХрд╣ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ JSX- рдЬреИрд╕реЗ рдЯреЗрдореНрдкрд▓реЗрдЯ рд╢реБрджреНрдз рдХреЛрдб рдЯреЗрдореНрдкрд▓реЗрдЯ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╕реНрдЯреЗрд░реЙрдпрдб рдкрд░ред рдЙрдиреНрд╣реЗрдВ рдПрдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдпрд╣ рднреА рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдпрд╣рд╛рдБ рдореИрдВ рд╕реАрдзреЗ рдмрдЯрди рдореЗрдВ рдПрдХ рд░рд╕реНрдЯ рдПрдХреНрд╕рдкреНрд░реЗрд╢рди рд╕рдореНрдорд┐рд▓рд┐рдд рдХрд░рддрд╛ рд╣реВрдВ (рдЗрди рдЯреЗрдореНрдкреНрд▓реЗрдЯреНрд╕ рдХреЗ рдЕрдВрджрд░ рд░рд╕реНрдЯ рдПрдХреНрд╕рдкреНрд░реЗрд╢рди рдбрд╛рд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ)ред рдпрд╣ рдЖрдкрдХреЛ рдмрд╣реБрдд рдмрд╛рд░реАрдХреА рд╕реЗ рдПрдХреАрдХреГрдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
рдХрд╛рдлреА рд╕рдВрд░рдЪрд┐рдд рдШрдЯрдХ
рдлрд┐рд░ рдореИрдВрдиреЗ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд┐рдпрд╛ рдФрд░ рдШрдЯрдХреЛрдВ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдХрд╛ рдПрд╣рд╕рд╛рд╕ рдХрд┐рдпрд╛ред рдпрд╣ рдкрд╣рд▓рд╛ рдореБрджреНрджрд╛ рд╣реИ рдЬрд┐рд╕реЗ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред рдореИрдВрдиреЗ рдЙрди рдШрдЯрдХреЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рд╣реИ рдЬрд┐рдирдХрд╛ рдЙрдкрдпреЛрдЧ рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреЛрдб рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЖрдк рдмрд╕ рдЬрдВрдЧ рдореЗрдВ рдПрдХ рдИрдорд╛рдирджрд╛рд░ рд╕рдВрд░рдЪрдирд╛ рдХреА рдШреЛрд╖рдгрд╛ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдЧреБрдг рд▓рд┐рдЦрддреЗ рд╣реИрдВред рдФрд░ рдЗрди рдЧреБрдгреЛрдВ рдХреЛ рд╕реАрдзреЗ рдЯреЗрдореНрдкрд▓реЗрдЯ рд╕реЗ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

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

рдХрдВрдкрд╛рдЗрд▓рд░ рд╕рдЦреНрддреА рд╕реЗ рдЗрди рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЛ рдмрд╛рдВрдзрддрд╛ рд╣реИ рдФрд░ рдЖрдкрдХреЛ рдЧрд▓рддрд┐рдпрд╛рдБ рдХрд░рдиреЗ рдХрд╛ рдЕрд╡рд╕рд░ рдирд╣реАрдВ рджреЗрдЧрд╛ред рдШрдЯрдирд╛рдУрдВ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рддреЗ рд╕рдордп, рд╕рдВрджреЗрд╢ рдЬреЛ рдШрдЯрдХ рдХреА рдЕрдкреЗрдХреНрд╖рд╛ рдХрд░рддрд╛ рд╣реИ рдпрд╛ рднреЗрдЬ рд╕рдХрддрд╛ рд╣реИ, рдорд╛рддрд╛-рдкрд┐рддрд╛ рд╕реЗ рдкреВрд░реА рддрд░рд╣ рдореЗрд▓ рдЦрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдЕрдиреНрдп рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ
рдореИрдВрдиреЗ рд░рд╕реНрдЯ рд╕реЗ рд╕реАрдзреЗ рдПрдХ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛ рдЙрд╕ рдлреНрд░реЗрдорд╡рд░реНрдХ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рджрд┐рдпрд╛, рдЬреЛ рдЖрдкрдХреЛ рдЖрд╕рд╛рдиреА рд╕реЗ рд╡рд┐рднрд┐рдиреНрди рдХреНрд░рдорд╛рдВрдХрди / рдбреАрд░рд┐рдпрд▓рд╛рдЗрдЬрд╝реЗрд╢рди рдкреНрд░рд╛рд░реВрдкреЛрдВ (рдЕрддрд┐рд░рд┐рдХреНрдд рдЖрд╡рд░рдг рдХреЗ рд╕рд╛рде рдкреНрд░рджрд╛рди рдХрд░рдирд╛) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдиреАрдЪреЗ рдПрдХ рдЙрджрд╛рд╣рд░рдг рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ: рд╣рдо рд╕реНрдерд╛рдиреАрдп рднрдВрдбрд╛рд░рдг рдкрд░ рдЬрд╛рддреЗ рд╣реИрдВ рдФрд░, рдбреЗрдЯрд╛ рдХреЛ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╣реБрдП, рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдЖрд╡рд░рдг рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддреЗ рд╣реИрдВ - рд╣рдо рдпрд╣рд╛рдВ рдЬреЛ рдЙрдореНрдореАрдж рдХрд░рддреЗ рд╣реИрдВ рд╡рд╣ рдЬреМрди рд╣реИред
Msg::Store => { context.local_storage.store(KEY, Json(&model.clients)); } Msg::Restore => { if let Json(Ok(clients)) = context.local_storage.restore(KEY) { model.clients = clients; } }
рдпрд╣ рдмрд╛рдЗрдирд░реА рд╕рд╣рд┐рдд рдХреЛрдИ рднреА рдкреНрд░рд╛рд░реВрдк рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рддрджрдиреБрд╕рд╛рд░, рдХреНрд░рдордмрджреНрдзрддрд╛ рдФрд░ рдирд┐рд░реНрдЬрдиреАрдХрд░рдг рдкрд╛рд░рджрд░реНрд╢реА рдФрд░ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВред
рдореЗрд░реЗ рджреНрд╡рд╛рд░рд╛ рд▓рд╛рдЧреВ рдХрд┐рдП рдЧрдП рдПрдХ рдФрд░ рдЕрд╡рд╕рд░ рдХрд╛ рд╡рд┐рдЪрд╛рд░ рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рд╕реЗ рдЖрдпрд╛ рдерд╛ред рдЙрдиреНрд╣реЛрдВрдиреЗ рдЕрдВрд╢ рдмрдирд╛рдиреЗ рдХреЛ рдХрд╣рд╛ред рдФрд░ рдпрд╣рд╛рдБ рдореБрдЭреЗ рдПрдХ рджрд┐рд▓рдЪрд╕реНрдк рдмрд╛рдд рдкрддрд╛ рдЪрд▓реАред рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдбреЛрдо рдЯреНрд░реА рдореЗрдВ рдЯреБрдХрдбрд╝реЗ рдбрд╛рд▓рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рджреЗрдЦрдХрд░, рдореИрдВрдиреЗ рдкрд╣рд▓реА рдмрд╛рд░ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ рдХрд┐ рдореЗрд░реЗ рдврд╛рдВрдЪреЗ рдореЗрдВ рдЗрд╕ рддрд░рд╣ рдХреЗ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реЛрдЧрд╛ред рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдЗрд╕ рд╡рд┐рдХрд▓реНрдк рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рдФрд░ рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рдпрд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдореБрдЭреЗ рдЗрд╕рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдирд╛ рдерд╛, рдЗрд╕ рдкреЗрдбрд╝ рдкрд░ рдЪрд▓рдирд╛, рд╡рд╣рд╛рдБ рдХреНрдпрд╛ рдмрджрд▓рд╛ рдерд╛, рдЖрджрд┐ред
рдпреВрдИ рдлреНрд░реЗрдорд╡рд░реНрдХ рдПрдХ рдЖрднрд╛рд╕реА рдбреЛрдо рдЯреНрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рдореЗрдВ рд╢реБрд░реВ рдореЗрдВ рд╕рдм рдХреБрдЫ рдореМрдЬреВрдж рд╣реИред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЬрдм рдЯреЗрдореНрдкрд▓реЗрдЯ рдореЗрдВ рдХреБрдЫ рдмрджрд▓рд╛рд╡ рд╣реЛрддреЗ рд╣реИрдВ, рддреЛ рд╡реЗ рдкреИрдЪ рдореЗрдВ рдмрджрд▓ рдЬрд╛рддреЗ рд╣реИрдВ рдЬреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкреНрд░рджрд╛рди рдХрд┐рдП рдЧрдП DOM рдЯреНрд░реА рдХреЛ рдмрджрд▓ рджреЗрддреЗ рд╣реИрдВред
html! { <> <tr><td>{ "Row" }</td></tr> <tr><td>{ "Row" }</td></tr> <tr><td>{ "Row" }</td></tr> </> }
рдЕрддрд┐рд░рд┐рдХреНрдд рд▓рд╛рдн
рдЬрдВрдЧ рдХрдИ рдФрд░ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рд╕реБрд╡рд┐рдзрд╛рдПрдБ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рдореИрдВ рдХреЗрд╡рд▓ рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реВрдВрдЧрд╛ред
рд╕реЗрд╡рд╛рдПрдВ: рдмрд╛рд╣рд░реА рджреБрдирд┐рдпрд╛ рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд
рдкрд╣рд▓реЗ рдЕрд╡рд╕рд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдореИрдВ рдмрд╛рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рдЖрдк рдХреБрдЫ рд╕реЗрд╡рд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХрд╛ рд╡рд░реНрдгрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЗрд╕реЗ рдПрдХ рдЯреЛрдХрд░рд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕рдХрд╛ рдкреБрди: рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдЬрдВрдЧ рдореЗрдВ, рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ, рдЙрдирдХреЗ рдПрдХреАрдХрд░рдг, рдбреЙрдХрд┐рдВрдЧ рдФрд░ рдЧреНрд▓реВрдЗрдВрдЧ рдмрдирд╛рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдмрд╣реБрдд рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рд▓рд╛рдЧреВ рдХреА рдЬрд╛рддреА рд╣реИред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЖрдк рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕рд╣рд┐рдд, рдЕрдкрдиреА рд╕реЗрд╡рд╛ рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рднрд┐рдиреНрди рдПрдкреАрдЖрдИ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ, рдлреНрд░реЗрдорд╡рд░реНрдХ рдмрд╛рд╣рд░реА рджреБрдирд┐рдпрд╛ рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдЗрд╕ рддрдереНрдп рдХреЗ рдмрд╛рд╡рдЬреВрдж рдХрд┐ рдпрд╣ WebAssembly рд░рдирдЯрд╛рдЗрдо рдХреЗ рдЕрдВрджрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рдЙрджрд╛рд╣рд░рдг:
- TimeOutService;
- IntervalService;
- FetchService;
- WebSocketService;
- рдХрд╕реНрдЯрдо рд╕реЗрд╡рд╛рдПрдБ ...
рдЬрдВрдЧ рд╕реЗрд╡рд╛рдПрдБ рдФрд░ рдмрдХреНрд╕реЗ:
crates.ioрд╕рдВрджрд░реНрдн: рд░рд╛рдЬреНрдп рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛рдПрдВ
рдПрдХ рдФрд░ рдЪреАрдЬ рдЬреЛ рдореИрдВрдиреЗ рдлреНрд░реЗрдорд╡рд░реНрдХ рдореЗрдВ рд▓рд╛рдЧреВ рдХреА рд╣реИ рд╡рд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдкрд╛рд░рдВрдкрд░рд┐рдХ рдирд╣реАрдВ рд╣реИ, рдпрд╣ рд╕рдВрджрд░реНрдн рд╣реИред рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХрд╛ рдПрдХ рд╕рдВрджрд░реНрдн рдПрдкреАрдЖрдИ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдПрдХ рдЕрд▓рдЧ рдЕрд░реНрде рдореЗрдВ рд╕рдВрджрд░реНрдн рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рд╣реИред Yew рдлреНрд░реЗрдорд╡рд░реНрдХ рдореЗрдВ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдП рдЧрдП рдШрдЯрдХ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ, рдФрд░ рд╕рдВрджрд░реНрдн рдХреБрдЫ рд╡реИрд╢реНрд╡рд┐рдХ рд╕реНрдерд┐рддрд┐ рд╣реИред рдШрдЯрдХ рдЗрд╕ рд╡реИрд╢реНрд╡рд┐рдХ рд╕реНрдерд┐рддрд┐ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рдирд╣реАрдВ рд░рдЦ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдХреБрдЫ рдорд╛рдВрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ - рддрд╛рдХрд┐ рд╡реИрд╢реНрд╡рд┐рдХ рд╕рдВрд╕реНрдерд╛ рдХреБрдЫ рдорд╛рдирджрдВрдбреЛрдВ рдХреЛ рдкреВрд░рд╛ рдХрд░реЗред
рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рд╣рдорд╛рд░реЗ рд╕рд╛рд░ рдШрдЯрдХ рдХреЛ S3 рдореЗрдВ рдХреБрдЫ рдЕрдкрд▓реЛрдб рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

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

рд╕рдВрдХрд▓рди рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реИ, рд░рд╕реНрдЯ рдЬрд▓реНрджреА рд╕реЗ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХрд░рддрд╛ рд╣реИред рд╡рд╣ рдХрд╣рддреЗ рд╣реИрдВ рдХрд┐ рд╣рдорд╕реЗ рдЧрд▓рддреА рд╣реБрдИ рдФрд░ рдРрд╕реА рдХреЛрдИ рд╕рдВрдкрддреНрддрд┐ рдирд╣реАрдВ рд╣реИ:

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

рдХрдВрдкрд╛рдЗрд▓рд░ рд░рд┐рдкреЛрд░реНрдЯ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рд╣рдордиреЗ рдПрдХ рдмрдЯрди рдбрд╛рд▓рд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╕рдВрджрд░реНрдн рдХреЗ рд▓рд┐рдП рд▓рд╛рдЧреВ рдирд╣реАрдВ рд╣реИред

рдпрд╣ рдХреЗрд╡рд▓ рд╕рдВрдкрд╛рджрдХ рдореЗрдВ рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдиреА рд╣реБрдИ рд╣реИ, рд╕рдВрджрд░реНрдн рдореЗрдВ рдЕрдореЗрдЬрд╝реЕрди рдХреЗ рд▓рд┐рдП рдПрдХ рд▓рд┐рдВрдХ рдЬреЛрдбрд╝реЗрдВ, рдФрд░ рд╕рдм рдХреБрдЫ рд╢реБрд░реВ рд╣реЛ рдЬрд╛рдПрдЧрд╛ред рдЖрдк рдХреБрдЫ рдкреНрд░рдХрд╛рд░ рдХреЗ рдПрдкреАрдЖрдИ рдХреЗ рд╕рд╛рде рддреИрдпрд╛рд░ рд╕реЗрд╡рд╛рдУрдВ рдХреЛ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдлрд┐рд░ рдмрд╕ рд╕рдВрджрд░реНрдн рдореЗрдВ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ, рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рд▓рд┐рдВрдХ рд╕реНрдерд╛рдирд╛рдкрдиреНрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдШрдЯрдХ рддреБрд░рдВрдд рдЬреАрд╡рди рдореЗрдВ рдЖрддрд╛ рд╣реИред рдпрд╣ рдЖрдкрдХреЛ рдмрд╣реБрдд рд╣реА рд╢рд╛рдВрдд рдЪреАрдЬреЗрдВ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ: рдЖрдк рдШрдЯрдХ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ, рдПрдХ рд╕рдВрджрд░реНрдн рдмрдирд╛рддреЗ рд╣реИрдВ, рдЗрд╕реЗ рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд╕рд╛рде рд╕рд╛рдорд╛рди рдХрд░рддреЗ рд╣реИрдВред рдФрд░ рдпрд╣ рд╕рдм рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ; рд╕рднреА рдХреЛ рдПрдХ рд╕рд╛рде рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдиреНрдпреВрдирддрдо рдкреНрд░рдпрд╛рд╕реЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред
Yew рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рд╢реБрд░реВ рдХрд░реЗрдВ?
рдпрджрд┐ рдЖрдк рдПрдХ WebAssembly рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддреЛ рдХрд╣рд╛рдВ рд╕реЗ рд╢реБрд░реВ рдХрд░реЗрдВ? рдФрд░ рдпреЗрд╡ рдлреНрд░реЗрдорд╡рд░реНрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ?
рдЬрдВрдЧ-рд╕реЗ-рд╡рд╛рд╕ рд╕рдВрдХрд▓рди
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЖрдкрдХреЛ рд╕рдВрдХрд▓рдХ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рд░рд╕реНрдЯрдЕрдк рдЯреВрд▓ рд╣реИ:
curl https://sh.rustup.rs -sSf | sh
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЖрдк emscripten рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИред рдпрд╣ рдХрд┐рд╕рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИ? рдЕрдзрд┐рдХрд╛рдВрд╢ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдЬреЛ рд╕рд┐рд╕реНрдЯрдо рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд▓рд┐рдЦреЗ рдЧрдП рд╣реИрдВ, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд░рд╕реНрдЯ (рдореВрд▓ рд░реВрдк рд╕реЗ рдПрдХ рдкреНрд░рдгрд╛рд▓реА) рдХреЗ рд▓рд┐рдП, рд▓рд┐рдирдХреНрд╕, рд╡рд┐рдВрдбреЛрдЬ рдФрд░ рдЕрдиреНрдп рдкреВрд░реНрдг рдУрдПрд╕ рдХреЗ рд▓рд┐рдП рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдП рдЧрдП рд╣реИрдВред рдЬрд╛рд╣рд┐рд░ рд╣реИ, рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдХрдИ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рдирд╣реАрдВ рд╣реИрдВред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╕рдВрдЦреНрдпрд╛ рдкреАрдврд╝реА рдЙрд╕реА рддрд░рд╣ рд╕реЗ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬреИрд╕реЗ рд▓рд┐рдирдХреНрд╕ рдореЗрдВред рдпрджрд┐ рдЖрдк рдРрд╕реЗ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдЬреЛ рд╕рд┐рд╕реНрдЯрдо API рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рддреЛ emscripten рдЙрдкрдпреЛрдЧреА рд╣реИред
рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдФрд░ рд╕рдВрдкреВрд░реНрдг рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдБрдЪрд╛ рдЪреБрдкрдЪрд╛рдк рдИрдорд╛рдирджрд╛рд░ WebAssembly рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░ рд░рд╣рд╛ рд╣реИ, рдФрд░ emscripten рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ (рдЖрдк рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╕рдВрдЦреНрдпрд╛ рдФрд░ рдЕрдиреНрдп рдЪреАрдЬреЛрдВ рдХреЛ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ-рдЖрдзрд╛рд░рд┐рдд рдХреНрд╖рдорддрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ), рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдЖрдкрдХреЛ рдХреБрдЫ рдРрд╕рд╛ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬреЛ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИ, рддреЛ рдЖрдк emscripten рдХреЗ рдмрд┐рдирд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ ред
рдореИрдВ рдХрд╛рд░реНрдЧреЛ-рд╡реЗрдм рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рднреА рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдВ:
cargo install cargo-web
рдЕрддрд┐рд░рд┐рдХреНрдд рдЙрдкрдпреЛрдЧрд┐рддрд╛рдУрдВ рдХреЗ рдмрд┐рдирд╛ WebAssembly рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИред рд▓реЗрдХрд┐рди рдХрд╛рд░реНрдЧреЛ-рд╡реЗрдм рдПрдХ рдЕрдЪреНрдЫрд╛ рдЙрдкрдХрд░рдг рд╣реИ рдЬреЛ рдХрдИ рдЪреАрдЬреЗрдВ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реИрдВред рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдпрд╣ рдлрд╛рдЗрд▓реЛрдВ рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХрд░реЗрдЧрд╛: рдпрджрд┐ рдЖрдк рдХреЛрдИ рдмрджрд▓рд╛рд╡ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рддреБрд░рдВрдд рд╕рдВрдХрд▓рди рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджреЗрдЧрд╛ (рдХрдВрдкрд╛рдЗрд▓рд░ рдРрд╕реЗ рдХрд╛рд░реНрдп рдкреНрд░рджрд╛рди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ)ред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдХрд╛рд░реНрдЧреЛ-рд╡реЗрдм рдЖрдкрдХреЛ рд╡рд┐рдХрд╛рд╕ рдХреЛ рдЧрддрд┐ рджреЗрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛ред рдЬрдВрдЧ рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ-рдЕрд▓рдЧ рдмрд┐рд▓реНрдб рд╕рд┐рд╕реНрдЯрдо рд╣реИрдВ, рд▓реЗрдХрд┐рди рдХрд╛рд░реНрдЧреЛ рд╕рднреА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХрд╛ 99.9% рд╣реИред
рдПрдХ рдирдИ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдмрдирд╛рдИ рдЧрдИ рд╣реИ:
cargo new --bin my-project
[package]
name = "my-project"
version = "0.1.0"
[dependencies]
yew = "0.3.0"
рддреЛ рдмрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╢реБрд░реВ:
cargo web start --target wasm32-unknown-unknown
рдореИрдВрдиреЗ рдИрдорд╛рдирджрд╛рд░ WebAssembly рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рджрд┐рдпрд╛ред рдпрджрд┐ рдЖрдкрдХреЛ emscripten рдХреЗ рддрд╣рдд рд╕рдВрдХрд▓рди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ (рдЬрдВрдЧ рдХрдВрдкрд╛рдЗрд▓рд░ emscripten рдХреЛ рд╕реНрд╡рдпрдВ рдХрдиреЗрдХреНрдЯ рдХрд░ рд╕рдХрддрд╛ рд╣реИ), рддреЛ рдЖрдк рдмрд╣реБрдд рдЕрдВрддрд┐рдо
unknown
рддрддреНрд╡ рдореЗрдВ рд╢рдмреНрдж
emscripten
рд╕рдореНрдорд┐рд▓рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ рдЖрдкрдХреЛ рдЕрдзрд┐рдХ рдХреНрд░реЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдпрд╣ рдордд рднреВрд▓реЛ рдХрд┐ рдЖрдкрдХреА рдлрд╝рд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП emscripten рдПрдХ рдХрд╛рдлреА рдмрдбрд╝реА рдЕрддрд┐рд░рд┐рдХреНрдд рдХрд┐рдЯ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдИрдорд╛рдирджрд╛рд░ WebAssembly рдХреЛрдб рд▓рд┐рдЦрдирд╛ рдмреЗрд╣рддрд░ рд╣реИред
рдореМрдЬреВрджрд╛ рдкреНрд░рддрд┐рдмрдВрдз
рдЬрд┐рд╕ рдХрд┐рд╕реА рдХреЛ рднреА рд╕рд┐рд╕реНрдЯрдо рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ рдХреЛрдбрд┐рдВрдЧ рдХрд╛ рдЕрдиреБрднрд╡ рд╣реИ, рд╡рд╣ рдлреНрд░реЗрдорд╡рд░реНрдХ рдореЗрдВ рдореМрдЬреВрдж рд╕реАрдорд╛рдУрдВ рд╕реЗ рдирд┐рд░рд╛рд╢ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред WebAssembly рдореЗрдВ рд╕рднреА рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдереНрд░реЗрдбреНрд╕ рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВред рд╕рд┐рджреНрдзрд╛рдВрдд рдореЗрдВ WebAssembly рдпрд╣ рдШреЛрд╖рд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЖрдк рдЗрд╕реЗ рдмрд╣реБ-рдереНрд░реЗрдбреЗрдб рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ (рдпрд╣ рдПрдХ рдЦреБрд▓рд╛ рдкреНрд░рд╢реНрди рд╣реИ), рд▓реЗрдХрд┐рди рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЕрднреА рднреА рдПрдХ рдПрдХрд▓-рдереНрд░реЗрдбреЗрдб рд╡рд╛рддрд╛рд╡рд░рдг рд╣реИред рд╣рд╛рдВ, рд╢реНрд░рдорд┐рдХ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рдЕрд▓рдЧрд╛рд╡ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╡рд╣рд╛рдВ рдХреЛрдИ рдкреНрд░рд╡рд╛рд╣ рдирд╣реАрдВ рд╣реЛрдЧрд╛ред
рдРрд╕рд╛ рд▓рдЧреЗрдЧрд╛ рдХрд┐ рдЖрдк рдмрд┐рдирд╛ рдкреНрд░рд╡рд╛рд╣ рдХреЗ рд░рд╣ рд╕рдХрддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдЖрдк рдереНрд░реЗрдб-рдЖрдзрд╛рд░рд┐рдд рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдк рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХрд╛ рд░рдирдЯрд╛рдЗрдо рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдХреЛрдИ рднреА рд╕рд┐рд╕реНрдЯрдо рдПрдкреАрдЖрдИ рдирд╣реАрдВ рд╣реИ, рд╕рд┐рд╡рд╛рдп рдЗрд╕рдХреЗ рдХрд┐ рдЖрдк рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реЗ рд╡реЗрдмрдЖрд╕рдкрд╛рд╕ рдкрд░ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░реЗрдВрдЧреЗред рдЗрд╕рд▓рд┐рдП, рдХрдИ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ рдкреЛрд░реНрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдЖрдк рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╕реАрдзреЗ рдирд╣реАрдВ рд▓рд┐рдЦ рдФрд░ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВ, рд╕реЙрдХреЗрдЯ рдирд╣реАрдВ рдЦреЛрд▓реЗ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдЖрдк рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рдирд╣реАрдВ рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВред рдпрджрд┐ рдЖрдк рдПрдХ рд╡реЗрдм-рд╕реЙрдХреЗрдЯ рдмрдирд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдЗрд╕реЗ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реЗ рдЦреАрдВрдЪрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рдПрдХ рдФрд░ рджреЛрд╖ рдпрд╣ рд╣реИ рдХрд┐ WASM рдбрд┐рдмрдЧрд░ рдореМрдЬреВрдж рд╣реИ, рд▓реЗрдХрд┐рди рдХрд┐рд╕реА рдиреЗ рднреА рдЗрд╕реЗ рдирд╣реАрдВ рджреЗрдЦрд╛ рд╣реИред рдпрд╣ рдЕрднреА рднреА рдРрд╕реА рдХрдЪреНрдЪреА рдЕрд╡рд╕реНрдерд╛ рдореЗрдВ рд╣реИ рдХрд┐ рдпрд╣ рдЖрдкрдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реЛрдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдирд╣реАрдВ рд╣реИред рддреЛ WebAssembly рдбрд┐рдмрдЧрд┐рдВрдЧ рдПрдХ рдореБрд╢реНрдХрд┐рд▓ рд╕рд╡рд╛рд▓ рд╣реИред
рд░рд╕реНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп, рд▓рдЧрднрдЧ рд╕рднреА рд░рдирдЯрд╛рдЗрдо рд╕рдорд╕реНрдпрд╛рдПрдВ рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рддрд░реНрдХ рдореЗрдВ рддреНрд░реБрдЯрд┐рдпреЛрдВ рд╕реЗ рдЬреБрдбрд╝реА рд╣реЛрдВрдЧреА, рдЙрдиреНрд╣реЗрдВ рдареАрдХ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реЛрдЧрд╛ред рд▓реЗрдХрд┐рди рдмрд╣реБрдд рдХрдо рд╣реА рд╕реНрддрд░ рдХреЗ рдХреАрдбрд╝реЗ рджрд┐рдЦрд╛рдИ рджреЗрддреЗ рд╣реИрдВ - рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдЧрд▓рдд рдбреЙрдХрд┐рдВрдЧ рдХрд░рддрд╛ рд╣реИ - рдФрд░ рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХ рдХрдард┐рди рд╕рд╡рд╛рд▓ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЗрд╕ рд╕рдордп рдРрд╕реА рд╕рдорд╕реНрдпрд╛ рд╣реИ: рдпрджрд┐ рдореИрдВ рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЛ рдИрд╕реНрдореИрдкреНрдЯреЗрди рдХреЗ рд╕рд╛рде рд╕рдВрдХрд▓рд┐рдд рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ рдПрдХ рдЪрд░ рдореЗрдореЛрд░реА рд╕реЗрд▓ рд╣реИ, рдЬрд┐рд╕ рдкрд░ рдХрдмреНрдЬрд╛ рдХрд░ рд▓рд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рддреЛ рдЗрд╕реЗ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдИрд╕реНрдорд┐рдкреНрдЯреЗрди рдмреАрдЪ рдореЗрдВ рдХрд╣реАрдВ рдЕрд▓рдЧ рд╣реЛ рд░рд╣рд╛ рд╣реИ (рдФрд░ рдореБрдЭреЗ рдпрд╣ рднреА рдкрддрд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рдИрд╕реНрдореИрдкреНрдЯреЗрди рд╣реИ)ред рдЬрд╛рдирд┐рдП, рдЕрдЧрд░ рдЖрдк рдирд┐рдореНрди рд╕реНрддрд░ рдкрд░ рдорд┐рдбрд▓рд╡реЗрдпрд░ рдореЗрдВ рдХрд┐рд╕реА рд╕рдорд╕реНрдпрд╛ рдкрд░ рдареЛрдХрд░ рдЦрд╛рддреЗ рд╣реИрдВ, рддреЛ рдЗрд╕реЗ рдареАрдХ рдХрд░рдирд╛ рдлрд┐рд▓рд╣рд╛рд▓ рдореБрд╢реНрдХрд┐рд▓ рд╣реЛрдЧрд╛ред
рдлреНрд░реЗрдорд╡рд░реНрдХ рдХрд╛ рднрд╡рд┐рд╖реНрдп
рдЖрдЧреЗ рдХреИрд╕реЗ рд╡рд┐рдХрд╕рд┐рдд рд╣реЛрдЧрд╛? рдореИрдВ рдЕрдЦрдВрдб рдШрдЯрдХреЛрдВ рдХреЛ рдмрдирд╛рдиреЗ рдореЗрдВ рдЗрд╕рдХрд╛ рдореБрдЦреНрдп рдЙрджреНрджреЗрд╢реНрдп рджреЗрдЦрддрд╛ рд╣реВрдВред рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рд╕рдВрдХрд▓рд┐рдд WebAssembly рдлрд╝рд╛рдЗрд▓ рд╣реЛрдЧреА, рдФрд░ рдЖрдк рдЗрд╕реЗ рдХреЗрд╡рд▓ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдкреЗрд╕реНрдЯ рдХрд░реЗрдВрдЧреЗред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╣ рдХреНрд░рд┐рдкреНрдЯреЛрдЧреНрд░рд╛рдлрд┐рдХ рдХреНрд╖рдорддрд╛рдУрдВ, рдкреНрд░рддрд┐рдкрд╛рджрди рдпрд╛ рд╕рдВрдкрд╛рджрди рдкреНрд░рджрд╛рди рдХрд░ рд╕рдХрддрд╛ рд╣реИред
рдЬреЗрдПрд╕ рдПрдХрддрд╛
рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд╕рд╛рде рдПрдХреАрдХрд░рдг рдХреЛ рдордЬрдмреВрдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдиреЗ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рд╢рд╛рдВрдд рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ рд▓рд┐рдЦрд╛ рд╣реИ рдЬрд┐рдирдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИред рдФрд░ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рдЙрджрд╛рд╣рд░рдг рд╣реИрдВ рдЬрд╣рд╛рдВ рдореИрдВ рджрд┐рдЦрд╛рддрд╛ рд╣реВрдВ рдХрд┐ рдЖрдк рдореМрдЬреВрджрд╛ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рд╕реАрдзреЗ рдпреВрдИ рдлреНрд░реЗрдорд╡рд░реНрдХ рд╕реЗ рдХреИрд╕реЗ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдЯрд╛рдЗрдк рд╕реАрдПрд╕рдПрд╕
рдЪреВрдВрдХрд┐ рд░рд╕реНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рдЖрдк рдЯрд╛рдЗрдк рдХрд┐рдП рдЧрдП рд╕реАрдПрд╕рдПрд╕ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдЬреЗрдПрд╕рдПрдХреНрд╕ рдЬреИрд╕реЗ рдЯреЗрдореНрдкрд▓реЗрдЯ рдЗрдВрдЬрди рдХреЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рдЙрд╕реА рдореИрдХреНрд░реЛ рдХреЗ рд╕рд╛рде рдЙрддреНрдкрдиреНрди рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╕рдВрдХрд▓рдХ рдЬрд╛рдВрдЪ рдХрд░реЗрдЧрд╛, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдЖрдкрдиреЗ рд░рдВрдЧ рдХреЗ рдмрдЬрд╛рдп рдХреБрдЫ рдЕрдиреНрдп рд╡рд┐рд╢реЗрд╖рддрд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХреА рд╣реИред рдЗрд╕рд╕реЗ рдЖрдкрдХрд╛ рд╕рдордп рдмрдЪреЗрдЧрд╛ред
рддреИрдпрд╛рд░ рдШрдЯрдХ
рдореИрдВ рддреИрдпрд╛рд░-рд╕реЗ-рдЙрдкрдпреЛрдЧ рдШрдЯрдХреЛрдВ рдХреЛ рдмрдирд╛рдиреЗ рдХреА рдУрд░ рднреА рджреЗрдЦрддрд╛ рд╣реВрдВред рдлреНрд░реЗрдорд╡рд░реНрдХ рдкрд░, рдЖрдк рджрд░рд╛рд░реЗрдВ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдкреНрд░рджрд╛рди рдХрд░реЗрдЧрд╛, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХреБрдЫ рдмрдЯрди рдпрд╛ рддрддреНрд╡реЛрдВ рдХрд╛ рдПрдХ рд╕реЗрдЯ рдЬреЛ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рд░реВрдк рдореЗрдВ рдЬреБрдбрд╝рд╛ рд╣реЛрдЧрд╛, рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рдПрдЧрд╛ рдФрд░ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рдирд┐рдЬреА рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдкреНрд░рджрд░реНрд╢рди рдореЗрдВ рд╕реБрдзрд╛рд░
рдкреНрд░рджрд░реНрд╢рди рдПрдХ рдмрд╣реБрдд рд╣реА рдирд╛рдЬреБрдХ рдФрд░ рдЬрдЯрд┐рд▓ рдореБрджреНрджрд╛ рд╣реИред рдХреНрдпрд╛ WebAssembly рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реЗ рддреЗрдЬ рд╣реИ? рдореЗрд░реЗ рдкрд╛рд╕ рд╕рдХрд╛рд░рд╛рддреНрдордХ рдпрд╛ рдирдХрд╛рд░рд╛рддреНрдордХ рдЙрддреНрддрд░ рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдХреЛрдИ рдкреНрд░рдорд╛рдг рдирд╣реАрдВ рд╣реИред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдФрд░ рдореЗрд░реЗ рджреНрд╡рд╛рд░рд╛ рдХрд┐рдП рдЧрдП рдХреБрдЫ рдмрд╣реБрдд рд╣реА рд╕рд░рд▓ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░, WebAssembly рдмрд╣реБрдд рддреЗрдЬ рд╣реИред рдФрд░ рдореБрдЭреЗ рдкреВрд░рд╛ рд╡рд┐рд╢реНрд╡рд╛рд╕ рд╣реИ рдХрд┐ рдЗрд╕рдХрд╛ рдкреНрд░рджрд░реНрд╢рди рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рд╣реЛрдЧрд╛, рд╕рд┐рд░реНрдл рдЗрд╕рд▓рд┐рдП рдХрд┐ рдпрд╣ рдПрдХ рдирд┐рдореНрди-рд╕реНрддрд░реАрдп рдмрд╛рдпреЛрдЯреЗрдХ рд╣реИ, рдЬрд╣рд╛рдВ рдореЗрдореЛрд░реА рдЖрд╡рдВрдЯрди рдФрд░ рдХрдИ рдЕрдиреНрдп рд╕рдВрд╕рд╛рдзрди-рдЧрд╣рди рдХреНрд╖рдгреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред
рдЕрдзрд┐рдХ рдпреЛрдЧрджрд╛рдирдХрд░реНрддрд╛
рдореИрдВ рдЕрдзрд┐рдХ рдпреЛрдЧрджрд╛рдирдХрд░реНрддрд╛рдУрдВ рдХреЛ рдЖрдХрд░реНрд╖рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ред рдврд╛рдВрдЪреЗ рдореЗрдВ рднрд╛рдЧ рд▓реЗрдиреЗ рдХреЗ рджрд░рд╡рд╛рдЬреЗ рд╣рдореЗрд╢рд╛ рдЦреБрд▓реЗ рд╣реИрдВред рд╣рд░ рдХреЛрдИ рдЬреЛ рдХреБрдЫ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ, рдХрд░реНрдиреЗрд▓ рдХреЛ рд╕рдордЭрддрд╛ рд╣реИ рдФрд░ рдЙрди рдЯреВрд▓ рдХреЛ рдЯреНрд░рд╛рдВрд╕рдлрд╝реЙрд░реНрдо рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рдирдХреЗ рд╕рд╛рде рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдбреЗрд╡рд▓рдкрд░ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рдЖрд╕рд╛рдиреА рд╕реЗ рдХрдиреЗрдХреНрдЯ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЕрдкрдиреЗ рдПрдбрд┐рдЯ рдХреА рдкреЗрд╢рдХрд╢ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХрдИ рдпреЛрдЧрджрд╛рдирдХрд░реНрддрд╛рдУрдВ рдиреЗ рднрд╛рдЧ рд▓рд┐рдпрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдлрд┐рд▓рд╣рд╛рд▓ рдХреЛрдИ рдХреЛрд░ рдпреЛрдЧрджрд╛рдирдХрд░реНрддрд╛ рдирд╣реАрдВ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рд╡рд┐рдХрд╛рд╕ рд╡реЗрдХреНрдЯрд░ рдХреЛ рд╕рдордЭрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдЕрднреА рддрдХ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рддреИрдпрд╛рд░ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдПрдХ рд░реАрдврд╝ рдХреА рд╣рдбреНрдбреА рд╣реИ, рдЬреЛ рд▓реЛрдЧ рдпрд╡ рдореЗрдВ рдмрд╣реБрдд рдкрд╛рд░рдВрдЧрдд рд╣реИрдВ - рд▓рдЧрднрдЧ 30 рд▓реЛрдЧред рдЕрдЧрд░ рдЖрдк рднреА рдлреНрд░реЗрдорд╡рд░реНрдХ рдореЗрдВ рдХреБрдЫ рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдХреГрдкрдпрд╛ рдПрдХ рдкреБрд▓ рдЕрдиреБрд░реЛрдз рднреЗрдЬреЗрдВред
рдкреНрд░рд▓реЗрдЦрди
рдореЗрд░реА рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рдПрдХ рдЕрдирд┐рд╡рд╛рд░реНрдп рдмрд┐рдВрджреБ рдмрдбрд╝реА рдорд╛рддреНрд░рд╛ рдореЗрдВ рдкреНрд░рд▓реЗрдЦрди рдХрд╛ рдирд┐рд░реНрдорд╛рдг рд╣реИ рдХрд┐ рдХрд┐рд╕ рддрд░рд╣ рд╕реЗ рдЖрдк рдпреВрд╡реЗ рдкрд░ рдЖрд╡реЗрджрди рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВред рдЬрд╛рд╣рд┐рд░ рд╣реИ, рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рд╡рд┐рдХрд╛рд╕ рдХрд╛ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд░рд┐рдПрдХреНрдЯ рдФрд░ рдПрд▓реНрдо рдореЗрдВ рд╣рдордиреЗ рдЬреЛ рджреЗрдЦрд╛ рдЙрд╕рд╕реЗ рдЕрд▓рдЧ рд╣реИред
рдХрднреА-рдХрднреА рд▓реЛрдЧ рдореБрдЭреЗ рдлреНрд░реЗрдорд╡рд░реНрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рджрд┐рд▓рдЪрд╕реНрдк рдорд╛рдорд▓реЗ рджрд┐рдЦрд╛рддреЗ рд╣реИрдВред рдлрд┐рд░ рднреА, рдПрдХ рд░реВрдкрд░реЗрдЦрд╛ рддреИрдпрд╛рд░ рдХрд░рдирд╛ рдЙрд╕ рдкрд░ рдкреЗрд╢реЗрд╡рд░ рд░реВрдк рд╕реЗ рд▓рд┐рдЦрдиреЗ рдХреЗ рд╕рдорд╛рди рдирд╣реАрдВ рд╣реИред рдврд╛рдВрдЪреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдЕрднреНрдпрд╛рд╕ рдЕрднреА рднреА рдмрдирд╛рдП рдЬрд╛ рд░рд╣реЗ рд╣реИрдВред
рдЗрд╕реЗ рдЖрдЬрд╝рдорд╛рдПрдВ, рдЬрдВрдЧ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ, рдПрдХ рдбреЗрд╡рд▓рдкрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдЕрдкрдиреА рдХреНрд╖рдорддрд╛рдУрдВ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░реЗрдВред WebAssembly рдХреЛ рдорд╛рд╣рд┐рд░ рдХрд░рдирд╛ рд╣рдо рдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдмрд╣реБрдд рд╣реА рдЬрдЯрд┐рд▓ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдирд╛ рд╡рд╣ рдХреНрд╖рдг рд╣реИ рдЬрд┐рд╕рдХрд╛ рд╣рдо рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ рдЗрдВрддрдЬрд╛рд░ рдХрд░ рд░рд╣реЗ рдереЗред рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ, WebAssembly рди рдХреЗрд╡рд▓ рдПрдХ рд╡реЗрдм рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИ, рдмрд▓реНрдХрд┐ рдпрд╣ рдЖрдо рддреМрд░ рдкрд░ рдПрдХ рд░рдирдЯрд╛рдЗрдо рд╣реИ рдЬреЛ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рд╡рд┐рдХрд╕рд┐рдд рд╣реЛ рд░рд╣рд╛ рд╣реИ рдФрд░ рдЕрдзрд┐рдХ рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рд╡рд┐рдХрд╕рд┐рдд рд╣реЛрдЧрд╛ред
рдпрджрд┐ рдЖрдкрдХреЛ рд░рд┐рдкреЛрд░реНрдЯ рдкрд╕рдВрдж рдЖрдИ рд╣реИ, рддреЛ рдзреНрдпрд╛рди рджреЗрдВ: 24-25 рдирд╡рдВрдмрд░ рдХреЛ рдореЙрд╕реНрдХреЛ рдореЗрдВ рдПрдХ рдирдпрд╛ рд╣реЛрд▓реАрдЬреЗрдПрд╕ рдЖрдпреЛрдЬрд┐рдд рд╣реЛрдЧрд╛, рдФрд░ рд╡рд╣рд╛рдВ рдХрдИ рджрд┐рд▓рдЪрд╕реНрдк рдЪреАрдЬреЗрдВ рднреА рд╣реЛрдВрдЧреАред тАФ , ( ).