Asm.js рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдХреНрд╕рд░ рдкреВрдЫреЗ рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдкреНрд░рд╢реНрди

asm.js рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдПрдХ рдЕрд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдЕрдиреБрдХреВрд▓рд┐рдд, рдирд┐рдореНрди-рд╕реНрддрд░реАрдп рдЙрдкрд╕рдореБрдЪреНрдЪрдп рд╣реИред - asmjs.org

рдХреНрдпрд╛ рдПрдХ рдирдИ рднрд╛рд╖рд╛ рд╣реИ?


рдирд╣реАрдВ, рдпрд╣ рдХреЗрд╡рд▓ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдПрдХ рд╕рдмрд╕реЗрдЯ рд╣реИред Asm.js рдкреНрд░реЛрдЧреНрд░рд╛рдо рдореМрдЬреВрджрд╛ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЗрдВрдЬрдиреЛрдВ рдХреЗ рд╕рд╛рде - рд╕рд╛рде рдкреНрд░рд╛рд░рдВрднрд┐рдХ (рдЖрдЧреЗ-рд╕рдордп, рдПрдУрдЯреА ) рд╕рдВрдХрд▓рди рдХреЗ рд╕рд╛рде рдЗрдВрдЬрди рдореЗрдВ рдЙрд╕реА рддрд░рд╣ рдХрд╛ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░реЗрдЧрд╛, рдЬреЛ asm.js рдХреЛ рдкрд╣рдЪрд╛рдирдиреЗ рдФрд░ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИ; рдЗрд╕рдХреА рдЧрддрд┐ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╣реЛрдЧреА, рдмрд┐рд▓реНрдХреБрд▓!

рдЖрдк asm.js рд╕реЗ рдХреНрдпрд╛ рдкреНрд░рджрд░реНрд╢рди рд▓рд╛рдн рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?


рдпрд╣ рдХрд╣рдирд╛ рдЬрд▓реНрджрдмрд╛рдЬреА рд╣реЛрдЧреАред рд╣рд╛рд▓рд╛рдБрдХрд┐, C рд╕реЗ asm.js рддрдХ рд╕рдВрдХрд▓рд┐рдд рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХреА рд╣рдорд╛рд░реА рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдкреНрд░рджрд░реНрд╢рди рдорд╛рдк рдХреНрд▓реИрдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдорд╢реАрди рдХреЛрдб рдореЗрдВ рд╕рдВрдХрд▓рд┐рдд рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рджреЛ рдЧреБрдирд╛ рд╕реЗ рдЕрдзрд┐рдХ рдордВрджреА рдирд╣реАрдВ рджрд┐рдЦрд╛рддреА рд╣реИ ред рдЬрдм рд╣рдо рдЙрдиреНрд╣реЗрдВ рдПрдХрддреНрд░ рдХрд░реЗрдВрдЧреЗ рддреЛ рд╣рдо рдФрд░ рдорд╛рдк рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░реЗрдВрдЧреЗред

рдореИрдВ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреА рдкреНрд░рдЧрддрд┐ рдХреЛ рдХреИрд╕реЗ рдЯреНрд░реИрдХ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ?


рдореЛрдЬрд╝рд┐рд▓рд╛ рд╕реНрдкрд╛рдЗрдбрд░рдореЛрдВрдХреА рдХреЗ рд▓рд┐рдП asm.js рдХрдВрдкрд╛рдЗрд▓рд░ рдХреЗ рдкрд╣рд▓реЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИред рдореЛрдЬрд╝рд┐рд▓рд╛ рдлрд╛рдЙрдВрдбреЗрд╢рди рд╡рд┐рдХрд┐ рдиреЗ рдЖрдЧреЗ рдХреА рд░рд┐рд▓реАрдЬрд╝ рдФрд░ рдЕрдиреБрдХреВрд▓рди рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рднреА рдкреНрд░рдХрд╛рд╢рд┐рдд рдХреАред рдпрджрд┐ рдЕрдиреНрдп рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЗрдВрдЬрди рдХреЗ рд▓реЗрдЦрдХ asm.js рд╕рдВрдХрд▓рдХ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреА рд╕реНрд╡рдпрдВ рдХреА рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдпреЛрдЬрдирд╛рдПрдВ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рдпрд╣рд╛рдВ рдЙрдирдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд░реЗрдВрдЧреЗред

рдЖрдк рдПрдХ рдЕрд╕рд╛рдорд╛рдиреНрдп рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдмреЛрд▓реА рдХреЗ рдмрдЬрд╛рдп рдмрд╛рдпрдЯреЗрдХреЛрдб рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХрд╛ рд╡рд┐рдХрд╛рд╕ рдХреНрдпреЛрдВ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ?


Emscripten рдпрд╛ Mandreel рдЬреИрд╕реЗ рд╕рдВрдХрд▓рдХ рдХреЗ рд▓рд┐рдП, рдмрд╛рдпреЛрдЯреЗрдХ рднрд╛рд╖рд╛ рдХрд╛ рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рдмрд╕ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдирд╣реАрдВ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЕрдзрд┐рдХрд╛рдВрд╢ рдмрд╛рдЗрдЯрдХреЛрдб рдФрд░ рдорд╢реАрди рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдПрдХ рджреНрд╡рд┐рдЖрдзрд╛рд░реА рдкреНрд░рд╛рд░реВрдк рд╣реЛрддрд╛ рд╣реИ рдЬреЛ рд▓реЛрдЧреЛрдВ рджреНрд╡рд╛рд░рд╛ рдкрдардиреАрдп рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рд╣рдо asm.js рд╕реНрддрд░ рдкрд░ рдПрдХ рдЕрдзрд┐рдХ рдорд╛рдирд╡-рдкрдардиреАрдп рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ рдЕрд╕рд╣рдорддрд┐ рдФрд░ рдорд╛рдирд╡-рдкрдардиреАрдп рдФрд░ рд▓реЗрдЦрди рдпреЛрдЧреНрдп рджреЛрдиреЛрдВ рдореЗрдВ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реЛрдЧрд╛ред

рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ asm.js рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкрд░рд┐рдгрд╛рдо рдирд╣реАрдВ рд╣реЛрдЧрд╛ рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рдХреЛрдб рдирд┐рд╖реНрдкрд╛рджрди?


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

рдЗрд╕рдХреЗ рдмрдЬрд╛рдп NaCl рдпрд╛ PNaCl рдХреНрдпреЛрдВ рдирд╣реАрдВ ? рдХреНрдпрд╛ рдЖрдк рдХреЗрд╡рд▓ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд┐рджреНрджреА рд╣реИрдВ?


NaCl рдФрд░ PNaCl рдЬреИрд╕реА рдирдИ рддрдХрдиреАрдХреЛрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ asm.js рдХрд╛ рдореМрд▓рд┐рдХ рд▓рд╛рдн рдпрд╣ рд╣реИ рдХрд┐ asm.js рдЖрдЬ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ: рдореМрдЬреВрджрд╛ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЗрдВрдЬрди рдЗрд╕ рд╢реИрд▓реА рдореЗрдВ рд▓рд┐рдЦреЗ рдЧрдП рдХреЛрдб рдХреЛ рдХрд╛рдлреА рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рддреЗ рд╣реИрдВред рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдЖрдЬ asm.js рдкрд░ рдХреЛрдб рдЬрд╛рд░реА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рд╕рдордп рдХреЗ рд╕рд╛рде, рдЗрд╕рдХреЗ рдХрд╛рдо рдореЗрдВ рддреЗрдЬреА рдЖрдПрдЧреАред рдПрдХ рдЕрдиреНрдп рдорд╣рддреНрд╡рдкреВрд░реНрдг рд▓рд╛рдн рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреА рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЕрдзрд┐рдХ рд╕рд╣рдЬрддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдореМрдЬреВрджрд╛ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЗрдВрдЬрди рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рдмрд╣реБрдд рдХрдо рдЕрддрд┐рд░рд┐рдХреНрдд рддрдВрддреНрд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ - рдФрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП API API рдкрд░рдд рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИред

рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ JIT рд╕рдВрдХрд▓рдХ рдХрд╛ рдЕрдиреБрдХреВрд▓рди рдЬрд╛рд░реА рд░рдЦреЗрдВ?


рдФрд░ рдЙрд╕реЗ рд░реЛрдХрдиреЗ рдХреА рдХреЛрдИ рдЬрд░реВрд░рдд рдирд╣реАрдВ рд╣реИ! рд╣рд╛рд▓рд╛рдВрдХрд┐, JIT рдХрдВрдкрд╛рдЗрд▓рд░реЛрдВ рдХрд╛ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрдо рдЕрдиреБрдорд╛рди рдХреЗ рдореБрддрд╛рдмрд┐рдХ рд╣реИ, рдЬреЛ рдЬрдЯрд┐рд▓ рдЕрдиреБрдорд╛рдиреЛрдВ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИред Asm.js рдореЙрдбрд▓ C рдпрд╛ C ++ рдореЙрдбрд▓ рдХреЗ рд╕рдорд╛рди рд╣реИ , рдЬреЛ рднрд╛рд╖рд╛ рдХреЛ рдбрд╛рдпрдиреЗрдорд┐рдХ рдЯрд╛рдЗрдкрд┐рдВрдЧ рд╕реЗ, рд▓рд┐рдкрдЯреЗ рд╣реБрдП рдорд╛рди рд╕реЗ, рдХрдЪрд░рд╛ рд╕рдВрдЧреНрд░рд╣рдг рд╕реЗ рдмрдЪрд╛рддрд╛ рд╣реИред

рдХреНрдпрд╛ рдпрд╣ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рджреБрднрд╛рд╖рд┐рдпрд╛ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдФрд░ рдлрд┐рд░ рд╕рдВрдХрд▓рдХ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХреЛрдб рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдХреНрд╖рдо рдирд╣реАрдВ рд╣реИ?


рдкреНрд░реЛрд▓реЙрдЧ рдирд┐рд░реНрджреЗрд╢ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЗрдВрдЬрди рдХреЛ рд╕рдВрдХрд▓рди рд╕реНрддрд░ рдкрд░ asm.js рдХреЛрдб рдХреЛ рддреБрд░рдВрдд рдкрд╣рдЪрд╛рдирдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдФрд░ рддреБрд░рдВрдд рдЗрд╕реЗ рдЕрд╕реЗрдВрдмрд▓реА рднрд╛рд╖рд╛ рдореЗрдВ рдЕрдиреБрд╡рд╛рдж рдХрд░рддрд╛ рд╣реИред рдЗрд╕ рддрд░рд╣ рдХреЗ рдХреЛрдб рджреБрднрд╛рд╖рд┐рдпрд╛ рдореЗрдВ рдмрд┐рд▓реНрдХреБрд▓ рдирд╣реАрдВ рдорд┐рд▓рддреЗ рд╣реИрдВред

рдпрджрд┐ рдЙрдирдХрд╛ рдХреЛрдб рд╕рддреНрдпрд╛рдкрди рдкрд╛рд╕ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рддреЛ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд▓рд┐рдП рдХреНрдпрд╛ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рджреА рдЬрд╛рддреА рд╣реИ?


рдкреНрд░реЛрд▓реЙрдЧ рдирд┐рд░реНрджреЗрд╢ рдбреЗрд╡рд▓рдкрд░ рдХреЗ рдЗрд░рд╛рджреЗ рдХреЛ рдмрд╛рдж рдХреЗ рдХреЛрдб asm.js. рдпрджрд┐ рдХреЛрдб рд╕рддреНрдпрд╛рдкрди рдкрд╛рд╕ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рддреЛ рдЗрдВрдЬрди рдбреЗрд╡рд▓рдкрд░ рдХреЛ рддреНрд░реБрдЯрд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реВрдЪрд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдбрд┐рдмрдЧ рдХрдВрд╕реЛрд▓ рдореЗрдВ, рдпрд╛ рдЕрдиреНрдп рдорд╛рдзреНрдпрдореЛрдВ рд╕реЗред

рдбреЗрд╡рд▓рдкрд░реНрд╕ asm.js рдХреЛрдб рдХреЛ рдбрд┐рдмрдЧ рдХреИрд╕реЗ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?


рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдбрдмреНрд▓реНрдпреВрдбрдмреНрд▓реНрдпреВрдбрдмреНрд▓реНрдпреВ рдХреЗ рд▓рд┐рдП рд╕рдВрдХрд▓рд┐рдд рднрд╛рд╖рд╛рдУрдВ рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдЕрднреА рддрдХ рд╣рд▓ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рд╕реНрд░реЛрдд рдорд╛рдирдЪрд┐рддреНрд░ рдорджрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╕рдВрдХрд▓рд┐рдд рдХреЛрдб рдХреА рдбреАрдмрдЧрд┐рдВрдЧ рдХреЛ рдмреЗрд╣рддрд░ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрднреА рднреА рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдХреЗ рдкрд╛рд╕ рдмрд╣реБрдд рдХрд╛рдо рд╣реИред

рдХреНрдпрд╛ asm.js JVM рдпрд╛ CLR рдЬреИрд╕реА рдкреНрд░рдмрдВрдзрд┐рдд рднрд╛рд╖рд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?


рд╡рд░реНрддрдорд╛рди рдореЗрдВ, asm.js рдХреЛрдб рдореЗрдВ рдХрдЪрд░рд╛ рд╕рдВрдЧреНрд░рд╣рдг рдХреЗ рдЕрдзреАрди рдбреЗрдЯрд╛ рддрдХ рд╕реАрдзреА рдкрд╣реБрдВрдЪ рдирд╣реАрдВ рд╣реИ: asm.js рдкрд░ рдПрдХ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗрд╡рд▓ рдмрд╛рд╣реНрдп рдбреЗрдЯрд╛ рддрдХ рдЕрдкреНрд░рддреНрдпрдХреНрд╖ рд░реВрдк рд╕реЗ, рдЙрдирдХреЗ рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛рдУрдВ рджреНрд╡рд╛рд░рд╛ рдкрд╣реБрдВрдЪ рд╕рдХрддрд╛ рд╣реИред рднрд╡рд┐рд╖реНрдп рдХреЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдореЗрдВ, рд╣рдо ES6 рд╕рдВрд░рдЪрд┐рдд рдмрд╛рдЗрдирд░реА рдбреЗрдЯрд╛ API рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдХрдЪрд░рд╛ рд╕рдВрдЧреНрд░рд╣ рдФрд░ рд╕рдВрд░рдЪрд┐рдд рдбреЗрдЯрд╛ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХрд╛ рдЗрд░рд╛рджрд╛ рд░рдЦрддреЗ рд╣реИрдВ, рдЬреЛ рдкреНрд░рдмрдВрдзрд┐рдд рднрд╛рд╖рд╛рдУрдВ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рд╕рд╛рдзрди рдХреЗ рд░реВрдк рдореЗрдВ asm.js рдХреЗ рдЖрдХрд░реНрд╖рдг рдХреЛ рдмрдврд╝рд╛рдПрдЧрд╛ред

рдХреНрдпрд╛ asm.js eval рдФрд░ рдлрд╝рдВрдХреНрд╢рди рдХреЙрд▓ рдХреЗ рд╕рд╛рде рд╕рдВрдЧрдд рд╣реИ? рдпрд╣ asm.js рд╕рдВрдХрд▓рдХ рдХреЛ рдЧрддрд┐рд╢реАрд▓ рд░реВрдк рд╕реЗ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрднрд╡ рд╣реИ?


рдмреЗрд╢рдХ! Asm.js рдореЙрдбреНрдпреВрд▓ рдХрд╛ рд╕рдВрдХрд▓рди рдЗрд╕рдХреЗ рд╕реНрд░реЛрдд рдХреЛрдб рдХреЗ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рджреМрд░рд╛рди рд╣реЛрддрд╛ рд╣реИред рдпрджрд┐ рдЖрдк eval рдпрд╛ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░рдХреЗ рдЗрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ , рддреЛ рдЧрддрд┐рд╢реАрд▓ рд╕рдВрдХрд▓рди рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВред

Asm.js рд╕рдВрдХрд▓рди рд╕рдордп рдХреЗ рдХрд╛рд░рдг рдУрд╡рд░рд╣реЗрдбреНрд╕ рдХрд┐рддрдиреЗ рдмрдбрд╝реЗ рд╣реИрдВ?


рд╕рддреНрдпрд╛рдкрди рдФрд░ рд╕рдВрдХрд▓рди рдХрд╛рдлреА рддреЗрдЬ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдлрд┐рд░ рднреА рдпрд╣ рдХреБрдЫ рд▓рд╛рдЧрддреЛрдВ рдХреА рдУрд░ рдЬрд╛рддрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдХреЗрд╡рд▓ asm.js рдХреЛрдб рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ: рдпрджрд┐ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛрдб рдореЗрдВ рдкреНрд░реЛрд▓реЙрдЧ рдирд┐рд░реНрджреЗрд╢ asm.js рдирд╣реАрдВ рд╣реИ, рддреЛ рдпрд╣ рдХрд┐рд╕реА рднреА рдЕрддрд┐рд░рд┐рдХреНрдд рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рд╕реЗ рдирд╣реАрдВ рдЧреБрдЬрд░рддрд╛ рд╣реИред рдпрджрд┐ рдЖрдк asm.js рдХреЛрдб рдХреЗ рддрддреНрдХрд╛рд▓ рд╕рддреНрдпрд╛рдкрди рдФрд░ рд╕рдВрдХрд▓рди рд╕реЗ рдЬреБрдбрд╝реА рджреЗрд░реА рд╕реЗ рдмрдЪрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдмрд╛рдж рдореЗрдВ eval рдпрд╛ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рддрдм рддрдХ рд╕рдВрдХрд▓рди рдореЗрдВ рджреЗрд░реА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдХреНрдпрд╛ asm.js рдХрд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рд╕рдордп рдкрд░ рд▓рд╛рднрдХрд╛рд░реА рдкреНрд░рднрд╛рд╡ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ?


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

Source: https://habr.com/ru/post/In171561/


All Articles