Runtime: рд╕рд░реНрд╡реЗрдХреНрд╖рдг: рдореВрд▓ рдирд┐рд╡рд╛рд╕реА AOT

рдХреЛ рдирд┐рд░реНрдорд┐рдд 6 рдЕрдЧре░ 2020  ┬╖  55рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: dotnet/runtime

рдкреНрд░рджрд░реНрд╢рди рдПрдХ рдкреНрд░рдореБрдЦ .NET рд╡рд┐рд╢реЗрд╖рддрд╛ рд░рд╣реА рд╣реИред рдкреНрд░рдХрд╛рд╢рд┐рдд рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореМрдЬреВрджрд╛ рд╡рд┐рдХрд▓реНрдк рдЙрди рдЕрдзрд┐рдХрд╛рдВрд╢ рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ .NET рдЖрдЬ рд▓рдХреНрд╖рд┐рдд рдХрд░рддрд╛ рд╣реИред

рдЖрдк рдореЗрдВ рд╕реЗ рдХреБрдЫ рдиреЗ рд╣рдореЗрдВ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд░реВрдк рд╕реЗ рднрд┐рдиреНрди рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЗ рд╕рд╛рде рджреЗрд╢реА AOT рд╕рдВрдХрд▓рди рд╡рд┐рдХрд▓реНрдк рдЬреЛрдбрд╝рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рд╛ред рдиреЗрдЯрд┐рд╡ рдПрдУрдЯреА рдХреА рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рдЯреНрд░реЗрдбрдСрдл рдХреЗ рд╕рд╛рде рдЖрддреА рд╣реИрдВ рдЬреИрд╕реЗ рдХрд┐ рдХрдо рд╕рдВрдЧрддрддрд╛ рдЬрд┐рд╕реЗ .NET рд░рдирдЯрд╛рдЗрдо рдлреЙрд░реНрдо рдлреИрдХреНрдЯрд░ рдореЗрдВ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рд╕рдордЭрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред рд╣рдордиреЗ рд╕реНрдерд╛рдиреАрдп рдПрдУрдЯреА рдЙрдкрдпреЛрдЧ рдорд╛рдорд▓реЛрдВ рдХреЛ рдмреЗрд╣рддрд░ рдврдВрдЧ рд╕реЗ рд╕рдордЭрдиреЗ рдореЗрдВ рд╣рдорд╛рд░реА рд╕рд╣рд╛рдпрддрд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд░реНрд╡реЗрдХреНрд╖рдг рдмрдирд╛рдпрд╛ рд╣реИред

рд╣рдо рдЖрдкрдХреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреА рд╕рд░рд╛рд╣рдирд╛ рдХрд░реЗрдВрдЧреЗ рддрд╛рдХрд┐ рд╣рдо рднрд╡рд┐рд╖реНрдп рдХреЗ рд▓рд┐рдП рд╕рд╣реА рдпреЛрдЬрдирд╛рдПрдБ рдмрдирд╛рдиреЗ рдкрд░ рдХрд╛рдо рдХрд░ рд╕рдХреЗрдВред рдпрджрд┐ рдЖрдк рд╕рдВрдкрд░реНрдХ рд╡рд┐рд╡рд░рдг рдкреНрд░рджрд╛рди рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рдПрдБ рдЧреБрдордирд╛рдо рд╣реЛрдВрдЧреАред

рд╕рд░реНрд╡реЗрдХреНрд╖рдг: https://www.surveymonkey.com/r/7THQK5K

рдЕрдкрдирд╛ рд╕рдордп рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж!

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдкреНрд░рдХрд╛рд╢рд┐рдд рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореМрдЬреВрджрд╛ рд╡рд┐рдХрд▓реНрдк рдЙрди рдЕрдзрд┐рдХрд╛рдВрд╢ рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ .NET рдЖрдЬ рд▓рдХреНрд╖рд┐рдд рдХрд░рддрд╛ рд╣реИред

...

рдПрдУрдЯреА рдЬреНрдпрд╛рджрд╛рддрд░ рдЬреАрдпреВрдЖрдИ рдРрдкреНрд╕ рдореЗрдВ рдорд╛рдпрдиреЗ рд░рдЦрддрд╛ рд╣реИред рд╡рд╣реАрдВ рдЗрд╕ рдкрд░ рдлреЛрдХрд╕ рдХрд░рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИред рдореБрдЭреЗ рд╡реЗрдмрдПрдк, рд╕реЗрд╡рд╛рдУрдВ рдЖрджрд┐ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рджрд┐рдЦ рд░рд╣реА рд╣реИ

рдореИрдВ рдЕрд╕рд╣рдордд рд╣реВрдВред рд╕рд░реНрд╡рд╢реНрд░реЗрд╖реНрда рдЕрдВрддрд┐рдо рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ UX рдХреЗ рд▓рд┐рдП, рдЧреЗрдо рдЗрдВрдЬрди , рд╕рд░реНрд╡рд░ рд░рд╣рд┐рдд рдорд╛рдЗрдХреНрд░реЛрд╕рд░реНрд╡рд┐рд╕реЗрдЬ , рдбреЗрд╕реНрдХрдЯреЙрдк GUI рдПрдкреНрд▓рд┐рдХреЗрд╢рди , iOS рдФрд░ Android рдПрдкреНрд▓рд┐рдХреЗрд╢рди, WASM рдЖрдзрд╛рд░рд┐рдд рдХреНрд▓рд╛рдЗрдВрдЯ рд╕рд╛рдЗрдб SPA/рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдФрд░ рдмреБрдирд┐рдпрд╛рджреА CLI рдЯреВрд▓ (~ рдХреБрдЫ MB) рдХреЗ рд▓рд┐рдП AOT w/рд╕реНрдЯреИрдЯрд┐рдХ рд▓рд┐рдВрдХрд┐рдВрдЧ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред

рдореИрдВрдиреЗ рдХрд╛рдордирд╛ рдХреА рд╣реИ рдХрд┐ рдкрд┐рдЫрд▓реЗ рдХреБрдЫ рд╡рд░реНрд╖реЛрдВ рдореЗрдВ рд╕реА# рдореЗрдВ рдЙрдкрд░реЛрдХреНрдд рд╕рднреА рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдХреЛ рдЖрдЬрдорд╛рддреЗ рд╣реБрдП рдореИрдВ рдЖрд╕рд╛рдиреА рд╕реЗ рдПрдУрдЯреА рдЕрдкрдирд╛ рдХреЛрдб рд╕рдВрдХрд▓рд┐рдд рдХрд░ рд╕рдХреВрдВ рдФрд░ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдПрд▓рдПрд▓рд╡реАрдПрдо рдЖрдзрд╛рд░рд┐рдд рднрд╛рд╖рд╛рдУрдВ рдЬреИрд╕реЗ рд░рд╕реНрдЯ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ .NET рднрд╛рд░реА рд░реВрдк рд╕реЗ рдЧрд╛рдпрдм рд╣реИред

рд╡рд░реНрддрдорд╛рди рдкреНрд░рдХрд╛рд╢рди рд╡рд┐рдХрд▓реНрдк "рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ" рджрд┐рдЦрд╛рдИ рджреЗрдиреЗ рдХрд╛ рдХрд╛рд░рдг рдпрд╣ рд╣реИ рдХрд┐ .NET рдРрддрд┐рд╣рд╛рд╕рд┐рдХ рд░реВрдк рд╕реЗ рдЙрдкрд░реЛрдХреНрдд рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рдирд╣реАрдВ рд░рд╣рд╛ рд╣реИ рдФрд░ рд▓реЛрдЧ C# рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ AOT (рдЬреИрд╕реЗ: Unity, UWP, Mono) рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╣реИрдВред рдЖрдВрд╢рд┐рдХ AOT рд╕рдорд╛рдзрд╛рди рдЬреИрд╕реЗ рдореВрд▓ рдЫрд╡рд┐ рдХреЗ рд░реВрдк рдореЗрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд░реЗрдбреАрдЯреЙрд░рди) рдореЛрдиреЛрд▓рд┐рдерд┐рдХ рд╕рд░реНрд╡рд░ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдпрд╛ рдмрдбрд╝реЗ рдбреЗрд╕реНрдХрдЯреЙрдк рдХреНрд▓рд╛рдЗрдВрдЯ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдХреЛрд▓реНрдб рд╕реНрдЯрд╛рд░реНрдЯ рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдореЗрдВ "рдорджрдж" рдХрд░ рд╕рдХрддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдмрд╛рдЗрдирд░реА рдЖрдХрд╛рд░ рдЕрднреА рднреА рдПрдХ рдкреВрд░реНрдг рдПрдУрдЯреА рд░рдирдЯрд╛рдЗрдо рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдХрдИ рдЧреБрдирд╛ рдмрдбрд╝рд╛ рд╣реИред

.NET рд╕рд░реНрд╡рд░ рд░рд╣рд┐рдд/рдХрдВрдЯреЗрдирд░реАрдХреГрдд рдорд╛рдЗрдХреНрд░реЛрд╕рд░реНрд╡рд┐рд╕реЗрдЬ рдХреЗ рд▓рд┐рдП рдкрд╣рд▓реЗ рд╕реЗ рд╣реА "рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо" рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ - рдпреЗ рдПрдУрдЯреА рд╕рдВрдХрд▓рди, рдХрдо рдмрд╛рдЗрдирд░реА рдЖрдХрд╛рд░ рдФрд░ рдиреНрдпреВрдирддрдо рдирд┐рд░реНрднрд░рддрд╛ рд╕реЗ рднрд╛рд░реА рд▓рд╛рдн рдЙрдард╛ рд╕рдХрддреЗ рд╣реИрдВ ред
рд╡рд░реНрддрдорд╛рди рд░реЗрдбреАрдЯреЙрд░рди + рдЯрд┐рдпрд░ рдХрдВрдкрд╛рдЗрд▓реЗрд╢рди + рдЖрдИрдПрд▓ рд▓рд┐рдВрдХрд░ рд╕рдорд╛рдзрд╛рди рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдлрд╝рд╛рдЗрд▓ рдЖрдХрд╛рд░ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реАрдорд╛ рддрдХ рдкрд╣реБрдВрдЪ рдЧрдпрд╛ рд╣реИ рдЬреЛ рд╕реНрд╡рдпрдВ рдирд┐рд╣рд┐рдд рддреИрдирд╛рддреА рдХреЗ рд▓рд┐рдП рдкрд░реЗрд╢рд╛рди рд╣реИ, рдЬреИрд╕реЗ рдХрд┐ рдПрдбрдмреНрд▓реНрдпреВрдПрд╕ рд▓реИрдореНрдмреНрдбрд╛ рджреНрд╡рд╛рд░рд╛ рдЙрдирдХреЗ рдмреНрд▓реЙрдЧ рдкреЛрд╕реНрдЯ рдореЗрдВ рдЕрдиреБрд╢рдВрд╕рд┐рдд ред

рдЕрд╕рд▓реА рдореБрджреНрджрд╛ рдпрд╣ рд╣реИ рдХрд┐ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдмрд╣реБрдд рд╕рд╛рд░реЗ рд░рдирдЯрд╛рдЗрдо/рдХреЛрдб рдЬреЗрдирд░реЗрдЯрд░/рдЯреВрд▓рдЪреЗрди/рдкреНрд░рдпреЛрдЧ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдХреНрд╡рд┐рд░реНрдХ рдХреЗ рд╕рд╛рде рдЙрдкрд▓рдмреНрдз рд╣реИрдВ: IL2CPP/рдмрд░реНрд╕реНрдЯ (рдпреВрдирд┐рдЯреА), рдореЛрдиреЛ рдХрд╛ рдПрдУрдЯреА рдмреИрдХрдПрдВрдб (рдЬрд╝рд╛рдорд░реАрди/рдмреНрд▓реЗрдЬрд╝рд░/рдпреВрдиреЛ), .NET рдиреЗрдЯрд┐рд╡/рдХреЛрд░рдЖрд░рдЯреА тАЛтАЛ(рдпреВрдбрдмреНрд▓реНрдпреВрдкреА), рдореЛрдиреЛ рдХрд╛ LLVM рдмреИрдХрдПрдВрдб, CrossGen/ReadyToRun (.NET Core), рдЖрджрд┐ред рдФрд░ рдпрд╣ рдХреЗрд╡рд▓ рдЕрд╕реНрд╡реАрдХрд╛рд░реНрдп рд╣реИ рдХрд┐ .NET рдореЗрдВ рдорд╛рдирдХреАрдХреГрдд AOT рд╕рдВрдХрд▓рди рдЯреВрд▓рдЪреЗрди рдирд╣реАрдВ рд╣реИред

рдпрджрд┐ рдЗрди рд╕рднреА рдЯреАрдореЛрдВ рдиреЗ рдЕрдкрдиреЗ рдЗрдВрдЬреАрдирд┐рдпрд░рд┐рдВрдЧ рдкреНрд░рдпрд╛рд╕реЛрдВ рдХреЛ рдХреЛрд░рдЖрд░рдЯреА, рдореЛрдиреЛ рдПрд▓рдПрд▓рд╡реАрдПрдо рдмреИрдХрдПрдВрдб рдпрд╛ рдЕрдм рдЫреЛрдбрд╝реЗ рдЧрдП рдбреЙрдЯрдиреЗрдЯ/рд▓рд┐рд▓рд┐рдХ рдЬреИрд╕реЗ рдХреБрдЫ рд╕рд╛рдорд╛рдиреНрдп рдкрд░ рд╕рдВрдпреБрдХреНрдд рдХрд┐рдпрд╛ рд╣реЛрддрд╛ рддреЛ рдПрдУрдЯреА .NET рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд▓рд┐рдП рдПрдХ рдмреЗрд╣рддрд░ рдЕрдиреБрднрд╡ рд╣реЛрддрд╛ред

AOT w/рд╕реНрдереИрддрд┐рдХ рд▓рд┐рдВрдХрд┐рдВрдЧ рдЕрдм рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд▓рд┐рдП рд╕реБрд▓рдн рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдЬрдирддрд╛ рдХреЗ рд▓рд┐рдП CI/CD рд╣реИ рдФрд░ рдпрд╣ рдЕрдм рдХреЗрд╡рд▓ рдкреНрд░рджрд░реНрд╢рди рдореЗрдВ рдорд╛рдореВрд▓реА рд╡реГрджреНрдзрд┐ рдХреЗ рд▓рд┐рдП рдПрдХ рдЭреБрдВрдЭрд▓рд╛рд╣рдЯ рдирд╣реАрдВ рд╣реИред

рд╕реА # рдПрдВрдбрдЧреЗрдо: рдиреЗрдЯрд┐рд╡ рдХреЛрдб, рдиреЗрдЯрд┐рд╡ рдпреВрдЖрдИ, рддреЗрдЬ рдФрд░ рдЖрд╕рд╛рди рдЗрдВрдЯрд░рдСрдк, рдиреЗрдЯрд┐рд╡ рдПрдХреНрд╕рдкреЛрд░реНрдЯ рдФрд░ рдкрд░рдлреЙрд░реНрдореЗрдВрд╕ рдУрд░рд┐рдПрдВрдЯреЗрдб рдПрдкреАрдЖрдИ (рдЬреИрд╕реЗ, System.IO.Pipelines, System.Text.Json)ред

рд╕рднреА 55 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдореИрдВ рдЗрд╕ рдореБрджреНрджреЗ рдореЗрдВ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд░реНрд╡реЛрддреНрддрдо рдХреНрд╖реЗрддреНрд░ рд▓реЗрдмрд▓ рдХрд╛ рдкрддрд╛ рдирд╣реАрдВ рд▓рдЧрд╛ рд╕рдХрд╛ред рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рд▓рд┐рдЦрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рд╣реИ рддреЛ рдХреГрдкрдпрд╛ рдареАрдХ рдПрдХ рдХреНрд╖реЗрддреНрд░ рд▓реЗрдмрд▓ рдЬреЛрдбрд╝рдХрд░ рдореБрдЭреЗ рд╕реАрдЦрдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдВред

рдЯрд╛рдЗрдкреЛ рдХреА рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ - * 9. Which of these tasks are apart of your production debugging workflow? (Please select all that apply) рд╢рд╛рдпрдж рдпрд╣ "рдЗрд╕рдХрд╛ рдПрдХ рд╣рд┐рд╕реНрд╕рд╛" рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП?

рдореИрдВ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рджреЗрдЦрдХрд░ рдмрд╣реБрдд рдЦреБрд╢ рд╣реВрдБ! рдореИрдВ

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

@ рд╕рд░реНрдЬрд┐рдпреЛ0694 рдпреВрдбрдмреНрд▓реНрдпреВрдкреА рдкреНрд░рд╢реНрди рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рдореИрдВ рд╕рд╣рдордд рд╣реВрдВ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЙрд▓реНрд▓реЗрдЦ рдХрд░рдирд╛ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ рдХрд┐ рдпрджрд┐ рдЖрдкрдиреЗ рдУрдкрди рд╕реЛрд░реНрд╕ рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдерд╛ рддреЛ рдиреЛрдЯреНрд╕ рдФрд░ рдЙрдкрдпреЛрдЧ рдХреЛрд░рд░реНрдЯ рдХрд╛ рдЙрддреНрддрд░ рджреЗрдВред

рдЗрд╕ рд╕рд░реНрд╡реЗрдХреНрд╖рдг рдХреЛ рдкреЛрд╕реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж!

рдореИрдВ рдЗрд╕ рдмрд╛рдд рдХреЛ рд▓реЗрдХрд░ рднреА рдЕрд╕рдордВрдЬрд╕ рдореЗрдВ рдерд╛ рдХрд┐ рдпреВрдбрдмреНрд▓реНрдпреВрдкреА рджреЗрд╡ рдХреЗ рд░реВрдк рдореЗрдВ рдХреБрдЫ рд╕рд╡рд╛рд▓реЛрдВ рдХреЗ рдЬрд╡рд╛рдм рдХреИрд╕реЗ рджреВрдВ, рдЬрд┐рдиреНрд╣реЛрдВрдиреЗ рдХреЗрд╡рд▓ .NET рдиреЗрдЯрд┐рд╡ рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рд╣реИред UWP рдХреЗ .NET рдиреЗрдЯрд┐рд╡ рдЯреВрд▓рдЪреЗрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдореЗрд░реА рдХрдИ рд░рд╛рдп рд╣реИ рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЙрдиреНрд╣реЗрдВ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЬрдЧрд╣ рдирд╣реАрдВ рджрд┐рдЦреАред рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдареАрдХ рд╣реИ рдЕрдЧрд░ рдпрд╣ рдЗрд╕ рд╕рд░реНрд╡реЗрдХреНрд╖рдг рдХреЗ рджрд╛рдпрд░реЗ рд╕реЗ рдмрд╛рд╣рд░ рд╣реИ рд▓реЗрдХрд┐рди рдпрд╣ рд╕реНрдкрд╖реНрдЯ рдХрд░рдиреЗ рд▓рд╛рдпрдХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

рдореБрдЭреЗ рдпрд╣ рднреА рд╕рдВрджреЗрд╣ рд╣реИ "рдХреНрдпреЛрдВрдХрд┐ .NET рдиреЗрдЯрд┐рд╡ рдпреВрдбрдмреНрд▓реНрдпреВрдкреА рд░рд┐рд▓реАрдЬ рдмрд┐рд▓реНрдб рдХреЗ рд▓рд┐рдП рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╣реИ рдФрд░ рд╕реНрдЯреЛрд░ рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рд╣реИ" рд╢рд╛рдпрдж рд╕рдмрд╕реЗ рдЖрдо рдХрд╛рд░рдг рд╣реИ рдХрд┐ рд▓реЛрдЧ рдПрдУрдЯреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреНрдпреЛрдВ рдХрд░рддреЗ рд╣реИрдВ рд▓реЗрдХрд┐рди рдпрд╣ рдкреНрд░рд╢реНрди 5 рдХреЗ рд▓рд┐рдП рдкреВрд░реНрд╡-рдЖрдмрд╛рджреА рд╡рд╛рд▓реЗ рдЙрддреНрддрд░реЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдирд╣реАрдВ рд╣реИред

рдЬреАрдпреВрдЖрдИ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдореЗрдВ рдПрд╡рд▓реЛрдирд┐рдпрд╛ рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж :) рд╣рдордиреЗ рдкрд╣рд▓реЗ рдХреЛрд░рдЖрд░рдЯреА тАЛтАЛ+ рдПрд╡рд▓реЛрдирд┐рдпрд╛ рдХреЗ рд╕рд╛рде рдкреНрд░рдпреЛрдЧ рдХрд┐рдпрд╛ рд╣реИ рдФрд░ рдкрд░рд┐рдгрд╛рдо рдмрд╣реБрдд рдЦреВрдмрд╕реВрд░рдд рджреЗрд╢реА рдЬреАрдпреВрдЖрдИ рдРрдкреНрд╕ рдереЗ: рдбреА рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╣рдордиреЗ 2 рд╕рд╛рд▓ рд╣реЛ рдЬрд╛рдиреЗ рдХреЗ рдмрд╛рдж рд╕реЗ рдХрдВрдкреИрдЯ рдмрдирд╛рдП рд░рдЦрд╛ рд╣реИ ...

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

рдкреНрд░рдХрд╛рд╢рд┐рдд рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореМрдЬреВрджрд╛ рд╡рд┐рдХрд▓реНрдк рдЙрди рдЕрдзрд┐рдХрд╛рдВрд╢ рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ .NET рдЖрдЬ рд▓рдХреНрд╖рд┐рдд рдХрд░рддрд╛ рд╣реИред

...

рдПрдУрдЯреА рдЬреНрдпрд╛рджрд╛рддрд░ рдЬреАрдпреВрдЖрдИ рдРрдкреНрд╕ рдореЗрдВ рдорд╛рдпрдиреЗ рд░рдЦрддрд╛ рд╣реИред рд╡рд╣реАрдВ рдЗрд╕ рдкрд░ рдлреЛрдХрд╕ рдХрд░рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИред рдореБрдЭреЗ рд╡реЗрдмрдПрдк, рд╕реЗрд╡рд╛рдУрдВ рдЖрджрд┐ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рджрд┐рдЦ рд░рд╣реА рд╣реИ

рдореИрдВ рдЕрд╕рд╣рдордд рд╣реВрдВред рд╕рд░реНрд╡рд╢реНрд░реЗрд╖реНрда рдЕрдВрддрд┐рдо рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ UX рдХреЗ рд▓рд┐рдП, рдЧреЗрдо рдЗрдВрдЬрди , рд╕рд░реНрд╡рд░ рд░рд╣рд┐рдд рдорд╛рдЗрдХреНрд░реЛрд╕рд░реНрд╡рд┐рд╕реЗрдЬ , рдбреЗрд╕реНрдХрдЯреЙрдк GUI рдПрдкреНрд▓рд┐рдХреЗрд╢рди , iOS рдФрд░ Android рдПрдкреНрд▓рд┐рдХреЗрд╢рди, WASM рдЖрдзрд╛рд░рд┐рдд рдХреНрд▓рд╛рдЗрдВрдЯ рд╕рд╛рдЗрдб SPA/рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдФрд░ рдмреБрдирд┐рдпрд╛рджреА CLI рдЯреВрд▓ (~ рдХреБрдЫ MB) рдХреЗ рд▓рд┐рдП AOT w/рд╕реНрдЯреИрдЯрд┐рдХ рд▓рд┐рдВрдХрд┐рдВрдЧ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред

рдореИрдВрдиреЗ рдХрд╛рдордирд╛ рдХреА рд╣реИ рдХрд┐ рдкрд┐рдЫрд▓реЗ рдХреБрдЫ рд╡рд░реНрд╖реЛрдВ рдореЗрдВ рд╕реА# рдореЗрдВ рдЙрдкрд░реЛрдХреНрдд рд╕рднреА рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдХреЛ рдЖрдЬрдорд╛рддреЗ рд╣реБрдП рдореИрдВ рдЖрд╕рд╛рдиреА рд╕реЗ рдПрдУрдЯреА рдЕрдкрдирд╛ рдХреЛрдб рд╕рдВрдХрд▓рд┐рдд рдХрд░ рд╕рдХреВрдВ рдФрд░ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдПрд▓рдПрд▓рд╡реАрдПрдо рдЖрдзрд╛рд░рд┐рдд рднрд╛рд╖рд╛рдУрдВ рдЬреИрд╕реЗ рд░рд╕реНрдЯ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ .NET рднрд╛рд░реА рд░реВрдк рд╕реЗ рдЧрд╛рдпрдм рд╣реИред

рд╡рд░реНрддрдорд╛рди рдкреНрд░рдХрд╛рд╢рди рд╡рд┐рдХрд▓реНрдк "рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ" рджрд┐рдЦрд╛рдИ рджреЗрдиреЗ рдХрд╛ рдХрд╛рд░рдг рдпрд╣ рд╣реИ рдХрд┐ .NET рдРрддрд┐рд╣рд╛рд╕рд┐рдХ рд░реВрдк рд╕реЗ рдЙрдкрд░реЛрдХреНрдд рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рдирд╣реАрдВ рд░рд╣рд╛ рд╣реИ рдФрд░ рд▓реЛрдЧ C# рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ AOT (рдЬреИрд╕реЗ: Unity, UWP, Mono) рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╣реИрдВред рдЖрдВрд╢рд┐рдХ AOT рд╕рдорд╛рдзрд╛рди рдЬреИрд╕реЗ рдореВрд▓ рдЫрд╡рд┐ рдХреЗ рд░реВрдк рдореЗрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд░реЗрдбреАрдЯреЙрд░рди) рдореЛрдиреЛрд▓рд┐рдерд┐рдХ рд╕рд░реНрд╡рд░ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдпрд╛ рдмрдбрд╝реЗ рдбреЗрд╕реНрдХрдЯреЙрдк рдХреНрд▓рд╛рдЗрдВрдЯ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдХреЛрд▓реНрдб рд╕реНрдЯрд╛рд░реНрдЯ рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдореЗрдВ "рдорджрдж" рдХрд░ рд╕рдХрддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдмрд╛рдЗрдирд░реА рдЖрдХрд╛рд░ рдЕрднреА рднреА рдПрдХ рдкреВрд░реНрдг рдПрдУрдЯреА рд░рдирдЯрд╛рдЗрдо рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдХрдИ рдЧреБрдирд╛ рдмрдбрд╝рд╛ рд╣реИред

.NET рд╕рд░реНрд╡рд░ рд░рд╣рд┐рдд/рдХрдВрдЯреЗрдирд░реАрдХреГрдд рдорд╛рдЗрдХреНрд░реЛрд╕рд░реНрд╡рд┐рд╕реЗрдЬ рдХреЗ рд▓рд┐рдП рдкрд╣рд▓реЗ рд╕реЗ рд╣реА "рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо" рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ - рдпреЗ рдПрдУрдЯреА рд╕рдВрдХрд▓рди, рдХрдо рдмрд╛рдЗрдирд░реА рдЖрдХрд╛рд░ рдФрд░ рдиреНрдпреВрдирддрдо рдирд┐рд░реНрднрд░рддрд╛ рд╕реЗ рднрд╛рд░реА рд▓рд╛рдн рдЙрдард╛ рд╕рдХрддреЗ рд╣реИрдВ ред
рд╡рд░реНрддрдорд╛рди рд░реЗрдбреАрдЯреЙрд░рди + рдЯрд┐рдпрд░ рдХрдВрдкрд╛рдЗрд▓реЗрд╢рди + рдЖрдИрдПрд▓ рд▓рд┐рдВрдХрд░ рд╕рдорд╛рдзрд╛рди рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдлрд╝рд╛рдЗрд▓ рдЖрдХрд╛рд░ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реАрдорд╛ рддрдХ рдкрд╣реБрдВрдЪ рдЧрдпрд╛ рд╣реИ рдЬреЛ рд╕реНрд╡рдпрдВ рдирд┐рд╣рд┐рдд рддреИрдирд╛рддреА рдХреЗ рд▓рд┐рдП рдкрд░реЗрд╢рд╛рди рд╣реИ, рдЬреИрд╕реЗ рдХрд┐ рдПрдбрдмреНрд▓реНрдпреВрдПрд╕ рд▓реИрдореНрдмреНрдбрд╛ рджреНрд╡рд╛рд░рд╛ рдЙрдирдХреЗ рдмреНрд▓реЙрдЧ рдкреЛрд╕реНрдЯ рдореЗрдВ рдЕрдиреБрд╢рдВрд╕рд┐рдд ред

рдЕрд╕рд▓реА рдореБрджреНрджрд╛ рдпрд╣ рд╣реИ рдХрд┐ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдмрд╣реБрдд рд╕рд╛рд░реЗ рд░рдирдЯрд╛рдЗрдо/рдХреЛрдб рдЬреЗрдирд░реЗрдЯрд░/рдЯреВрд▓рдЪреЗрди/рдкреНрд░рдпреЛрдЧ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдХреНрд╡рд┐рд░реНрдХ рдХреЗ рд╕рд╛рде рдЙрдкрд▓рдмреНрдз рд╣реИрдВ: IL2CPP/рдмрд░реНрд╕реНрдЯ (рдпреВрдирд┐рдЯреА), рдореЛрдиреЛ рдХрд╛ рдПрдУрдЯреА рдмреИрдХрдПрдВрдб (рдЬрд╝рд╛рдорд░реАрди/рдмреНрд▓реЗрдЬрд╝рд░/рдпреВрдиреЛ), .NET рдиреЗрдЯрд┐рд╡/рдХреЛрд░рдЖрд░рдЯреА тАЛтАЛ(рдпреВрдбрдмреНрд▓реНрдпреВрдкреА), рдореЛрдиреЛ рдХрд╛ LLVM рдмреИрдХрдПрдВрдб, CrossGen/ReadyToRun (.NET Core), рдЖрджрд┐ред рдФрд░ рдпрд╣ рдХреЗрд╡рд▓ рдЕрд╕реНрд╡реАрдХрд╛рд░реНрдп рд╣реИ рдХрд┐ .NET рдореЗрдВ рдорд╛рдирдХреАрдХреГрдд AOT рд╕рдВрдХрд▓рди рдЯреВрд▓рдЪреЗрди рдирд╣реАрдВ рд╣реИред

рдпрджрд┐ рдЗрди рд╕рднреА рдЯреАрдореЛрдВ рдиреЗ рдЕрдкрдиреЗ рдЗрдВрдЬреАрдирд┐рдпрд░рд┐рдВрдЧ рдкреНрд░рдпрд╛рд╕реЛрдВ рдХреЛ рдХреЛрд░рдЖрд░рдЯреА, рдореЛрдиреЛ рдПрд▓рдПрд▓рд╡реАрдПрдо рдмреИрдХрдПрдВрдб рдпрд╛ рдЕрдм рдЫреЛрдбрд╝реЗ рдЧрдП рдбреЙрдЯрдиреЗрдЯ/рд▓рд┐рд▓рд┐рдХ рдЬреИрд╕реЗ рдХреБрдЫ рд╕рд╛рдорд╛рдиреНрдп рдкрд░ рд╕рдВрдпреБрдХреНрдд рдХрд┐рдпрд╛ рд╣реЛрддрд╛ рддреЛ рдПрдУрдЯреА .NET рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд▓рд┐рдП рдПрдХ рдмреЗрд╣рддрд░ рдЕрдиреБрднрд╡ рд╣реЛрддрд╛ред

AOT w/рд╕реНрдереИрддрд┐рдХ рд▓рд┐рдВрдХрд┐рдВрдЧ рдЕрдм рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд▓рд┐рдП рд╕реБрд▓рдн рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдЬрдирддрд╛ рдХреЗ рд▓рд┐рдП CI/CD рд╣реИ рдФрд░ рдпрд╣ рдЕрдм рдХреЗрд╡рд▓ рдкреНрд░рджрд░реНрд╢рди рдореЗрдВ рдорд╛рдореВрд▓реА рд╡реГрджреНрдзрд┐ рдХреЗ рд▓рд┐рдП рдПрдХ рдЭреБрдВрдЭрд▓рд╛рд╣рдЯ рдирд╣реАрдВ рд╣реИред

рд╕реА # рдПрдВрдбрдЧреЗрдо: рдиреЗрдЯрд┐рд╡ рдХреЛрдб, рдиреЗрдЯрд┐рд╡ рдпреВрдЖрдИ, рддреЗрдЬ рдФрд░ рдЖрд╕рд╛рди рдЗрдВрдЯрд░рдСрдк, рдиреЗрдЯрд┐рд╡ рдПрдХреНрд╕рдкреЛрд░реНрдЯ рдФрд░ рдкрд░рдлреЙрд░реНрдореЗрдВрд╕ рдУрд░рд┐рдПрдВрдЯреЗрдб рдПрдкреАрдЖрдИ (рдЬреИрд╕реЗ, System.IO.Pipelines, System.Text.Json)ред

рдореИрдВ рдЗрд╕ рдХрдерди рд╕реЗ рдЕрд╕рд╣рдордд рд╣реВрдВ рдХрд┐ рд╡реЗрдмрдПрдк рдЗрд╕рд╕реЗ рд▓рд╛рднрд╛рдиреНрд╡рд┐рдд рдирд╣реАрдВ рд╣реЛрдВрдЧреЗред AOT рд╕рд░реНрд╡рд░ рд░рд╣рд┐рдд рд╡рд░реНрдХрд▓реЛрдб (рдЙрд░реНрдл Azure рдлрд╝рдВрдХреНрд╢рдВрд╕) рдХреЗ рд╕рд╛рде рдмрд╣реБрдд рдорджрдж рдХрд░реЗрдЧрд╛ред рд╕реАрдПрд▓рдЖрдИ рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рд╕рдордп рд╕реЗ рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рд▓рд╛рднреЛрдВ рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдореИрдВрдиреЗ рд╕рд░реНрд╡реЗрдХреНрд╖рдг рдХрд╛ рдЙрддреНрддрд░ рджреЗ рджрд┐рдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдИрдорд╛рдирджрд╛рд░реА рд╕реЗ рдХрд╣реВрдВ рддреЛ .NET Core 1.0 рдХреЗ рд╢реБрд░реВ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рд╕реЗ рдореБрдЭреЗ рд▓рдЧрд╛рддрд╛рд░ рд╕рд░реНрд╡реЗрдХреНрд╖рдг рдирд╣реАрдВ рдорд┐рд▓рддреЗ рд╣реИрдВ, рдмрд┐рдирд╛ рдХрд┐рд╕реА рд╕реНрдкрд╖реНрдЯ рджрд┐рд╢рд╛ рдХреЗ рдЬрд╣рд╛рдВ рдЪреАрдЬреЗрдВ рдЬрд╛ рд░рд╣реА рд╣реИрдВред

.NET рдиреЗрдЯрд┐рд╡ рд╡рд╣реА рд╣реИ рдЬреЛ .NET рдХреЛ рд╕рд╛рде рдореЗрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдерд╛, рдЬрдм рдПрдХреНрд╕рдЯ-рд╡реАрдУрдПрд╕ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╢реБрд░реВ рд╣реБрдЖ рдерд╛, рдФрд░ рд╕рд┐рдВрдЧреБрд▓реИрд░рд┐рдЯреА рдФрд░ рдорд┐рдбреЛрд░реА рдХрд╛ рдЕрдиреБрднрд╡ рд╣реИ рдХрд┐ рдЖрдк рд▓реЛрдЧ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╛ рдЙрдирдХреЗ рд╕рд╛рде рдХреБрдЫ рдЖрдВрддрд░рд┐рдХ рд╕рд░реНрд╡рд░ рднреА рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдпрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдХрд┐ рдЬрд╛рд╡рд╛ рдиреЗ рдЕрдкрдиреА рд▓рд╛рдкрддрд╛ рдПрдУрдЯреА рдХреНрд╖рдорддрд╛рдУрдВ рдХреЛ рдкрдХрдбрд╝рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ рд╣реИ, рдЯреАрдо рдпрд╣ рдирд╣реАрдВ рдкреВрдЫ рд░рд╣реА рд╣реИ рдХрд┐ рд╣рдо рдХрд┐рд╕ рдХрд╛рд░реНрдпрднрд╛рд░ рдХреЛ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред

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

рдЗрд╕рд▓рд┐рдП рдпрджрд┐ рдЖрдЧреЗ рдмрдврд╝рддреЗ рд╣реБрдП, AOT рдХреЛ рдлрд┐рд░ рд╕реЗ .NET рд╕реЗ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдорд╛рди рд▓реЗрдВ рдХрд┐ рдкреНрд░рдмрдВрдзрд┐рдд рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ рд╕рднреА рдкреНрд░рддрд┐рдпреЛрдЧрд┐рддрд╛ рдЕрдм AOT рдЯреВрд▓рдЪреЗрди рдореЗрдВ рдХреЗрдВрджреНрд░рд┐рдд рд╣реИ, рдФрд░ рд╡реЗ рдпрд╣ рднреА рдирд╣реАрдВ рдкреВрдЫрддреЗ рд╣реИрдВ рдХрд┐ рд╣рдо рдХрдВрдкрд╛рдЗрд▓рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреМрди рд╕реЗ рд╡рд░реНрдХрдлрд╝реНрд▓реЛрдЬрд╝ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред

рдореИрдВ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ .NET рд▓рдЧрд╛рддрд╛рд░ рдлрд▓рддрд╛-рдлреВрд▓рддрд╛ рд░рд╣реЗ рдФрд░ рдкрд░рд┐рджреГрд╢реНрдп рдХреА рдкрд░рд╡рд╛рд╣ рдХрд┐рдП рдмрд┐рдирд╛ рдкрд╣рд▓рд╛ рд╡рд┐рдХрд▓реНрдк рд╣реЛ, рдФрд░ рдЕрдЧрд░ рдХреБрдЫ рднреА рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИ рдЬрд╣рд╛рдБ Microsoft рдЕрднреА рднреА рд╣рдореЗрдВ .NET рдХреЗ рд╕рд╛рде C++ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдЕрдиреНрдп AOT рд╕рдВрдХрд▓рд┐рдд рднрд╛рд╖рд╛рдУрдВ рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИред

рдореИрдВрдиреЗ рд╕рд░реНрд╡реЗрдХреНрд╖рдг рдХрд╛ рдЙрддреНрддрд░ рджреЗ рджрд┐рдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдИрдорд╛рдирджрд╛рд░реА рд╕реЗ рдХрд╣реВрдВ рддреЛ .NET Core 1.0 рдХреЗ рд╢реБрд░реВ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рд╕реЗ рдореБрдЭреЗ рд▓рдЧрд╛рддрд╛рд░ рд╕рд░реНрд╡реЗрдХреНрд╖рдг рдирд╣реАрдВ рдорд┐рд▓рддреЗ рд╣реИрдВ, рдмрд┐рдирд╛ рдХрд┐рд╕реА рд╕реНрдкрд╖реНрдЯ рджрд┐рд╢рд╛ рдХреЗ рдЬрд╣рд╛рдВ рдЪреАрдЬреЗрдВ рдЬрд╛ рд░рд╣реА рд╣реИрдВред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫреА рдмрд╛рдд рд╣реИ рдХрд┐ рдПрдордПрд╕ рд╕рдореБрджрд╛рдп рдХреЛ рд╕реБрдирдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реИ, рдмрдЬрд╛рдп рдЗрд╕рдХреЗ рдХрд┐ рд╣рдо рдХреНрдпрд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред

@jkotas рдореИрдВрдиреЗ рджреЗрдЦрд╛ рдХрд┐ рдЗрд╕ рд╕рд░реНрд╡реЗрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рджреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд▓рд┐рдВрдХ рдлреИрд▓ рд░рд╣реЗ рд╣реИрдВ, рдХреНрдпрд╛ рдпрд╣ рдареАрдХ рд╣реИ?
https://www.surveymonkey.com/r/7THQK5K
https://www.surveymonkey.com/r/SQV8JQK

@texasbruce рдЙрди рд╕рд╛рдереА рджреЗрд╡реЛрдВ рд╕реЗ рдкреВрдЫреЗрдВ рдЬрд┐рдиреНрд╣реЛрдВрдиреЗ рдХреНрд░реЙрд╕ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдЬреАрдпреВрдЖрдИ, рдбрдмреНрд▓реНрдпреВрд╕реАрдПрдл рдФрд░ рдИрдПрдл рдЯреВрд▓рд┐рдВрдЧ рд╕рдорд░реНрдерди рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ рд╕рдорд╛рди рд╕рд░реНрд╡реЗрдХреНрд╖рдгреЛрдВ рдХрд╛ рдЙрддреНрддрд░ рджрд┐рдпрд╛ рд╣реИ, рдЗрд╕рд╕реЗ рдХрд┐рддрдиреА рдорджрдж рдорд┐рд▓реА рд╣реИред

рдЗрд╕рд▓рд┐рдП рдЬрдмрдХрд┐ рдпрд╣ рдЕрдЪреНрдЫрд╛ рд╣реИ рдХрд┐ рд╡реЗ рд╣рдорд╕реЗ рдкреВрдЫреЗрдВ, рдпрд╣ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдЬрдм рдХрд╛рд░реНрд░рд╡рд╛рдИ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╣реЛрдЧреАред рдХреНрд░реЙрд╕ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдЬреАрдпреВрдЖрдИ рдХреЗ рд▓рд┐рдП рднреА рдпрд╣ рджреЗрдЦрд╛ рдЬрд╛рдирд╛ рдмрд╛рдХреА рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдПрдордПрдпреВрдЖрдИ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╣реЛрдЧрд╛ рдпрд╛ рд╣рдо рд╡реЗрдм рд╡рд┐рдЬреЗрдЯ рдореЗрдВ рдмреНрд▓реЗрдЬрд╝рд░ рдХреЛ рд╕рдорд╛рдзрд╛рди рдХреЗ рд░реВрдк рдореЗрдВ рд▓реЗ рдЬрд╛рддреЗ рд╣реИрдВред

рдореЗрд░реЗ рд▓рд┐рдП рдПрдХрдорд╛рддреНрд░ рд╕реНрд╡реАрдХрд╛рд░реНрдп рдПрдУрдЯреА рд╕рдорд╛рдзрд╛рди рд╣реИ рдЬрдм рдпрд╣ рд░рд┐рд▓реАрдЬ рдореЛрдб рдореЗрдВ рдмрд┐рдирд╛ рдХрд┐рд╕реА рдЬреЗрдЖрдИрдЯреА рдХреЗ рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдореВрд▓ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИ (рдХреЛрдИ рд╕рд╛рдЗрдб-рдмрд╛рдп-рд╕рд╛рдЗрдб рд╕рдорд╛рдзрд╛рди рдЙрдкрдирд╛рдо рддреИрдпрд╛рд░-рдЯреВ-рд░рди рдирд╣реАрдВ) рдФрд░ рдЬрдм рдпрд╣ рд╕рднреА рдкрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ .NET рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдкрд░ред рдЗрд╕рдореЗрдВ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд╡рд┐рдирдлреЙрд░реНрдо рдФрд░ рдбрдмреНрд▓реНрдпреВрдкреАрдПрдл рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рд╕рдмрд╕реЗ рдЕрдЪреНрдЫреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдЗрд╕реЗ рдмрд┐рдирд╛ рдХрд┐рд╕реА рд░рдирдЯрд╛рдЗрдо рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рдмрд┐рдирд╛ 3mb рд╕реЗ 80mb рддрдХ рдЦреБрдж рдХреЛ рдлреВрд▓рд╛рдП рдмрд┐рдирд╛ рд╕реНрдЯреИрдВрдбрдЕрд▓реЛрди рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

рддрдХрдиреАрдХреА рдХрд╛рд░рдгреЛрдВ рд╕реЗ рдРрд╕реЗ рдорд╛рдорд▓реЗ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ/рдПрдкрд┐рд╕ рдПрдУрдЯреА рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ред "рд╕рднреА рдкрд░" рдХрд╣рдиреЗ рдХрд╛ рдЕрд░реНрде рд╣реИ рд╕рднреА рдПрдкреАрдЖрдИ рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рдирд╛, рд▓реЗрдХрд┐рди рд╕рднреА рдкреНрд░рдХрд╛рд░ рдХреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ .NET рдХреЛрд░ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ: dll / winforms / wpf / winui / рдХрдВрд╕реЛрд▓ / рдорд╛рдЙ / ... .NET рдлреНрд░реЗрдорд╡рд░реНрдХ рд╕реЗ .NET рдХреЛрд░ рдореЗрдВ рдмрджрд▓рдиреЗ рдХреЗ рд╕рдорд╛рди рдХреБрдЫ рдЬреЛ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдореЗрд░реЗ рдорди рдореЗрдВ рдпрд╣реА рд╣реИ рдХрд┐ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдЕрдкрдиреЗ рдореМрдЬреВрджрд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдЕрдкрдиреЗ рд╣рд╛рде рдореЗрдВ рд▓реЗрдВред

_рдореИрдВрдиреЗ рдбреЗрд▓реНрдлреА рдореЗрдВ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рднреА рд▓рд┐рдЦреЗ рд╣реИрдВ рдФрд░ рдпрд╣ рдореБрдЭреЗ рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реЗрд╢рд╛рди рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдореИрдВ рдмрд╕ рд╕рдВрдХрд▓рд┐рдд рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ рдлрд┐рд░ рдЕрдкрдиреЗ рдПрдХрд▓ рдбреЗрд▓реНрдлреА рдХреЛ рдХрд╣реАрдВ рдФрд░ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рднреЗрдЬрддрд╛ рд╣реВрдВ рдФрд░ рдпрд╣ рдмрд╕ рдЪрд▓рддрд╛ рд╣реИред рдФрд░ рдпрд╣ рдЕрднреА рддреЗрдЬ рд╣реИред рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рддрд░реАрдХреЗ рд╕реЗ рд╕рдВрдХрд▓рд┐рдд рд╣реЛрдиреЗ рдкрд░ рд╕реА ++ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдкрд░ рднреА рд▓рд╛рдЧреВ рд╣реЛрддрд╛ рд╣реИред рдФрд░ рдЬрдм рдЖрдк рдкреАрдбреАрдмреА рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓реЗрддреЗ рд╣реИрдВ рддрдм рднреА рдЖрдк рджреЛрдиреЛрдВ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЛ рдбреАрдмрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рджреЛрдиреЛрдВ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЕрднреА рднреА рдПрдХ рдЙрдкрдпреЛрдЧреА рд╕реНрдЯреИрдХрдЯреНрд░реЗрд╕/рдбрдВрдк рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рд╕реБрд░рдХреНрд╖рд╛ рдХрд╛рд░рдгреЛрдВ рд╕реЗ рдЖрдк рдЗрд╕реЗ рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рднреА рд▓реЗ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рддрдм рднреА рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдореБрдЭреЗ рдЦреБрдж рд╕реЗ рдкреВрдЫрдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реЗрд╢рд╛рди рдХрд░рддрд╛ рд╣реИ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╕реА # рдХреЗ рд╕рд╛рде рдХреНрдпреЛрдВ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ? рдЬрдм рдореИрдВрдиреЗ рдПрдУрдЯреА рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реБрдирд╛ рддреЛ рдореБрдЭреЗ рдЗрд╕рдХреА рдЙрдореНрдореАрдж рдереАред_

рдореИрдВ рд╣рдореЗрд╢рд╛ рдкреНрд░рддрд┐рдмрд┐рдВрдм рдХреЗ рд╕рд╛рде рдореБрджреНрджреЛрдВ рдХреЛ рдмрд╣реБрдд рдХреБрдЫ рджреЗрдЦрддрд╛ рд╣реВрдВ, рдФрд░ рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛтАЛтАЛрд╣реИ рдХрд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕рд╕реЗ рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ рдХрд┐ рдПрдПрд╕рдкреАрдиреЗрдЯ рдХреЛрд░ рдПрдХ рдмрдбрд╝рд╛ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдмрдирд╛рддрд╛ рд╣реИред

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

рдореИрдВ рд╣рдореЗрд╢рд╛ рдкреНрд░рддрд┐рдмрд┐рдВрдм рдХреЗ рд╕рд╛рде рдореБрджреНрджреЛрдВ рдХреЛ рдмрд╣реБрдд рдХреБрдЫ рджреЗрдЦрддрд╛ рд╣реВрдВ, рдФрд░ рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛтАЛтАЛрд╣реИ рдХрд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕рд╕реЗ рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ рдХрд┐ рдПрдПрд╕рдкреАрдиреЗрдЯ рдХреЛрд░ рдПрдХ рдмрдбрд╝рд╛ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдмрдирд╛рддрд╛ рд╣реИред

Blazor WebAssembly рдХреА рд░рд┐рд▓реАрдЬ рдХреЗ рд╕рд╛рде рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдЖрдХрд╛рд░ рдФрд░ рдирд┐рд╖реНрдкрд╛рджрди рдХреА рдЧрддрд┐ рднреА рдмрд╣реБрдд рдорд╛рдпрдиреЗ рд░рдЦрддреА рд╣реИ рдФрд░ рдпрд╣ рдПрдУрдЯреА рд╕реЗ рдХрд╛рдлреА рд▓рд╛рдн рдЙрдард╛ рд╕рдХрддреА рд╣реИред рд▓реЗрдХрд┐рди рдХрд┐рд╕реА рднреА рдХрд╛рд░рдг рд╕реЗ рдЗрд╕рдХрд╛ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд╕рд░реНрд╡реЗрдХреНрд╖рдг рдореЗрдВ рдЙрд▓реНрд▓реЗрдЦ рднреА рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред

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

@jkotas рдореИрдВрдиреЗ рджреЗрдЦрд╛ рдХрд┐ рдЗрд╕ рд╕рд░реНрд╡реЗрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рджреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд▓рд┐рдВрдХ рдлреИрд▓ рд░рд╣реЗ рд╣реИрдВ, рдХреНрдпрд╛ рдпрд╣ рдареАрдХ рд╣реИ?

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

gamedev рдХреЗ рд▓рд┐рдП рд╣рдореЗрдВ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдореИрдВрдиреЗ рдЕрдкрдиреЗ рдЧреЗрдо рдЗрдВрдЬрди https://github.com/amerkoleci/alimer_sharp рдкрд░ c++ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рджреЗрд╢реА рдЗрдВрдЬрди рдХреЗ рдкрдХреНрд╖ рдореЗрдВ рдХрд╛рдо рдХрд░рдирд╛ рдирд┐рд▓рдВрдмрд┐рдд рдХрд░ рджрд┐рдпрд╛ рд╣реИ, рдореИрдВ DirectX ans vulkan рдХреЗ рд▓рд┐рдП рднреА рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдмрдирд╛рдП рд░рдЦрддрд╛ рд╣реВрдВ, рдпрд╣рд╛рдВ рдкреНрд░рджрд░реНрд╢рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ

gamedev рдХреЗ рд▓рд┐рдП рд╣рдореЗрдВ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдореИрдВрдиреЗ рдЕрдкрдиреЗ рдЧреЗрдо рдЗрдВрдЬрди https://github.com/amerkoleci/alimer_sharp рдкрд░ c++ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рджреЗрд╢реА рдЗрдВрдЬрди рдХреЗ рдкрдХреНрд╖ рдореЗрдВ рдХрд╛рдо рдХрд░рдирд╛ рдирд┐рд▓рдВрдмрд┐рдд рдХрд░ рджрд┐рдпрд╛ рд╣реИ, рдореИрдВ DirectX ans vulkan рдХреЗ рд▓рд┐рдП рднреА рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдмрдирд╛рдП рд░рдЦрддрд╛ рд╣реВрдВ, рдпрд╣рд╛рдВ рдкреНрд░рджрд░реНрд╢рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ

рдпрд╣рд╛рдВ рд╕рдорд╛рди рдкрд░рд┐рджреГрд╢реНрдп ЁЯШД, рд╕рд┐рд╡рд╛рдп рдЗрд╕рдХреЗ рдХрд┐ рдореИрдВрдиреЗ рдЗрд╕реЗ рдирд┐рд▓рдВрдмрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ред рдореБрдЭреЗ рдмреЗрд╣рддрд░ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рд╕рдордп рдХреЗ рд▓рд┐рдП рдПрдУрдЯреА рдкрд╕рдВрдж рд╣реИ, рд▓реЗрдХрд┐рди (рдФрд░ рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЕрдзрд┐рдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд╛рдд), рдЕрдзрд┐рдХ рдЕрдиреБрдХреВрд▓рд┐рдд рдХреЛрдб рд░рдЦрдиреЗ рдХрд╛ рдЕрд╡рд╕рд░ - рдореИрдВ 10% рд╕реНрдкреАрдбрдЕрдк рдХреЗ рд▓рд┐рдП рдмрд┐рд▓реНрдб рд╕рдордп рдореЗрдВ 50% рдХреА рд╡реГрджреНрдзрд┐ рдХреЗ рд╕рд╛рде рдареАрдХ рд╣реВрдВ, рдЬреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд╣реИ ' рдЯреА рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ JIT . рдХрд╛ рд░рд╡реИрдпрд╛

рдореИрдВ 10% рд╕реНрдкреАрдбрдЕрдк рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрдорд╛рдг рд╕рдордп рдореЗрдВ 50% рдХреА рд╡реГрджреНрдзрд┐ рдХреЗ рд╕рд╛рде рдареАрдХ рд╣реВрдВ, рдЬреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рдЬреЗрдЖрдИрдЯреА рдХрд╛ рд░рд╡реИрдпрд╛ рдирд╣реАрдВ рд╣реИ

рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рдмрдбрд╝реЗ рдорд╛рдзреНрдпрдорд┐рдХ рдХрд╛рд░рдгреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИ рдЬреЛ рдореИрдВ рдПрдХ рдЕрд▓рдЧ рдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХреА рддрдВрддреНрд░ рдореЗрдВ рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп .NET рдореЗрдВ рдПрдУрдЯреА рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рдореИрдВ рдмрдбрд╝реА рд╕реА ++ рдпрд╛ рдЬрдВрдЧ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмрдбрд╝реА .NET рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рддреЗрдЬрд╝ рд╕рдВрдХрд▓рди рд╕рдордп рд╕реЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЦрд░рд╛рдм рд╣реЛ рдЧрдпрд╛ рд╣реВрдВред

рдореИрдВ рд╡рд┐рдХрд╛рд╕ рдХреЗ рджреМрд░рд╛рди рддреЗрдЬреА рд╕реЗ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдХреЗ рд▓рд┐рдП рдЬреЗрдЖрдИрдЯреА рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдПрдУрдЯреА рдПрдХ рдмрд╛рд░ рдЬрдм рдореИрдВ рдЕрдкрдиреЗ рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреЛ рдХреБрдЫ рднреЗрдЬ рд░рд╣рд╛ рд╣реВрдВред

рдореИрдВрдиреЗ рдХреЛрд░рдЖрд░рдЯреА тАЛтАЛрдХреНрд░рд┐рдПрдЯ рдХреНрд░реЙрд╕ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо (рдФрд░ рдХреНрд░реЙрд╕ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо) рдиреЗрдЯрд┐рд╡ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдерд╛ред

рдЖрдИрдУрдПрд╕ рдФрд░ рдХрдВрд╕реЛрд▓ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдореЗрдВ рдЧреЗрдо рдЗрдВрдЬрди рдХреЗ рд▓рд┐рдП рдПрдУрдЯреА рдбрдмреНрд▓реНрдпреВ/рд╕реНрдЯреИрдЯрд┐рдХ рд▓рд┐рдВрдХрд┐рдВрдЧ рдХреА рддрддреНрдХрд╛рд▓ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬреЛ рдЬреАрдЖрдИрдЯреА рдХреЛ рдЕрдХреНрд╖рдо рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдХрдИ рдПрдУрдЯреА рд╕рдВрдХрд▓рди рдореЛрдб рднреА рдЪрд╛рд╣рддрд╛ рд╣реИ:

  1. рдкреВрд░реНрдг рдПрдУрдЯреА
  2. рд╣рд╛рдЗрдмреНрд░рд┐рдб рдПрдУрдЯреА рдЬреЛ рдЬреАрдЖрдИрдЯреА + рдПрдУрдЯреА рдпрд╛ рджреБрднрд╛рд╖рд┐рдпрд╛ + рдПрдУрдЯреА рд░рди рдореЛрдб рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ
    рдЦреЗрд▓ рдЙрджреНрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рд╣рд╛рдЗрдмреНрд░рд┐рдб рдПрдУрдЯреА, рдпрд╣ рдЧреЗрдо рдЪреЗрдВрдЬрд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ

рдЖрдИрдУрдПрд╕ рдФрд░ рдХрдВрд╕реЛрд▓ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдореЗрдВ рдЧреЗрдо рдЗрдВрдЬрди рдХреЗ рд▓рд┐рдП рдПрдУрдЯреА рдбрдмреНрд▓реНрдпреВ/рд╕реНрдЯреИрдЯрд┐рдХ рд▓рд┐рдВрдХрд┐рдВрдЧ рдХреА рддрддреНрдХрд╛рд▓ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬреЛ рдЬреАрдЖрдИрдЯреА рдХреЛ рдЕрдХреНрд╖рдо рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдХрдИ рдПрдУрдЯреА рд╕рдВрдХрд▓рди рдореЛрдб рднреА рдЪрд╛рд╣рддрд╛ рд╣реИ:

  1. рдкреВрд░реНрдг рдПрдУрдЯреА
  2. рд╣рд╛рдЗрдмреНрд░рд┐рдб рдПрдУрдЯреА рдЬреЛ рдЬреАрдЖрдИрдЯреА + рдПрдУрдЯреА рдпрд╛ рджреБрднрд╛рд╖рд┐рдпрд╛ + рдПрдУрдЯреА рд░рди рдореЛрдб рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ
    рдЦреЗрд▓ рдЙрджреНрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рд╣рд╛рдЗрдмреНрд░рд┐рдб рдПрдУрдЯреА, рдпрд╣ рдЧреЗрдо рдЪреЗрдВрдЬрд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ

рдЬреИрд╕реЗ рдЖрдИрдУрдПрд╕ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдкрд░ рдореЛрдиреЛ, рдПрдУрдЯреА+рдЗрдВрдЯрд░рдкреНрд░реЗрдЯрд░ рд░рди рдореЛрдбред

рдкреВрд░реНрдг рдПрдУрдЯреА, рд╕рд┐рдВрдЧрд▓ рдПрдХреНрд╕рдИ, рд╕реНрд╡рддрдВрддреНрд░ рд░рдирдЯрд╛рдЗрдо рдФрд░ рдЕрдирд╛рд╡рд╢реНрдпрдХ рдХреЛрдб рдХреНрд▓рд┐рдкрд┐рдВрдЧ рдпрд╣ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдореБрдЭреЗ рдХреНрд░реЗрдпрдЧреИрд╕рдо рдПрдХреНрд╕рдбреА рдмрдирд╛рддрд╛ рд╣реИ

рдореИрдВ рдЗрд╕ рд╕рд╡рд╛рд▓ рдХрд╛ 10 рд╕рд╛рд▓ рд╕реЗ рдЗрдВрддрдЬрд╛рд░ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рдзрд┐рдХреНрдХрд╛рд░ рд╣реИ, рдореЗрд░реЗ рдкрд╛рд╕ 5 рдЕрдЪреНрдЫреА рдкрд░рд┐рдпреЛрдЬрдирд╛рдПрдВ рд╣реИрдВ рдЬреЛ рд╣рд╛рд░реНрдб рдбреНрд░рд╛рдЗрд╡ рдкрд░ рдзреВрд▓ рдЬрдорд╛ рдХрд░ рд░рд╣реА рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдЕрдЧрд░ рдореИрдВ рдЙрдиреНрд╣реЗрдВ рдЫреЛрдбрд╝ рджреЗрддрд╛ рд╣реВрдВ, рддреЛ рдХреЛрдИ рднреА рдмрдЪреНрдЪрд╛ рдЙрдиреНрд╣реЗрдВ рдЙрд▓рдЯ рд╕рдХрддрд╛ рд╣реИ, рдЬреАрдпреВрдЖрдИ рдореЗрдВ рдереЛрдбрд╝рд╛ рдмрджрд▓рд╛рд╡ рдЬреЛрдбрд╝ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдмреЗрдЪ рд╕рдХрддрд╛ рд╣реИред

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

рд╣рдо рдЙрдЪреНрдЪ рдкреНрд░рджрд░реНрд╢рди, рдЙрдЪреНрдЪ рдорд╛рдкрдиреАрдпрддрд╛ рд╡рд╛рд▓реЗ рд╡рд┐рддреНрддреАрдп/рд╡реИрдЬреНрдЮрд╛рдирд┐рдХ рд╕рд┐рдореБрд▓реЗрдЯрд░ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рддреЗ рд╣реИрдВред рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдП рдЧрдП рдореЙрдбрд▓ рдХреА рдЬрдЯрд┐рд▓рддрд╛ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╣рдорд╛рд░реЗ рд╕рд┐рдореБрд▓реЗрд╢рди рдХреБрдЫ рдорд┐рдирдЯреЛрдВ рд╕реЗ рд▓реЗрдХрд░ рдХрдИ рджрд┐рдиреЛрдВ рддрдХ рдХрд╣реАрдВ рднреА рдЪрд▓ рд╕рдХрддреЗ рд╣реИрдВред

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

рдореИрдВ рдХрд╣реВрдВрдЧрд╛ рдХрд┐ рдПрдХ рд░рди рдХреЗ рджреМрд░рд╛рди рд▓рдЧрднрдЧ 25% рдХреЛрдб рдЧрддрд┐рд╢реАрд▓ рд░реВрдк рд╕реЗ рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдПрдХ рд╣рд╛рдЗрдмреНрд░рд┐рдб рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЛ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рджреА рдЬрд╛рдПрдЧреА; рдПрдУрдЯреА рдФрд░ рдЬреЗрдЖрдИрдЯреА рд╕рдВрдХрд▓рди рдХрд╛ рдХреБрдЫ рд╕рдВрдпреЛрдЬрдиред рдпрджрд┐ рдЧрддрд┐рд╢реАрд▓ рдмрд┐рдЯреНрд╕ рдХреА рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХреА рдЬрд╛рдиреА рд╣реИ, рддреЛ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдПрдУрдЯреА рдХреЗ рдЕрдзрд┐рдХрд╛рдВрд╢ рд▓рд╛рдн рдХрдо рд╣реЛ рдЬрд╛рдПрдВрдЧреЗ, рдХрдо рд╕реЗ рдХрдо рд╣рдорд╛рд░реЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВред

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

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

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

рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдореИрдВ рдЬреЗрдЖрдИрдЯреА рдФрд░ рдПрдУрдЯреА рджреЛрдиреЛрдВ рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХрд┐рдпреЛрдВ рдореЗрдВ рдЕрдзрд┐рдХ рдирд┐рд╡реЗрд╢ рджреЗрдЦрдирд╛ рдкрд╕рдВрдж рдХрд░реВрдВрдЧрд╛ред

cc @AndyAyersMS

рдЖрдИрдУрдПрд╕ рдФрд░ рдХрдВрд╕реЛрд▓ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдореЗрдВ рдЧреЗрдо рдЗрдВрдЬрди рдХреЗ рд▓рд┐рдП рдПрдУрдЯреА рдбрдмреНрд▓реНрдпреВ/рд╕реНрдЯреЗрдЯрд┐рдХ рд▓рд┐рдВрдХрд┐рдВрдЧ рдХреА рддрддреНрдХрд╛рд▓ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬреЛ рдЬреАрдЖрдИрдЯреА рдХреЛ рдЕрдХреНрд╖рдо рдХрд░рддрд╛ рд╣реИ,

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

рдЗрд╕рд▓рд┐рдП рд╣рдо 3 рдкреЙрдкрд▓рд░ рдЧреЗрдо рдХрдВрд╕реЛрд▓ (XBox One; PlayStation 4 рдФрд░ Nintendo рд╕реНрд╡рд┐рдЪ) рдкрд░ CoreRT рдХреЛ рдЪрд▓рд╛рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдЕрд╡рдзрд╛рд░рдгрд╛ рдХрд╛ рдПрдХ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдкреНрд░реЛрдлреЗрд╕рд░ рджрд┐рдЦрд╛рддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ (рдЕрднреА рднреА рдХреБрдЫ рд╕реАрдорд╛рдУрдВ рдХреЗ рд╕рд╛рде) рд▓реЗрдХрд┐рди рдореЛрдиреЛ рдЖрдзрд╛рд░рд┐рдд рд╕рдорд╛рдзрд╛рди рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд░рди рдЯрд╛рдЗрдо рдкреНрд░рджрд░реНрд╢рди рд╕реБрдзрд╛рд░ рдХреЗ рд╕рд╛рдеред

рд▓реЗрдХрд┐рди рдЧреЗрдо рдХрдВрд╕реЛрд▓ рдХреЗ рдЖрд╕рдкрд╛рд╕ рдПрдирдбреАрдП рдХреА рд╕реНрдерд┐рддрд┐ рдХреЗ рд╕рд╛рде рдЗрд╕ рдЙрдкрдпреЛрдЧ рдХреЗ рдХрд╛рд░рдг рдХреЗ рд▓рд┐рдП рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд╕рдорд░реНрдерди рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдореВрд▓ рдПрдУрдЯреА рдХреЛ рдкрд╣рд▓реЗ рд╕реНрдерд╛рди рдкрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рд╕реЗ рдХрд╣реАрдВ рдЕрдзрд┐рдХ рджреВрд░ рд╣реИред

рд╣рдорд╛рд░реЗ рд▓рд┐рдП, рдЬреЗрдЖрдИрдЯреА рдкреНрд░рджрд░реНрд╢рди рдХреЗ рд╕рд╛рде рдереЛрдбрд╝рд╛ рдирд╛рдЬреБрдХ (рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдХрдо рдирд┐рдпрддрд╛рддреНрдордХ) рдмрди рдЧрдпрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╣рдорд╛рд░рд╛ рдХреЛрдб рдЖрдзрд╛рд░ рд╡рд┐рдХрд╛рд╕ рдХреЗ рд╕рд╛рде рдмрджрд▓рддрд╛ рд╣реИред

@ jpapp05 рдореБрдЭреЗ рдЖрдкрдХреЗ рдРрдк рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдФрд░ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЙрдкрд░реЛрдХреНрдд рдореБрджреНрджреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдФрд░ рдЕрдзрд┐рдХ рд╕реБрдирдирд╛ рдЕрдЪреНрдЫрд╛ рд▓рдЧреЗрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдореЗрд░реА рдкреНрд░рдореБрдЦ рдЪрд┐рдВрддрд╛рдУрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИред рдмреЗрдЭрд┐рдЭрдХ рдореБрдЭрд╕реЗ рдСрдлрд╝рд▓рд╛рдЗрди рд╕рдВрдкрд░реНрдХ рдХрд░реЗрдВ (рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдИрдореЗрд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ) рдЕрдЧрд░ рдЗрд╕рд╕реЗ рдорджрдж рдорд┐рд▓рддреА рд╣реИред

рд╣рд╛рдп @AndyAyersMS , рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ред рдореИрдВ рдЖрдкрд╕реЗ рдСрдлрд╝рд▓рд╛рдЗрди рд╕рдВрдкрд░реНрдХ рдХрд░реВрдВрдЧрд╛ рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рдереЛрдбрд╝реА рдЕрдзрд┐рдХ рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ рдмрд╛рдд рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рд▓реЗрдХрд┐рди рдореБрдЭреЗ рджреВрд╕рд░реЛрдВ рдХреЗ рд▓рд╛рдн рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░реА рдЪрд░реНрдЪрд╛рдУрдВ рд╕реЗ рдХреЛрдИ рд╕рд╛рд░рд╛рдВрд╢ рд╡рд╛рдкрд╕ рдкреЛрд╕реНрдЯ рдХрд░рдиреЗ рдореЗрдВ рдЦреБрд╢реА рд╣реЛ рд░рд╣реА рд╣реИред

рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдпрд╣ рдПрдХ рд╕рдорд╕реНрдпрд╛ рднреА рд╣реИ рдпрд╛ рдирд╣реАрдВ, рд▓реЗрдХрд┐рди рдпрд╣рд╛рдБ рд╕рд┐рд░реНрдл рдЗрд╕рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд░рдирд╛ рд╣реИред
рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╡рд┐рд╢реЗрд╖рддрд╛ рд░рдирдЯрд╛рдЗрдо рдкрд░ рджреЗрд╢реА рдЕрд╕реЗрдВрдмрд▓рд┐рдпреЛрдВ рдХреЛ рдЕрдирд▓реЛрдб рдЕрдирд▓реЛрдб рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рд╣реЛрдЧреАред

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

рд╢рд╛рдпрдж рдЬреАрд╡рди рдХреЛ рдЖрд╕рд╛рди рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдПрдХ рдЪреЗрдХрдмреЙрдХреНрд╕ рд▓рдЧрд╛рдПрдВ рдЬреЛ рдХрд╣рддрд╛ рд╣реИ:
рдореВрд▓ рд╕рдВрдХрд▓рди (рдХреЗрд╡рд▓ рд╡рд┐рдВрдбреЛрдЬрд╝ 10 рдбреЗрд╕реНрдХрдЯреЙрдк рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ!)
рдпрд╛рд░, рд╡рд╣ рдХрд░реЛ рдФрд░ рдореБрдЭреЗ рдЕрдм рдПрдУрдЯреА рдХреА рдкрд░рд╡рд╛рд╣ рдирд╣реАрдВ рд╣реИред рдЕрдЧрд░ рдпрд╣ ASP.NET рдХреЛрд░ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рддреЛ рдмрдврд╝рд┐рдпрд╛! рдпрджрд┐ рдирд╣реАрдВ, рддреЛ рдореБрдЭреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдкрд░рд╡рд╛рд╣ рдирд╣реАрдВ рд╣реИред

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

рд╣рд░ рдХреЛрдИ рдпрд╛рдж рдирд╣реАрдВ рд░рдЦрддрд╛ (рдпрд╛ рдЬрд╛рдирддрд╛ рд╣реИ) рдХрд┐ .NET рдХреЛрдб рдХреЛ рдЖрд╕рд╛рдиреА рд╕реЗ рд╡рд┐рдШрдЯрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ

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

@jcbeppler рдЖрдк рдЧрд▓рдд рд╣реИрдВ, рдпрд╣ рдмрд╛рдЗрдЯрдХреЛрдб рдмрдирд╛рдо рджреЗрд╢реА рдХреА рдПрдХ рдЖрдо рдЧрд▓рддрдлрд╣рдореА рд╣реИ, рдпрд╣ рд╕рд┐рд░реНрдл рд╕рд╣реА рдЙрдкрдХрд░рдг рд╣реЛрдиреЗ рдХреА рдмрд╛рдд рд╣реИред

https://www.hex-rays.com/products/decompiler/compare/compare_vs_disassembly/

рд╣реЗрдХреНрд╕-рд░реЗ рд╕рд┐рд░реНрдл рдПрдХ рд╕рдВрднрд╛рд╡рд┐рдд рд╕рдорд╛рдзрд╛рди рд╣реИ, рдЪреБрдирдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдиреНрдп рд╣реИрдВред

@MostHated рд╣рд╛рдБ, рдореБрдЭреЗ рдорд┐рд▓ рдЧрдпрд╛ред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ .NET рдореЗрдВ рдПрдХ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдХреЛ рдбреАрдХрдВрдкрд╛рдЗрд▓ рдХрд░рдирд╛ рдЗрддрдирд╛ рдЖрд╕рд╛рди рд╣реИ рдХрд┐ рдпрд╣ рдУрдкрди рд╕реЛрд░реНрд╕ рдЬреИрд╕рд╛ рд╣реИ рдФрд░ рдХрдИ рдХрдВрдкрдирд┐рдпрд╛рдВ рдирд╣реАрдВ рдЪрд╛рд╣рддреА рдХрд┐ рдЙрдирдХрд╛ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдУрдкрди рд╕реЛрд░реНрд╕ рд╣реЛред "рдореБрдлреНрдд рд▓рдВрдЪ рдЬреИрд╕реА рдХреЛрдИ рдЪреАрдЬ рдирд╣реАрдВ рд╣реЛрддреА"

@pjmlp рдореБрдЭреЗ рдбрд┐рдХрдВрдкрд╛рдЗрд▓ рдмрдирд╛рдо рдбрд┐рд╕реНрд╕реЗрдкреНрд▓рд░ рдХреЗ рдмреАрдЪ рдХрд╛ рдЕрдВрддрд░ рдкрддрд╛ рд╣реИред рдореИрдВ рдЕрдкрдиреЗ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдХреЛ рдЕрд▓рдЧ рдХрд░рдиреЗ рдХреЗ рдЦрд┐рд▓рд╛рдл рдХреБрдЫ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд▓реЗрдХрд┐рди рдореВрд▓ рд╕рдВрдХрд▓рди рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдХреЛ рдФрд░ рдЕрдзрд┐рдХ рд╕реБрд░рдХреНрд╖рд┐рдд рдмрдирд╛ рд╕рдХрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╡реНрдпрдХреНрддрд┐ рдмрд╣реБрдд рд╣реА рд╕рд░рд▓ рдЕрдкрдШрдЯрди рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдПрдХ рдЕрд▓рдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЕрдЬреАрдм рд▓рдЧреЗрдЧрд╛ рдФрд░ рдЕрд▓рдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдХреЛрдб рд╕рд╣реА рдврдВрдЧ рд╕реЗ рднреА рдирд╣реАрдВ рдЪрд▓ рд╕рдХрддрд╛ рд╣реИред

@jcbeppler рдЖрдк рдЧрд▓рдд рд╣реИрдВ, рдпрд╣ рдмрд╛рдЗрдЯрдХреЛрдб рдмрдирд╛рдо рджреЗрд╢реА рдХреА рдПрдХ рдЖрдо рдЧрд▓рддрдлрд╣рдореА рд╣реИ, рдпрд╣ рд╕рд┐рд░реНрдл рд╕рд╣реА рдЙрдкрдХрд░рдг рд╣реЛрдиреЗ рдХреА рдмрд╛рдд рд╣реИред

рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдПрдХ .NET рдкреНрд░реЛрдЧреНрд░рд╛рдо рд╡рд┐рдШрдЯрд┐рдд рд╣реЛ рдЧрдпрд╛ рд╣реИ рдЬреЛ рдкреВрд░реЗ рд╕реНрд░реЛрдд рдХреЛрдб рдХреЛ рдкреНрд░рдХрдЯ рдХрд░рддрд╛ рд╣реИред рдЗрд╕рдореЗрдВ рд╕рднреА рд╡рд┐рдзрд┐ рдирд╛рдо рдФрд░ рдЪрд░ рдирд╛рдо рднреА рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рдпрд╣ рдбрд┐рдмрдЧрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдЕрдЪреНрдЫрд╛ рд╣реИ рдФрд░ рдЕрдкрд╡рд╛рдж рд╣реЛрдиреЗ рдкрд░ рд╣рдореЗрдВ "рдкрдардиреАрдп" рд╕реНрдЯреИрдХрдЯреНрд░реЗрд╕ рд░рдЦрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐ рдпрд╣ рдПрдХ рдмрд╣реБрдд рдмрдбрд╝реА рд╕реБрд░рдХреНрд╖рд╛ рдЦрд╛рдореА рд╣реИ рдФрд░ рдПрдХ рдХрд╛рд░рдг рд╣реИ рдХрд┐ .NET рдСрдмрдлрд╕реНрдХреЗрдЯрд░реНрд╕ рдХреЗ рд▓рд┐рдП рдПрдХ рдмрдбрд╝рд╛ рдмрд╛рдЬрд╛рд░ рд╣реИред

рдПрдХ рдореВрд▓ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдбрд┐рд╕рд╛рдЗрдб рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдпрд╣ рдЕрдкрдиреЗ рдкреВрд░реНрдг рд╕реА ++/рдбреЗрд▓реНрдлреА рдЗрддреНрдпрд╛рджрд┐ рд╕реНрд░реЛрдд рдХреЛрдб рдХреЛ рдкреНрд░рдХрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдиреАрдЪреЗ рдирд╣реАрдВ рдЬрд╛рддрд╛ рд╣реИ (рдХреБрдЫ рдЯреВрд▓реНрд╕ рд╣реИрдВ рдЬреЛ рдЗрд╕ рд╕реНрд░реЛрдд рдХреЛрдб рдХреЛ рдкреБрдирд░реНрдирд┐рд░реНрдорд╛рдг рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ рд▓реЗрдХрд┐рди рдкрд░рд┐рдгрд╛рдо рднрдпрд╛рдирдХ рд╣реИрдВ)ред рдЖрдкрдХреЛ рдЬреЛ рдорд┐рд▓рддрд╛ рд╣реИ рд╡рд╣ рд╣реИ рдЕрд╕реЗрдВрдмрд▓рд░ рдХреЛрдб рдФрд░ рдХрдВрдЯреНрд░реЛрд▓ рдлреНрд▓реЛ рдЪрд╛рд░реНрдЯред рдпрджрд┐ рдЖрдк рднрд╛рдЧреНрдпрд╢рд╛рд▓реА рд╣реИрдВ рдФрд░ рдпрд╣ рдкреНрд░рддреАрдХ рдлрд╝рд╛рдЗрд▓ рдХреЗ рд╕рд╛рде рдЬрд╣рд╛рдЬ рдХрд░рддрд╛ рд╣реИ рддреЛ рдЖрдкрдХреЛ рдлрд╝рдВрдХреНрд╢рди рдирд╛рдо рднреА рдорд┐рд▓рддреЗ рд╣реИрдВ рд▓реЗрдХрд┐рди рд░рд┐рд▓реАрдЬ рдореЛрдб рдореЗрдВ рдпрд╣ рдкреНрд░рддреАрдХ рдлрд╝рд╛рдЗрд▓ рдЖрдорддреМрд░ рдкрд░ рд╕реБрд░рдХреНрд╖рд╛ рдЙрджреНрджреЗрд╢реНрдп рдХреЗ рд▓рд┐рдП рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИред

рдореВрд▓ рдХреЛрдб рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕реБрд░рдХреНрд╖рд╛ рдХреИрд╕реЗ рд╣реИ, рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рддреЗ рд╣реБрдП рд╣рдо рдЦреБрдж рдХреЛ рд╡рд┐рд╡рд░рдг рдореЗрдВ рдЦреЛ рд╕рдХрддреЗ рд╣реИрдВред рдореЗрд░реА рд░рд╛рдп рдореЗрдВ рдпрд╣ рдХреНрд░реИрдХрд┐рдВрдЧ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рд╕реБрд░рдХреНрд╖рд╛ рдирд╣реАрдВ рд╣реИ (рд╣рд╛рд▓рд╛рдВрдХрд┐ рдкреВрд░реНрдг рдкреВрд░реНрдг рд╡рд┐рдзрд┐/рдкрд░рд┐рд╡рд░реНрддрдиреАрдп рдирд╛рдореЛрдВ рдФрд░ рдкреВрд░реНрдг рд╕реА # рд╕реНрд░реЛрдд рдкреАрдврд╝реА рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдХрд┐рд╕реА рд╡рд┐рд╢реЗрд╖ рдЬреНрдЮрд╛рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рдмрд┐рдирд╛ рд▓рд╛рдЗрд╕реЗрдВрд╕ рдЬрд╛рдВрдЪ рдХреЛ рд╣рдЯрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ) рдпрд╛ рдбрд┐рдмрдЧрд┐рдВрдЧ, рд▓реЗрдХрд┐рди рдЪреЛрд░реА рдХрд░рдиреЗ рд╡рд╛рд▓реЛрдВ рдХреЗ рдЦрд┐рд▓рд╛рдл рд╕реБрд░рдХреНрд╖рд╛ред dnSpy рдЬреИрд╕реЗ рдЙрдкрдХрд░рдг рдПрдХ рдХреНрд▓рд┐рдХ рджреНрд╡рд╛рд░рд╛ .NET рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдкреВрд░реНрдг VS рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдирд┐рд░реНрдпрд╛рдд рднреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдРрд╕рд╛ рдХреЛрдИ рдЙрдкрдХрд░рдг рдирд╣реАрдВ рд╣реИ рдЬреЛ рдореВрд▓ рдХреЛрдб рдХреЗ рд▓рд┐рдП рдЙрд╕реА рддрд░рд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реЛред рддреЛ рд╡рд╛рдгрд┐рдЬреНрдпрд┐рдХ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдпрд╣ рдореВрд▓ рдХреЛрдб рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдмрдбрд╝реА рдЬреАрдд рд╣реЛрдЧреА, рдЗрд╕ рддрдереНрдп рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХрд┐ рдЙрдиреНрд╣реЗрдВ рдЕрдм рдЕрдВрддрд┐рдо рдЖрд╡реЗрджрди рдореЗрдВ рд╕рднреА рд╡рд┐рдзрд┐рдпреЛрдВ рдФрд░ рдЪрд░ рдХрд╛ рдирд╛рдо рдмрджрд▓рдиреЗ рд╡рд╛рд▓реА рдХрд┐рд╕реА рдЪреАрдЬрд╝ рдХреЗ рд▓рд┐рдП рд╣рдЬрд╛рд░реЛрдВ рдбреЙрд▓рд░ рдХрд╛ рднреБрдЧрддрд╛рди рдирд╣реАрдВ рдХрд░рдирд╛ рдкрдбрд╝реЗрдЧрд╛ред

рдореИрдВ рдЗрд╕ рд╕рд░реНрд╡реЗрдХреНрд╖рдг рдХреЗ рдкрд░рд┐рдгрд╛рдо рдХреЛ рд▓реЗрдХрд░ рдЙрддреНрд╕реБрдХ рд╣реВрдВред рдХреНрдпрд╛ рд▓реЛрдЧреЛрдВ рдиреЗ рдорддрджрд╛рди рдХреИрд╕реЗ рдХрд┐рдпрд╛, рдЗрд╕ рдкрд░ рдЙрдиреНрд╣реЗрдВ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХрд░рдиреЗ рдХреА рдХреЛрдИ рдпреЛрдЬрдирд╛ рд╣реИ?

@Symbai рдпрд╣ рдХрд┐рд╕реА рднреА рдЪреАрдЬрд╝ рд╕реЗ рд╕реБрд░рдХреНрд╖рд╛ рдирд╣реАрдВ рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ рдХреЛрдИ рднреА Android рдбреЗрд╡рд▓рдкрд░ рдЬрд┐рд╕рдиреЗ NDK рдХреЛ рдЕрдкрдиреЗ IP рдХреА рд╕реБрд░рдХреНрд╖рд╛ рдХреЗ рд╕рд╛рдзрди рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ рд╣реИ, рдЖрдкрдХреЛ рдмрддрд╛рдПрдЧрд╛ред рдЬрд┐рди рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд╛ рдЖрдк рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рдЙрд▓реНрд▓реЗрдЦ рдХрд░рддреЗ рд╣реИрдВ, рд╡реЗ рд╕рд┐рдВрдЧрд▓ рдХреНрд▓рд┐рдХ рдХреЗ рд╕рд╛рде рднреА рдРрд╕рд╛ рд╣реА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рднрд▓реЗ рд╣реА рд╡реЗ рдЖрдорддреМрд░ рдкрд░ рд╕реА рдпрд╛ рд╕реА ++ рдХреЛрдб рдХреЛ рдореВрд▓ рд╕реНрд░реЛрдд рдХреЛрдб рдХреЗ рд░реВрдк рдореЗрдВ рдорд╛рдирддреЗ рд╣реИрдВ, рд╡реЗ рдЖрдкрдХреЗ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреЛ рдЪреБрд░рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИрдВред

рдореИрдВ рдПрдУрдЯреА рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рдРрд╕реЗ рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЬрд╣рд╛рдВ .NET рдЬрдВрдЧ, рдЧреЛ, рд╕реНрд╡рд┐рдлреНрдЯ, рд╕реА ++, рдЬрд╛рд╡рд╛ (рдЧреНрд░рд╛рд▓рд╡реАрдПрдо), рдбреЗрд╕реНрдХрдЯреЙрдк, рдХрдВрд╕реЛрд▓, рдФрд░ рдореЛрдмрд╛рдЗрд▓/рдЖрдИрдУрдЯреА рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рдЦрд┐рд▓рд╛рдл рджреАрд░реНрдШрдХрд╛рд▓рд┐рдХ рдЦреЛ рджреЗрдЧрд╛ рдЬрд╣рд╛рдВ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рд╕рдордп рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ, рд╕реНрдореГрддрд┐ рдЙрдкрдпреЛрдЧ рдкрд░ рдЙрдЪреНрдЪ рдмрд╛рдзрд╛рдПрдВ рд╣реИрдВ рдФрд░ рдЕрд╕реЗрдВрдмрд▓реА рд▓реЛрдб рдкрд░ JIT рдХреЗ рдХрд╛рд░рдг рдЧрддрд┐ рдореЗрдВ рдХрдореА рд╕рд╣рдиреАрдп рдирд╣реАрдВ рд╣реИ, рдЬреИрд╕реЗ рдХреБрдЫ ASP.NET рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдкрд░ AOT рдХреЛрдб рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдЬрдм рдХреЛрдИ рдЕрдкрдиреЗ 100 K8S рдкреЙрдб рдЗрдВрд╕реНрдЯреЗрдВрд╕ рдХреЛ рд╕реНрдХреЗрд▓ рдХрд░ рд░рд╣рд╛ рд╣реЛред

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

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

@Symbai рдпрд╣ рдХрд┐рд╕реА рднреА рдЪреАрдЬрд╝ рд╕реЗ рд╕реБрд░рдХреНрд╖рд╛ рдирд╣реАрдВ рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ рдХреЛрдИ рднреА Android рдбреЗрд╡рд▓рдкрд░ рдЬрд┐рд╕рдиреЗ NDK рдХреЛ рдЕрдкрдиреЗ IP рдХреА рд╕реБрд░рдХреНрд╖рд╛ рдХреЗ рд╕рд╛рдзрди рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ рд╣реИ, рдЖрдкрдХреЛ рдмрддрд╛рдПрдЧрд╛ред рдЬрд┐рди рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд╛ рдЖрдк рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рдЙрд▓реНрд▓реЗрдЦ рдХрд░рддреЗ рд╣реИрдВ, рд╡реЗ рд╕рд┐рдВрдЧрд▓ рдХреНрд▓рд┐рдХ рдХреЗ рд╕рд╛рде рднреА рдРрд╕рд╛ рд╣реА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рднрд▓реЗ рд╣реА рд╡реЗ рдЖрдорддреМрд░ рдкрд░ рд╕реА рдпрд╛ рд╕реА ++ рдХреЛрдб рдХреЛ рдореВрд▓ рд╕реНрд░реЛрдд рдХреЛрдб рдХреЗ рд░реВрдк рдореЗрдВ рдорд╛рдирддреЗ рд╣реИрдВ, рд╡реЗ рдЖрдкрдХреЗ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреЛ рдЪреБрд░рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИрдВред

рдПрдХ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдЪреЛрд░реА рдХрд░рдирд╛ рдЬрд┐рд╕рдХреЗ рд╕рд╛рде рдореИрдВ рд░рд╣ рд╕рдХрддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рд╡рд╣ рдирд╣реАрдВ рдЬреЛ .NET рдЖрдЬ рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдбрдмреНрд▓реНрдпреВрдкреАрдПрдл), рдЬрд╣рд╛рдВ рдПрдХ рд╡реНрдпрдХреНрддрд┐ рдХреЗ рдкрд╛рд╕ рд╡реАрдПрд╕ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХрд╛ рдкреВрд░рд╛ рдЖрд╡реЗрджрди рдЦреВрдмрд╕реВрд░рддреА рд╕реЗ рдФрд░ рдЖрд╕рд╛рдиреА рд╕реЗ рддреИрдпрд╛рд░ рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореВрд▓ рд╕рдВрдХрд▓рди рдХреЗ рд╕рд╛рде UWP рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдЕрдЧрд░ рдХреЛрдИ рдЗрд╕реЗ рдЕрд▓рдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ, рддреЛ рдареАрдХ рд╣реИ, рд╢реБрднрдХрд╛рдордирд╛рдПрдБ! рдореИрдВ рд╣рдореЗрд╢рд╛ рдиреЗрдЯрд┐рд╡ рдХрдВрдкрд╛рдЗрд▓реЗрд╢рди рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░реВрдВрдЧрд╛, рдЪрд╛рд╣реЗ рдХреБрдЫ рднреА рд╣реЛред Android рджреБрдирд┐рдпрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдореИрдВ рдмрд╛рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛, рдПрдХ рдмрд╛рд░ Xamarin рдлреЙрд░реНрдо рдХреЗ рд╕рд╛рде AOT рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рдФрд░ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдореЗрд░реА рдЕрдкреЗрдХреНрд╖рд╛ рдХреЗ рдЕрдиреБрд░реВрдк рдХрд╛рдо рдирд╣реАрдВ рдХрд┐рдпрд╛ред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореВрд▓ рд╕рдВрдХрд▓рди рдХреЗ рд╕рд╛рде UWP рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдЕрдЧрд░ рдХреЛрдИ рдЗрд╕реЗ рдЕрд▓рдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ, рддреЛ рдареАрдХ рд╣реИ, рд╢реБрднрдХрд╛рдордирд╛рдПрдБ! рдореИрдВ рд╣рдореЗрд╢рд╛ рдиреЗрдЯрд┐рд╡ рдХрдВрдкрд╛рдЗрд▓реЗрд╢рди рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░реВрдВрдЧрд╛, рдЪрд╛рд╣реЗ рдХреБрдЫ рднреА рд╣реЛред Android рджреБрдирд┐рдпрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдореИрдВ рдмрд╛рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛, рдПрдХ рдмрд╛рд░ Xamarin рдлреЙрд░реНрдо рдХреЗ рд╕рд╛рде AOT рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рдФрд░ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдореЗрд░реА рдЕрдкреЗрдХреНрд╖рд╛ рдХреЗ рдЕрдиреБрд░реВрдк рдХрд╛рдо рдирд╣реАрдВ рдХрд┐рдпрд╛ред

рд╕реНрдкреЛрдЗрд▓рд░ - рдЬреЛ рд▓реЛрдЧ рдЖрдкрдХреЗ рд╕реНрд░реЛрдд рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рд╡реЗ рд╢рд╛рдпрдж рдЖрдкрдХреЗ рд╕рд╛рде рд╕реБрдзрд╛рд░/рд╡рд┐рд╕реНрддрд╛рд░/рдПрдХреАрдХрд░рдг рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЖрдкрдХреЛ рдЪреАрд░ рдирд╣реАрдВ рд╕рдХрддреЗред рдпрджрд┐ рд╡реЗ рдЖрдкрдХреЛ рдЪреАрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЗ рдореЗрдЯреНрд░рд┐рдХреНрд╕ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдореВрд░реНрдЦрддрд╛рдкреВрд░реНрдг рд╣реИрдВред

рдЕрдЧрд░ рдореИрдВ рдХреЛрдИ рдХрд┐рддрд╛рдм рд▓рд┐рдЦрддрд╛ рд╣реВрдВ, рддреЛ рдЙрд╕реЗ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐рд╕реА рд╕реЗ рдЙрд╕рдХрд╛ рдЬрд╛рдкрд╛рдиреА рдореЗрдВ рдЕрдиреБрд╡рд╛рдж рдХрд░рд╡рд╛рдПрдВ - рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЪрддреБрд░ рд╣реВрдВ, рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рдЬрд╛рдкрд╛рдиреА рдирд╣реАрдВ рд╕рдордЭрддрд╛, рдФрд░ рди рд╣реА рдореЗрд░рд╛ рдХреЛрдИ рджреЛрд╕реНрддред рд╡рд╛рд╕реНрддрд╡рд┐рдХрддрд╛ рдпрд╣ рд╣реИ рдХрд┐, рд╡рд╣рд╛рдБ рдкреВрд░реЗ рджреЗрд╢ рд╣реИрдВ рдЬреЛ рдЙрд╕ рдкреБрд╕реНрддрдХ рдХреЛ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВ - рдФрд░ рдЕрдЧрд░ рдореИрдВ рдЕрдиреНрдпрдерд╛ рджрд┐рдЦрд╛рд╡рд╛ рдХрд░рддрд╛ рд╣реВрдБ рддреЛ рдореИрдВ рдЦреБрдж рдХреЛ рдмреЗрд╡рдХреВрдл рдмрдирд╛рдиреЗ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдФрд░ рдХреБрдЫ рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реВрдБред

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

рдпрд╣ рдореБрдЭреЗ, рд╢реВрдиреНрдп рдкреВрд░реНрд╡ рдЕрдиреБрднрд╡ рд╡рд╛рд▓рд╛ рдХреЛрдИ рд╡реНрдпрдХреНрддрд┐, рдХреБрдЫ рднреА рдирд╣реАрдВ рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рджреЛ рд╕рдкреНрддрд╛рд╣, рдПрдХ рдРрд╕рд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдо рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЬреЛ рди рдХреЗрд╡рд▓ рдЙрдирдХреА рдПрдиреНрдХреНрд░рд┐рдкреНрдЯреЗрдб рдбреЗрдЯрд╛ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдбрд┐рдХреНрд░рд┐рдкреНрдЯ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдмрд▓реНрдХрд┐ рдЙрдирдХреЗ рд╕реНрд╡рд╛рдорд┐рддреНрд╡ рдбреЗрдЯрд╛ рдкреНрд░рд╛рд░реВрдкреЛрдВ рдХреЛ рдПрдХреНрд╕рдПрдордПрд▓/рдЬреЗрдПрд╕рдУрдПрди рдореЗрдВ рднреА рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИред

рдЙрди 2 рд╣рдлреНрддреЛрдВ рдХреЗ рдмрд╛рдж - рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдореЗрд░реЗ рдкрд╛рд╕ рд╡реАрдПрд╕ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХрд╛ рдкреВрд░рд╛ рдЖрд╡реЗрджрди рддреИрдпрд╛рд░ рди рд╣реЛ - рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдпрд╣ рднреА рдПрд╣рд╕рд╛рд╕ рд╣реБрдЖ рдХрд┐ рдореБрдЭреЗ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рдореМрдЬреВрджрд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рд╕рд┐рд░реНрдл рдЕрдкрдирд╛ рдХреЛрдб рдЗрдВрдЬреЗрдХреНрдЯ рдХрд░рдирд╛ рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реИ, рдФрд░ рдЙрдирдХреЗ рд╕рднреА рдХреЛрдб рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рдирд╣реАрдВ рд╣реИред

рдПрдХ рдРрд╕рд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдо рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЬреЛ рди рдХреЗрд╡рд▓ рдЙрдирдХреА рдПрдиреНрдХреНрд░рд┐рдкреНрдЯреЗрдб рдбреЗрдЯрд╛ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдбрд┐рдХреНрд░рд┐рдкреНрдЯ рдХрд░ рд╕рдХрддрд╛ рд╣реИ

рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рдХреБрдЫ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрд▓рдЧ рд╣реИред рдореЙрдбреНрд╕ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП VIDEO GAME рдХреЛ рдбрд┐рдХрдВрдкрд╛рдЗрд▓ рдХрд░рдирд╛ рдХреБрдЫ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрд▓рдЧ рд╣реИред рдЕрдзрд┐рдХрд╛рдВрд╢ рдЧреЗрдо рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рдХреЛрдИ рдЖрдкрддреНрддрд┐ рдирд╣реАрдВ рд╣реИ рдпрджрд┐ рдЙрдирдХреЗ рдкреНрд░рд╢рдВрд╕рдХ рдореЙрдб рдмрдирд╛рддреЗ рд╣реИрдВ, рдмрд▓реНрдХрд┐ рдпрд╣ рдЧреЗрдо рдХреЗ рд▓рд┐рдП рдЙрдирдХреЗ рдЬреБрдиреВрди рдФрд░ рдкреНрдпрд╛рд░ рдХреЛ рджрд░реНрд╢рд╛рддрд╛ рд╣реИред рдФрд░ рд╢рд╛рдпрдж "рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди" рдмрд┐рд▓реНрдХреБрд▓ рднреА рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рдирд╣реАрдВ рдерд╛, рд▓реЗрдХрд┐рди рдлрд╛рдЗрд▓реЗрдВ рд╕рд┐рд░реНрдл рдЫреЛрдЯреЗ рдЖрдХрд╛рд░ рдХреЗ рд▓рд┐рдП рдкреИрдХ рдХреА рдЧрдИ рдереАрдВ? рдбрд┐рд╕реНрдХ рдкрд░ рд╣рдЬрд╛рд░реЛрдВ рд╕рд┐рдВрдЧрд▓ рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рд╕реНрдЯреЛрд░ рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред рдкреНрд░рджрд░реНрд╢рди рднреА рдПрдХ рдХрд╛рд░рдг рд╣реЛ рд╕рдХрддрд╛ рдерд╛... рдбрд┐рд╕реНрдХ рд╕реЗ рдХрдИ рдЫреЛрдЯреА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдкрдврд╝рдирд╛ рдПрдХ рдмрдбрд╝реА рдлрд╝рд╛рдЗрд▓ рдХреЛ рдкрдврд╝рдиреЗ рд╕реЗ рдзреАрдорд╛ рд╣реИред рдФрд░ 2 рд╕рдкреНрддрд╛рд╣ рдХреЗ рдмрд╛рдж рдЖрдк рдкреИрдХ рдХреА рдЧрдИ рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рдЕрдирдкреИрдХ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдереЗред рдЖрдк рдХреБрдЫ рдбреЗрдЯрд╛ рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рдЯреЗрдХреНрд╕реНрдЯ рдмрджрд▓рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдереЗред рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рд▓рд┐рдП рдирд╣реАрдВ рдХрд┐ рдореЗрд░реЗ рдЬреИрд╕реЗ рд▓реЛрдЧ рдЬреЗрдЖрдИрдЯреА рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред

рдЕрднреА рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЬреЛ рд╕рдорд╕реНрдпрд╛ рд╣реИ рд╡рд╣ рдпрд╣ рд╣реИ рдХрд┐ рдЬреЗрдЖрдИрдЯреА рдХреЛрдб рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕реНрд░реЛрдд рдХреЛрдб рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рдШрдЯрд┐рдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЬрд╛рд╡рд╛ рдореЗрдВ рднреА рдпрд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИ рдФрд░ рд╕рд╛рде рд╣реА рдХреЛрдИ рдЕрдиреНрдп рдЬреЗрдЖрдИрдЯреА рднрд╛рд╖рд╛ рднреА рд╣реИред рдореВрд▓ рдХреЛрдб рдХреЛ рдЕрд▓рдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ (рдпрд╣ рдорд╢реАрди рдХреЛрдб рдХреЛ рдЕрд╕реЗрдВрдмрд▓реА рдХреЛрдб рдореЗрдВ рдмрджрд▓ рджреЗрдЧрд╛), рджреЗрд╢реА рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЛ рдкрд░реНрдпрд╛рдкреНрдд рдЦрд░реНрдЪ рдХреЗ рд╕рд╛рде рдХреНрд░реИрдХ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдпрд╣ рд╕рдм рд╕рдЪ рд╣реИ рд▓реЗрдХрд┐рди рд╕реНрд░реЛрдд рдХреЛрдб рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рджреЗрд╢реА рдХреЛрдб рд╕рдВрдХрд▓рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдХреНрдпрд╛ рдЖрдкрдиреЗ рдХрднреА C++ рдХреЛрдб рдХреЗ рд▓рд┐рдП dnSpy рдЬреИрд╕рд╛ рдЯреВрд▓ рджреЗрдЦрд╛ рд╣реИ? рдбреЗрд▓реНрдлреА рдХреЛрдб? рдореИрдВрдиреЗ рдирд╣реАрдВ рдХрд┐рдпрд╛ред рдЗрд╕рдХрд╛ рдХрд╛рд░рдг рдпрд╣ рд╣реИ рдХрд┐ рдЪрд░ рдФрд░ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЗ рдирд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИ, рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд╕рдВрдХрд▓рд┐рдд рд╣реЛрдиреЗ рдкрд░ рд╡реЗ рд╕рд░рд▓ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВред рдбрд┐рд╕реНрд╕реЗрдкреНрд▓рд░ рдХреЛ рд╕реА ++ рдореЗрдВ рдмрджрд▓рдирд╛ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИ рдФрд░ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛ рдЖрдк рд╕рдВрдХрд▓рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рдХреБрдЫ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдЬреЛ рдЖрдкрдХреЗ рд▓рд┐рдП рдЗрддрдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдпрд╣ рдмрд╣реБрдд рдмрдбрд╝реА рдмрд╛рдд рд╣реИред рд╣рдо рд╕рд┐рд░реНрдл рдЗрд╕ рддрдереНрдп рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ .NET рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдПрдХ рдЦреБрд▓реА рдХрд┐рддрд╛рдм рд╣реИ рдЬрд┐рд╕реЗ рд╣рд░ рдХреЛрдИ рдмрд┐рд▓реНрдХреБрд▓ рд╢реВрдиреНрдп рдЬреНрдЮрд╛рди рдХреЗ рд╕рд╛рде рдкрдврд╝ рд╕рдХрддрд╛ рд╣реИред рдЬрдм рд╣рдо рд╢реЛрдз рдореЗрдВ рд╣рдЬрд╛рд░реЛрдВ рдбреЙрд▓рд░ рд▓рдЧрд╛рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рдирд╣реАрдВ рдЪрд╛рд╣рддреЗ рдХрд┐ рд╣рд░ рдХреЛрдИ рдЗрд╕реЗ рджреЗрдЦреЗ рдФрд░ рдХреБрдЫ рд╕реЗрдХрдВрдб рдХреЗ рднреАрддрд░ рдЗрд╕реЗ рдХреЙрдкреА рдХрд░ рд▓реЗред рд╣рдо рдПрдХ рдкрд░реНрдпрд╡реЗрдХреНрд╖рдХ рдХреЗ рд▓рд┐рдП рд╣рдЬрд╛рд░реЛрдВ рдбреЙрд▓рд░ рдХрд╛ рднреБрдЧрддрд╛рди рдХрд░рдиреЗ рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рд╕рднреА рдЪрд░ рдФрд░ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЗ рдирд╛рдореЛрдВ рдХрд╛ рдирд╛рдо рдмрджрд▓рдирд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд▓реЛрдЧ рдЕрдм рдЖрд╡реЗрджрди рдирд╣реАрдВ рдЦреЛрд▓ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ рддреБрд░рдВрдд рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП "рд▓рд╛рдЗрд╕реЗрдВрд╕" рдХреА рдЦреЛрдЬ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕рдХреА рди рдХреЗрд╡рд▓ (рдмрд▓реНрдХрд┐ рдЬреНрдпрд╛рджрд╛рддрд░) рдСрдмрдлрд╕реНрдХреЗрдЯрд░ рдХреА рд▓рд╛рдЧрдд рд╣реИ, рдмрд▓реНрдХрд┐ рдпрд╣ рднреА рд╣реИ рдХрд┐ рдСрдмрдлрд╕реНрдХреЗрдЯрд░ рдЕрддрд┐рд░рд┐рдХреНрдд рд╕рдорд╕реНрдпрд╛рдПрдВ рдкреИрджрд╛ рдХрд░рддреЗ рд╣реИрдВред рдореИрдВ рдЦреБрдж рдЗрд╕рдореЗрдВ рдЕрдХреНрд╕рд░ рднрд╛рдЧ рдЧрдпрд╛, рдЦрд╛рд╕рдХрд░ .NET рдХреЛрд░ рд░рд┐рд▓реАрдЬ рдХреА рдЖрд╡реГрддреНрддрд┐ рдХреЗ рд╕рд╛рдеред рд╣рдореЗрдВ рдХреЗрд╡рд▓ рдПрдХ рдкреИрдЪ рдХреЗ рд▓рд┐рдП рдХрдИ рд╕рдкреНрддрд╛рд╣ рдЗрдВрддрдЬрд╛рд░ рдХрд░рдирд╛ рдкрдбрд╝рд╛, рдЬреЛ рдСрдмрдлреНрдпреВрд╕реЗрдЯрд░ рдХреЛ рдирд╡реАрдирддрдо .NET рдХреЛрд░ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

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

рд╕реА ++ рдФрд░ рдбреЗрд▓реНрдлреА рдХреЗ рд╕рд╛рде рдЖрдкрдХреЛ рдмрд╕ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИред рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рд╕рднреА рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рд╣реИред рдУрдкрди рд╕реЛрд░реНрд╕ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдЬреЗрдЖрдИрдЯреА рдХреЛ рдЕрдзрд┐рдХ рд░реЛрдЪрдХ рдФрд░ рдЙрдкрдпреЛрдЧреА рдкрд╛рдПрдВрдЧреЗред рдЙрдиреНрд╣реЗрдВ рдпрд╣ рд╕рдордЭрд╛рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИ рдХрд┐ рдХреЛрдИ рдХреНрдпреЛрдВ рдЪрд╛рд╣рддрд╛ рд╣реИ рдХрд┐ рдЙрд╕рдХрд╛ рд╕реНрд░реЛрдд рдХреЛрдб рдПрдХ рдмрдВрдж рдХрд┐рддрд╛рдм рд╣реЛ, рдЬрдм рдЙрдирдХрд╛ рдорд╛рдирдирд╛ тАЛтАЛтАЛтАЛрд╣реИ рдХрд┐ рдЦреБрд▓реА рдХрд┐рддрд╛рдмреЗрдВ рдмреЗрд╣рддрд░ рд╣реИрдВред рдЗрд╕рд▓рд┐рдП рдЖрджрд░реНрд╢ рд░реВрдк рд╕реЗ, рд╣рдореЗрдВ рдПрдХ-рджреВрд╕рд░реЗ рдХреЛ рд╣рдорд╛рд░реЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрд▓рдЧ рд╡рд┐рдЪрд╛рд░реЛрдВ рдХреЛ рд╕рдордЭрд╛рдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рдирд╣реАрдВ рд╣реИ рдФрд░ рдПрдУрдЯреА рд╕рд┐рд░реНрдл рдПрдХ рд╕реНрд╡рд┐рдЪ рд╣реЛрдЧрд╛ рдЬрд┐рд╕реЗ рдЖрдк рдЪрд╛рд╣реЗрдВ рддреЛ рд░рд┐рд▓реАрдЬ рдореЛрдб рдореЗрдВ рдЪрд╛рд▓реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдФрд░ рдЕрдЧрд░ рдЖрдк рдирд╣реАрдВ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЬреЗрдЖрдИрдЯреА рдХреЗ рд╕рд╛рде рдЖрдЧреЗ рдмрдврд╝реЗрдВред

рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ .NET рдЯреАрдо рдХрд╛ рд╢реБрдХреНрд░рдЧреБрдЬрд╛рд░ рд╣реВрдВ рдХрд┐ рд╣рдореЗрдВ "рд╕реБрд░рдХреНрд╖рд╛" рдЪреБрдирдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдХрд╛рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рд╣рдо AOT тЭд рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдпрд╣ рджрд░реНрд╢рд╛рддрд╛ рд╣реИ рдХрд┐ рд╡реЗ рдХреБрдЫ рд▓реЛрдЧреЛрдВ рдХреА рдЬрд╝рд░реВрд░рддреЛрдВ рд╕реЗ рдЕрд╡рдЧрдд рд╣реИрдВред рдФрд░ рдЕрдЧрд░ рдЪреБрдирд╛рд╡реЛрдВ рд╕реЗ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рдЖрджрдореА рдЗрд╕рдХреЗ рд▓рд┐рдП рд╡реЛрдЯ рдХрд░рддрд╛ рд╣реИ, рддреЛ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЖрдЦрд┐рд░рдХрд╛рд░ рдПрдХ рдореМрдХрд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдПрдУрдЯреА рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╕реА ++ рдХрдВрдкрд╛рдЗрд▓рд░ рдХреА рддрд░рд╣ рд╣реА рдЗрд╕ рдкрд░ рдзреНрдпрд╛рди рджреЗрдЧрд╛ред рдПрдлрд╡рд╛рдИрдЖрдИ: рдПрдУрдЯреА рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрд┐рддрдиреА рд╕реБрд░рдХреНрд╖рд╛ рд╣реИ, рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдФрд░ рдЪрд░реНрдЪрд╛ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдореИрдВрдиреЗ рдЗрд╕реЗ рдЙрджреНрдзрд░рдгреЛрдВ рдореЗрдВ рд░рдЦрд╛ рд╣реИ, рдЗрд╕ рдкрд░ рд╡рд┐рдЪрд╛рд░реЛрдВ рдХреА рдмрд╛рдд рдмрд╣реБрдд рд╡реНрдпрд╛рдкрдХ рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ рд╣рдордиреЗ рдкрд╣рд▓реЗ рд╣реА рджреЗрдЦрд╛ рд╣реЛрдЧрд╛ред

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

рдореЗрд░реЗ рдПрдХ рдорд┐рддреНрд░ рдиреЗ рдЖрдИрдПрд▓ рдХреЛ рд╕реА# рдореЗрдВ рд╡рд┐рдШрдЯрд┐рдд рдХрд░рдХреЗ рдФрд░ рдорд╛рдореВрд▓реА рд╕рдВрд╢реЛрдзрди рдХрд░рдХреЗ .NET рдЙрддреНрдкрд╛рджреЛрдВ рдХреЛ рдХреНрд░реИрдХ рдХрд┐рдпрд╛ рд╣реИред рд╡рд╣ рджреЗрд╢реА рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЛ рдХреНрд░реИрдХ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рд╣реИред рдпрд╣ рдЬреНрдпрд╛рджрд╛ рдХрдард┐рди рд╣реИред рдЙрдиреНрд╣реЗрдВ рдЖрдИрдПрд▓ рдСрдмрдлрд╕реНрдХреЗрдЯрд░реНрд╕ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдореЗрдВ рднреА рд╣рд╛рд░ рдорд╛рдирдиреА рдкрдбрд╝реА рдХреНрдпреЛрдВрдХрд┐ рдбреАрдХрдВрдкрд▓рд░ рдЯреВрд▓ рдЙрди рдмрд╛рдпрдиреЗрд░рд┐рдЬрд╝ рдкрд░ рджреБрд░реНрдШрдЯрдирд╛рдЧреНрд░рд╕реНрдд рд╣реЛ рдЧрдпрд╛ рдерд╛ред рдлрд┐рд░ рд╕реЗ, рдЙрди рдЙрддреНрдкрд╛рджреЛрдВ рдХреЛ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдЕрд░реНрдереЛрдВ рдореЗрдВ рд╕рдВрд░рдХреНрд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдЗрд╕рдиреЗ рдХрд╛рдо рдХрд░ рджрд┐рдпрд╛ред

@ рд╕рд┐рдВрдмрд╛рдИ

Have you ever seen a tool like dnSpy for C++ code? Delphi code?

рд╣реЗрдХреНрд╕-рд░реЗ рд╕реА рдХреЗ рд▓рд┐рдП рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдЗрд╕рдореЗрдВ рдирд┐рд░реНрдгрдп рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдорджрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореИрдХреНрд░реЛрдЬрд╝ рд╣реИрдВред

рд╕реА рд╕реНрд░реЛрдд рд╣реЛрдиреЗ рдХреЗ рдХрд╛рд░рдг рдпрд╣ рдмрдЪреНрдЪреЛрдВ рдХреЛ рд╕реА ++ рдпрд╛ рдбреЗрд▓реНрдлреА рдореЗрдВ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдЦреЗрд▓рддрд╛ рд╣реИред

рд╕рд╛рде рд╣реА рдЕрдм рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЙрди рд▓реЛрдЧреЛрдВ рдХреА рдорджрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдЖрдИ рд╣реИ рдЬреЛ рдкрд░реНрдпрд╛рдкреНрдд рдХреБрд╢рд▓ рдирд╣реАрдВ рд╣реИрдВред

рд╕реНрдЯреНрд░рд┐рдкреНрдб рдмрд╛рдпрдиреЗрд░рд┐рдЬрд╝ рдХреА рддрдВрддреНрд░рд┐рдХрд╛ рд░рд┐рд╡рд░реНрд╕ рдЗрдВрдЬреАрдирд┐рдпрд░рд┐рдВрдЧ

рд╣реЗрдХреНрд╕-рд░реЗ рд╕реА рдХреЗ рд▓рд┐рдП рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдЗрд╕рдореЗрдВ рдирд┐рд░реНрдгрдп рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдорджрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореИрдХреНрд░реЛрдЬрд╝ рд╣реИрдВред

рдХреНрдпрд╛ рдЖрдк рд╣реЗрдХреНрд╕-рд░реЗ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ рдпрд╛ рдХрд┐рд╕реА рдРрд╕реА рдХрдВрдкрдиреА рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рдУрдлрд╝реНрдлрд╝реБрд╕реЗрд╢рди рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдмреЗрдЪрддреА рд╣реИ? рдпрд╣ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ред

рд╡реИрд╕реЗ рднреА, рднрд▓реЗ рд╣реА рдЖрдк рдЗрд╕реЗ C рдореЗрдВ рдмрджрд▓ рджреЗрдВ, рдХреЛрдб рдПрдХ рдЕрдЪреНрдЫреЗ C# рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рд╕реЗ рдмрд╣реБрдд рджреВрд░ рд╣реЛрдЧрд╛ред рдпрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдХрд┐ рдЕрдЧрд░ рдЖрдкрдХреЛ рдХреЛрдб рдХреЗ рдЯреБрдХрдбрд╝реЗ рдорд┐рд▓рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдЗрд╕реЗ рдмрджрд▓рдиреЗ, рд╕реБрдзрд╛рд░рдиреЗ, рдЖрджрд┐ рдХреЗ рд▓рд┐рдП рдЕрдЪреНрдЫреА рдорд╛рддреНрд░рд╛ рдореЗрдВ рдкреНрд░рдпрд╛рд╕ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ ....
рдпрджрд┐ рдЖрдкрдХреЗ рд▓рд┐рдП рдореВрд▓ рд╕рдВрдХрд▓рди рдЕрдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╣реИ, рддреЛ рдареАрдХ рд╣реИред рд▓реЗрдХрд┐рди рдХрдИ рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдпрд╣ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╣реИред

BTW: рдЖрдк JIT рд╕рдВрдХрд▓рди рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реБрдП рдмрд╣реБрдд рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ рдФрд░ рд╕рд╛рде рд╣реА рдЖрдкрдХреЛ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдХреЛ рдЕрд▓рдЧ рдХрд░рдиреЗ рдХрд╛ рдмрд╣реБрдд рдЕрдиреБрднрд╡ рд╣реИред рдореИрдВ рд╕реЛрдЪ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдЖрдкрдХреЛ рдЗрд╕рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХреНрдпреЛрдВ рдФрд░ рдХрд╣рд╛рдВ рдХрд░рдирд╛ рдкрдбрд╝рд╛?!

рднрд▓реЗ рд╣реА рдЖрдк рдореЗрдВ рд╕реЗ рдХреЛрдИ рднреА рдЖрдИрдПрд▓ рдмрдирд╛рдо рдорд╢реАрди рдХреЛрдб рдХреЗ рдЕрдкрдШрдЯрди рдХреА рдЖрд╕рд╛рдиреА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреИрд╕рд╛ рдорд╣рд╕реВрд╕ рдХрд░рддрд╛ рд╣реЛ, рдпрд╣ рдЗрд╕ рддрдереНрдп рдХреЛ рдирд╣реАрдВ рдмрджрд▓рддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╡реНрдпрд╡рд╕рд╛рдпреЛрдВ рдореЗрдВ рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред (рдФрд░ рд╣рдо рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╣рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЧрд╛рдпреЛрдВ рдХреЗ рдШрд░ рдЖрдиреЗ рддрдХ рдпрд╣ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХрд┐рддрдиреА рд╡реИрдз рдпрд╛ рдЕрдорд╛рдиреНрдп рд╣реЛ рд╕рдХрддреА рд╣реИред)

рдореЗрд░реЗ рдкрд┐рдЫрд▓реЗ рдирд┐рдпреЛрдХреНрддрд╛ рдиреЗ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЗрд╕ рдХрд╛рд░рдг рд╕реЗ .NET рдпрд╛ JVM рдЯреВрд▓ рдХреЛ рдмрд╛рд╣рд░реА рд░реВрдк рд╕реЗ рд╢рд┐рдкрд┐рдВрдЧ рдХрд░рдиреЗ рд╕реЗ рдордирд╛ рдХрд┐рдпрд╛ рдерд╛ред рдореЗрд░реЗ рдЬрд╛рдиреЗ рд╕реЗ рдареАрдХ рдкрд╣рд▓реЗ рдПрдХ рдЯреАрдо рдиреЗ рдЙрдЪреНрдЪ рдЕрдзрд┐рдХрд╛рд░рд┐рдпреЛрдВ рдХреЛ рдЖрд╢реНрд╡рд╕реНрдд рдХрд┐рдпрд╛ рдХрд┐ рдЙрдиреНрд╣реЗрдВ рднрд╛рд░реА рдУрдлрд╝реНрдлрд╝реБрд╕реЗрд╢рди рдХреЗ рд╕рд╛рде рдПрдХ рдЙрдкрдХрд░рдг рд╢рд┐рдк рдХрд░рдиреЗ рджрд┐рдпрд╛ рдЬрд╛рдП, рд▓реЗрдХрд┐рди рдЕрдиреНрдпрдерд╛ рд╣рдо рдХреЙрд░реНрдкреЛрд░реЗрдЯ рдиреАрддрд┐ рдХреЛ рд╕рдВрддреБрд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП C++ рдореЗрдВ рдмрд╛рд╣рд░реА рдЙрдкрдХрд░рдг рд▓рд┐рдЦ рд░рд╣реЗ рдереЗред

рдпрд╣ рдЪрд░реНрдЪрд╛ рдкрдЯрд░реА рд╕реЗ рдЙрддрд░ рдЧрдИ рд╣реИред рдпрджрд┐ рдЖрдк рд╕рднреА рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдПрдУрдЯреА рдЖрдИрдкреА рд╕реБрд░рдХреНрд╖рд╛ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╣реИ рдпрд╛ рдирд╣реАрдВ, рддреЛ рдХреГрдкрдпрд╛ рдЗрд╕реЗ рдХрд╣реАрдВ рдФрд░ рдХрд░реЗрдВред

рд╣реЗрдХреНрд╕-рд░реЗ рд╕реА рдХреЗ рд▓рд┐рдП рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдЗрд╕рдореЗрдВ рдирд┐рд░реНрдгрдп рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдорджрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореИрдХреНрд░реЛрдЬрд╝ рд╣реИрдВред

рдХреНрдпрд╛ рдЖрдк рд╣реЗрдХреНрд╕-рд░реЗ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ рдпрд╛ рдХрд┐рд╕реА рдРрд╕реА рдХрдВрдкрдиреА рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рдУрдлрд╝реНрдлрд╝реБрд╕реЗрд╢рди рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдмреЗрдЪрддреА рд╣реИ? рдпрд╣ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ред

рд╡реИрд╕реЗ рднреА, рднрд▓реЗ рд╣реА рдЖрдк рдЗрд╕реЗ C рдореЗрдВ рдмрджрд▓ рджреЗрдВ, рдХреЛрдб рдПрдХ рдЕрдЪреНрдЫреЗ C# рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рд╕реЗ рдмрд╣реБрдд рджреВрд░ рд╣реЛрдЧрд╛ред рдпрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдХрд┐ рдЕрдЧрд░ рдЖрдкрдХреЛ рдХреЛрдб рдХреЗ рдЯреБрдХрдбрд╝реЗ рдорд┐рд▓рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдЗрд╕реЗ рдмрджрд▓рдиреЗ, рд╕реБрдзрд╛рд░рдиреЗ, рдЖрджрд┐ рдХреЗ рд▓рд┐рдП рдЕрдЪреНрдЫреА рдорд╛рддреНрд░рд╛ рдореЗрдВ рдкреНрд░рдпрд╛рд╕ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ ....
рдпрджрд┐ рдЖрдкрдХреЗ рд▓рд┐рдП рдореВрд▓ рд╕рдВрдХрд▓рди рдЕрдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╣реИ, рддреЛ рдареАрдХ рд╣реИред рд▓реЗрдХрд┐рди рдХрдИ рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдпрд╣ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╣реИред

BTW: рдЖрдк JIT рд╕рдВрдХрд▓рди рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реБрдП рдмрд╣реБрдд рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ рдФрд░ рд╕рд╛рде рд╣реА рдЖрдкрдХреЛ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдХреЛ рдЕрд▓рдЧ рдХрд░рдиреЗ рдХрд╛ рдмрд╣реБрдд рдЕрдиреБрднрд╡ рд╣реИред рдореИрдВ рд╕реЛрдЪ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдЖрдкрдХреЛ рдЗрд╕рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХреНрдпреЛрдВ рдФрд░ рдХрд╣рд╛рдВ рдХрд░рдирд╛ рдкрдбрд╝рд╛?!

рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд, рдореЗрд░реЗ рдкрд╛рд╕ рдореВрд▓ рдХреЛрдб рдХреЛ рд╕реНрд░реЛрдд рдХреЛрдб рдореЗрдВ рд░рд┐рд╡рд░реНрд╕ рдХрд░рдиреЗ рдХрд╛ рдХреМрд╢рд▓ рд╣реИ рдЬрд┐рд╕реЗ рдЖрдЧреЗ рддреАрд╕рд░реЗ рдкрдХреНрд╖ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдореВрд▓ рдХреЛрдб рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдирд╛ рдХреЗрд╡рд▓ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд┐рдбреАрдЬрд╝ рдХреЗ рд▓рд┐рдП рдПрдХ рдмрд╛рдзрд╛ рд╣реИ, рдЬреЛ рд▓рд╛рдкрддрд╛ рд╕рдордЭ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ рдпрд╣рд╛рдВред

рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: рдореЗрд░реА рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЛ рднреА рд░реЛрдХ рд░рд╣рд╛ рд╣реИред рдмрд╕ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд╣рдорд▓реЗ рдХрд╛ рдЬрд╡рд╛рдм рджреЗрдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ред

рдХреНрд▓рд╛рдЙрдб рдиреЗрдЯрд┐рд╡ рдФрд░ рдбрдмреНрд▓реНрдпреВрдкреАрдПрдл рдПрдУрдЯреА рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
рд╡рд┐рдВрдбреЛрдЬ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛрдИ рд░рдирдЯрд╛рдЗрдо рдирд╣реАрдВ! рдХреЛрдИ JIT . рдирд╣реАрдВ

рд╕рд░реНрд╡реЗрдХреНрд╖рдг рдХреЗ рдкрд░рд┐рдгрд╛рдо рдкреЛрд╕реНрдЯ рдХрд┐рдП рдЧрдП рд╣реИрдВ - https://github.com/dotnet/runtime/issues/41522ред рдЕрдм рд╣рдо рдЙрди рд▓реЛрдЧреЛрдВ рд╕реЗ рд╕рдВрдкрд░реНрдХ рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЛрдВрдиреЗ рдЕрдкрдиреА рд╕рдВрдкрд░реНрдХ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рджрд╛рди рдХреА рдФрд░ рдХреБрдЫ рдЕрддрд┐рд░рд┐рдХреНрдд рдЕрдиреБрд╡рд░реНрддреА рдкреНрд░рд╢реНрди рд╣реИрдВред

рдЖрдИрдУрдПрд╕ рдФрд░ рдХрдВрд╕реЛрд▓ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдореЗрдВ рдЧреЗрдо рдЗрдВрдЬрди рдХреЗ рд▓рд┐рдП рдПрдУрдЯреА рдбрдмреНрд▓реНрдпреВ/рд╕реНрдЯреЗрдЯрд┐рдХ рд▓рд┐рдВрдХрд┐рдВрдЧ рдХреА рддрддреНрдХрд╛рд▓ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬреЛ рдЬреАрдЖрдИрдЯреА рдХреЛ рдЕрдХреНрд╖рдо рдХрд░рддрд╛ рд╣реИ,

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

рдЗрд╕рд▓рд┐рдП рд╣рдо 3 рдкреЙрдкрд▓рд░ рдЧреЗрдо рдХрдВрд╕реЛрд▓ (XBox One; PlayStation 4 рдФрд░ Nintendo рд╕реНрд╡рд┐рдЪ) рдкрд░ CoreRT рдХреЛ рдЪрд▓рд╛рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдЕрд╡рдзрд╛рд░рдгрд╛ рдХрд╛ рдПрдХ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдкреНрд░реЛрдлреЗрд╕рд░ рджрд┐рдЦрд╛рддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ (рдЕрднреА рднреА рдХреБрдЫ рд╕реАрдорд╛рдУрдВ рдХреЗ рд╕рд╛рде) рд▓реЗрдХрд┐рди рдореЛрдиреЛ рдЖрдзрд╛рд░рд┐рдд рд╕рдорд╛рдзрд╛рди рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд░рди рдЯрд╛рдЗрдо рдкреНрд░рджрд░реНрд╢рди рд╕реБрдзрд╛рд░ рдХреЗ рд╕рд╛рдеред

рд▓реЗрдХрд┐рди рдЧреЗрдо рдХрдВрд╕реЛрд▓ рдХреЗ рдЖрд╕рдкрд╛рд╕ рдПрдирдбреАрдП рдХреА рд╕реНрдерд┐рддрд┐ рдХреЗ рд╕рд╛рде рдЗрд╕ рдЙрдкрдпреЛрдЧ рдХреЗ рдХрд╛рд░рдг рдХреЗ рд▓рд┐рдП рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд╕рдорд░реНрдерди рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдореВрд▓ рдПрдУрдЯреА рдХреЛ рдкрд╣рд▓реЗ рд╕реНрдерд╛рди рдкрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рд╕реЗ рдХрд╣реАрдВ рдЕрдзрд┐рдХ рджреВрд░ рд╣реИред

@RalfKornmannEnvision рдХреНрдпрд╛ рдЖрдк LLVM рдХреЛрдбрдЬрди рдХреЗ рд╕рд╛рде Xamarin Xbox One/PS4 рдореЛрдиреЛ рдкреЛрд░реНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ?

@RalfKornmannEnvision рдХреНрдпрд╛ рдЖрдк LLVM рдХреЛрдбрдЬрди рдХреЗ рд╕рд╛рде Xamarin Xbox One/PS4 рдореЛрдиреЛ рдкреЛрд░реНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ?

@lateralusX рдЬреИрд╕рд╛ рдХрд┐ рдПрдХреАрдХрд░рдг рдХрд┐рд╕реА рдФрд░ рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдореБрдЭреЗ рдХреЛрдИ рд╡рд┐рд╡рд░рдг рдирд╣реАрдВ рдкрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдЬрд╣рд╛рдВ рддрдХ тАЛтАЛрдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдЙрдиреНрд╣реЛрдВрдиреЗ рдореЛрдиреЛ рдкреЛрд░реНрдЯ рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдЬреЛ рдХрд┐ XBox One/PS4 рдХреЗ рд▓рд┐рдП рджрд┐рдП рдЧрдП рд╣реИрдВ рдФрд░ рд╕реНрд╡рд┐рдЪ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдкреЛрд░реНрдЯ рдмрдирд╛рдпрд╛ рд╣реИред рдЦреБрджред

@RalfKornmannEnvision рд╕рдВрдкрд░реНрдХ рдХрд░рдиреЗ рдФрд░ рдЗрд╕рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдЕрдиреБрднрд╡ рдкрд░ рдЪрд░реНрдЪрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ред рдПрд▓рдПрд▓рд╡реАрдПрдо рдХреЛрдбрдЬрди (рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдЖрдзрд╛рд░ рдкрд░) рдЙрддреНрдкрдиреНрди рдХреЛрдб рдкрд░ рдмрд╣реБрдд рд╕рдХрд╛рд░рд╛рддреНрдордХ рдкреНрд░рджрд░реНрд╢рди рдкреНрд░рднрд╛рд╡ рдбрд╛рд▓рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрджрд┐ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ (рд╕рдХреНрд╖рдо рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ) рддреЛ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдЗрд╕реЗ рд╕рдХреНрд╖рдо рдХрд░рдиреЗ рд╕реЗ рдмрд╣реБрдд рдХреБрдЫ рд╣рд╛рд╕рд┐рд▓ рд╣реЛрддрд╛ рд╣реИред рдХреНрдпрд╛ рдЖрдк DotNetEvolution рдбрд┐рд╕реНрдХреЙрд░реНрдб рд╕рд░реНрд╡рд░ рдкрд░ рд╣реИрдВ, рдпрджрд┐ рдРрд╕рд╛ рд╣реИ рддреЛ рд╢рд╛рдпрдж рд╣рдо рдЗрд╕рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдСрдлрд╝рд▓рд╛рдЗрди рдЪрд░реНрдЪрд╛ рдХрд░ рд╕рдХреЗрдВ?

@lateralusX рдореБрдЭреЗ рдкреВрд░рд╛ рдпрдХреАрди рд╣реИ рдХрд┐ рдЗрд╕ рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдЯреАрдо рдХреЗ рд╕рджрд╕реНрдпреЛрдВ рдиреЗ LLVM рдХреЛрдбрдЬрди рдХреЛ рд╕рдХреНрд╖рдо рдХрд┐рдпрд╛ рд╣реИ рдФрд░ рдЕрдиреНрдп рдЪреАрдЬреЛрдВ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рд╣реИред рдХрд┐рд╕реА рдЕрдиреНрдп рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдкрд░ рдЖрдЧреЗ рдмрдврд╝рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЙрдирдХрд╛ рдЖрдЦрд┐рд░реА рдмрдпрд╛рди рдерд╛ рдХрд┐ рдпрд╣ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╣реИ рдЬреЛ рд╡реЗ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

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

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

@RalfKornmannEnvision рдареАрдХ рд╣реИ, рдЖрдкрдХреА рдЬрд╛рдирдХрд╛рд░реА рдФрд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рд╕рднреА рдмрд╣реБрдд рдореВрд▓реНрдпрд╡рд╛рди рд╣реИрдВред

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

jkotas picture jkotas  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

yahorsi picture yahorsi  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

jzabroski picture jzabroski  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

nalywa picture nalywa  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

iCodeWebApps picture iCodeWebApps  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ