Aspnetcore: .NET рдХреЛрд░ рдХреЛ WASM рдЕрдиреБрднрд╡ рдХреЛ Blazor рд╕реЗ рдЕрд▓рдЧ рдХрд░реЗрдВ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 14 рдордИ 2018  ┬╖  51рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: dotnet/aspnetcore

рдХреГрдкрдпрд╛ рдЗрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ UI-рд╡рд┐рд╢рд┐рд╖реНрдЯ рднрд╛рдЧреЛрдВ рдХреЛ .NET рдХреЛрд░ рдХреЛрдб рдХреЛ WASM рдореЗрдВ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдХреА рдореВрд▓ рдХреНрд╖рдорддрд╛ рд╕реЗ рдЕрд▓рдЧ рдХрд░рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред рдРрд╕реЗ рдХрдИ рдкрд░рд┐рджреГрд╢реНрдп рд╣реИрдВ рдЬрд╣рд╛рдВ рдкреВрд░реНрдг UI рдврд╛рдВрдЪреЗ (рдпрд╛ рдЗрд╕ рдврд╛рдВрдЪреЗ) рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рдмрд┐рдирд╛ рд╕реА # рдХреЛрдб рдЪрд▓рд╛рдиреЗ рдХрд╛ рд▓рд╛рдн рд╣реЛрдЧрд╛ред

рдХрдо рд╕реЗ рдХрдо, рдореИрдВ рдЙрдореНрдореАрдж рдХрд░рддрд╛ рд╣реВрдВ рдХрд┐ рд╕рдВрдХрд▓рди рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд╛ рдЙрддреНрдкрд╛рджрди рд╣реЛрдЧрд╛:

  1. WASM рдореЙрдбреНрдпреВрд▓
  2. WASM рдореЙрдбреНрдпреВрд▓ рдлрд╝рдВрдХреНрд╢рди рдирд┐рд░реНрдпрд╛рдд рдХреЗ рдЕрдиреБрд░реВрдк рдирд┐рд░реНрдпрд╛рдд рдХреА рдПрдХ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЗ рд╕рд╛рде рдПрдХ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЙрдбреНрдпреВрд▓
  3. рдПрдХ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ d.ts рдлрд╝рд╛рдЗрд▓ рдЬреЛ WASM рдореЙрдбреНрдпреВрд▓ рдлрд╝рдВрдХреНрд╢рди рдирд┐рд░реНрдпрд╛рдд рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддреА рд╣реИ

рдЙрдкрд░реЛрдХреНрдд рдХрд╛ рд╕рдВрдпреЛрдЬрди рдЙрдкрднреЛрдХреНрддрд╛рдУрдВ рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХреЛрдб рдХреЛ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдпрд╛ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реЗ рдЯрд╛рдЗрдк-рд╕реБрд░рдХреНрд╖рд┐рдд рддрд░реАрдХреЗ рд╕реЗ рдХреЙрд▓ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред

рдпрд╣ рдПрдХ рдкрд╣рд▓реЗ рдЪрд░рдг рдХреА рддрд░рд╣ рд▓рдЧрддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рд╣рдо рдкреВрд░реНрдг UI рдврд╛рдВрдЪреЗ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП рдЖрдЧреЗ рдмрдврд╝рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдареАрдХ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдпрд╣ .NET рдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХреА рддрдВрддреНрд░ рдХреЛ рд▓реЛрдХрддрд╛рдВрддреНрд░рд┐рдХ рдмрдирд╛рдиреЗ рдХреА рджрд┐рд╢рд╛ рдореЗрдВ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдХрджрдо рд╣реИ рддрд╛рдХрд┐ рдХреЛрдИ рднреА рд╡реНрдпрдХреНрддрд┐ рдлреНрд░реЗрдорд╡рд░реНрдХ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░ рд╕рдХреЗ, рди рдХрд┐ рдХреЗрд╡рд▓ рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлреНрдЯред

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

рд╣рдореЗрдВ рдореЛрдиреЛ рдпрд╛ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдкреВрд░реНрдг .NET рдврд╛рдВрдЪреЗ рдореЗрдВ рдХреЛрдИ рджрд┐рд▓рдЪрд╕реНрдкреА рдирд╣реАрдВ рд╣реИред рд╣рдо рдХреНрд▓рд╛рдЗрдВрдЯ рдФрд░ рд╕рд░реНрд╡рд░ рдкрд░ рд╕рдорд╛рди рд░рдирдЯрд╛рдЗрдо рдЪрд╛рд╣рддреЗ рд╣реИрдВред

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

рдЗрд╕ рдмреАрдЪ рдмреНрд▓реЗрдЬрд╝рд░ рдПрдХ рдкреНрд░рдпреЛрдЧ рд╣реИ рдФрд░ рд╣рдо рдкреНрд░рдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХрд┐ рдЖрдЬ рдХреНрдпрд╛ рдХрд╛рдо рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ

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

рд╣рд╛рдп @EisenbergEffect! рдореБрдЦреНрдп WebAssembly рдХрд╛рд░реНрдп рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдореЛрдиреЛ рдЯреАрдо рджреНрд╡рд╛рд░рд╛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред рд╣рдо рдмреНрд▓реЗрдЬрд╝рд░ рдХреЛ рдЙрдирдХреЗ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд╛рди рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рдЪреАрдЬрд╝реЛрдВ рдХреЗ рдКрдкрд░ рдмрдирд╛ рд░рд╣реЗ рд╣реИрдВред .NET рд╕рдореБрджрд╛рдп рдХреЗ рдЕрдиреНрдп рд▓реЛрдЧ рднреА рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рддрдВрддреНрд░ рд╣реИрдВ рдФрд░ рдХрдИ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╣реИрдВ ( Ooui , Uno , cshtml5 )ред рдЖрдк рдореЛрдиреЛ рд░реЗрдкреЛ рдореЗрдВ mono.wasm рдкрд░ рдкреНрд░рдЧрддрд┐ рдХреЗ рд╕рд╛рде-рд╕рд╛рде рдЕрдиреБрд╕рд░рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдореБрдЭреЗ рдореЛрдиреЛ рдХреЛ WebAssembly рдореЗрдВ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдмрд╣реБрдд рджрд┐рд▓рдЪрд╕реНрдкреА рдирд╣реАрдВ рд╣реИред рдореБрдЭреЗ рдХреЗрд╡рд▓ .NET рдХреЛрд░ рдореЗрдВ рджрд┐рд▓рдЪрд╕реНрдкреА рд╣реИред рдореИрдВ рдЬреЛ рдорд╛рдВрдЧ рд░рд╣рд╛ рд╣реВрдВ рд╡рд╣ рдРрд╕рд╛ рдХреБрдЫ рд╣реИ:

  • .NET рдХреЛрд░ C# рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП .NET CLI рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред
  • рдореЗрд░реЗ .NET рдХреЛрд░ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛ WASM рдореЗрдВ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП .NET CLI рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ, рдЬрд┐рд╕рдореЗрдВ рдКрдкрд░ рд╡рд░реНрдгрд┐рдд 3 рдЖрдЙрдЯрдкреБрдЯ рд╣реИрдВред

@ danroth27 рдХреНрдпрд╛ рдпрд╣ рдЖрдЬ рд╕рдорд░реНрдерд┐рдд рд╣реИ?

рдореЛрдиреЛ рд▓реЛрдЧ рд╕рд╣рд╛рдпрдХ MSBuild SDK рдХреЗ рд╕рд╛рде WebAssembly рдХреЛ .NET рдХреЛрдб рдХреЗ рдкреВрд░реНрдг рдЕрдЧреНрд░рд┐рдо рд╕рдордп (AoT) рд╕рдВрдХрд▓рди рдкрд░ рднреА рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдЗрд╕ рдкреНрд░рдпрд╛рд╕ рдкрд░ рдЙрдирдХреЗ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рдХрд╛рд╢рд┐рдд рдЕрдВрддрд┐рдо рдЕрдкрдбреЗрдЯ http://www.mono-project.com/news/2018/01/16/mono-static-webassembly-compilation/ рдерд╛ @mhutch рд╢рд╛рдпрдж рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╕рдВрдкрд░реНрдХ рд╣реИред

рдореБрдЭреЗ рдореЛрдиреЛ рдореЗрдВ рдХреЛрдИ рджрд┐рд▓рдЪрд╕реНрдкреА рдирд╣реАрдВ рд╣реИред рдореБрдЭреЗ рдХреЗрд╡рд▓ .NET рдХреЛрд░ рдореЗрдВ рджрд┐рд▓рдЪрд╕реНрдкреА рд╣реИред рдХреНрдпрд╛ .NET рдХреЛрд░ WASM рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдХрд╣рд╛рдиреА рд╣реИ?

рдХреНрдпрд╛ .NET рдХреЛрд░ WASM рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдХрд╣рд╛рдиреА рд╣реИ?

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

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

@EisenbergEffect рдЙрдкрднреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдкрд░рд┐рдкреНрд░реЗрдХреНрд╖реНрдп рд╕реЗ рдпрд╣ рдПрдХ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╡рд┐рд╡рд░рдг рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреЛ рд░рдирдЯрд╛рдЗрдо рдЖрдкрдХрд╛ рдХреЛрдб рдЪрд▓рд╛ рд░рд╣рд╛ рд╣реИред

рдореИрдВ рдЕрд╕рд╣рдордд рд╣реВрдВред рдПрдХ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдЗрдВрдЬреАрдирд┐рдпрд░ рд╣реЛрдиреЗ рдХреЗ рдЕрдкрдиреЗ рдЗрддрд┐рд╣рд╛рд╕ рдореЗрдВ рдореИрдВрдиреЗ рдХрднреА рднреА рдЗрд╕ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ рдХрд┐ рдХреМрди рд╕рд╛ рд░рди-рдЯрд╛рдЗрдо рдореЗрд░реЗ рдХреЛрдб рдХреЛ рдПрдХ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╡рд┐рд╡рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд▓рд╛ рд░рд╣рд╛ рд╣реИ рдЬрд┐рд╕реЗ рдореИрдВ рдЕрдирджреЗрдЦрд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред

@ danroth27 рдмрд╕ рдореЗрд░реА рд╡рд┐рдХрд╛рд╕ рдЯреАрдо рд╕реЗ рдХреБрдЫ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛, рд╣рдо рдЕрдВрддрддрдГ рдмреНрд▓реЗрдЬрд╝рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ .NET рдХреЛрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рджреЗрдЦрдирд╛ рдЪрд╛рд╣реЗрдВрдЧреЗред рд╣рдореЗрдВ рдореЛрдиреЛ рдпрд╛ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдкреВрд░реНрдг .NET рдврд╛рдВрдЪреЗ рдореЗрдВ рдХреЛрдИ рджрд┐рд▓рдЪрд╕реНрдкреА рдирд╣реАрдВ рд╣реИред рд╣рдо рдХреНрд▓рд╛рдЗрдВрдЯ рдФрд░ рд╕рд░реНрд╡рд░ рдкрд░ рд╕рдорд╛рди рд░рдирдЯрд╛рдЗрдо рдЪрд╛рд╣рддреЗ рд╣реИрдВред

рд╣рдореЗрдВ рдореЛрдиреЛ рдпрд╛ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдкреВрд░реНрдг .NET рдврд╛рдВрдЪреЗ рдореЗрдВ рдХреЛрдИ рджрд┐рд▓рдЪрд╕реНрдкреА рдирд╣реАрдВ рд╣реИред рд╣рдо рдХреНрд▓рд╛рдЗрдВрдЯ рдФрд░ рд╕рд░реНрд╡рд░ рдкрд░ рд╕рдорд╛рди рд░рдирдЯрд╛рдЗрдо рдЪрд╛рд╣рддреЗ рд╣реИрдВред

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

рдЗрд╕ рдмреАрдЪ рдмреНрд▓реЗрдЬрд╝рд░ рдПрдХ рдкреНрд░рдпреЛрдЧ рд╣реИ рдФрд░ рд╣рдо рдкреНрд░рдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХрд┐ рдЖрдЬ рдХреНрдпрд╛ рдХрд╛рдо рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ

@ danroth27 рдЙрддреНрдХреГрд╖реНрдЯ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдбреИрди!

рдмрд╣реБрдд рдмрдврд╝рд┐рдпрд╛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рд╣рдордд

рдордВрдЧрд▓рд╡рд╛рд░, рдордИ резрел, реирежрезрео рдХреЛ рд╕реБрдмрд╣ резреж:релрек рдмрдЬреЗ рдкрд╛рдЙрд▓реЛрд╕реНрдЯ рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.com рдиреЗ рд▓рд┐рдЦрд╛:

@ danroth27 https://github.com/danroth27 рдЙрддреНрдХреГрд╖реНрдЯ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж
рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛, рджрд╛рди!

-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдиреЗ рдЗрд╕ рдереНрд░реЗрдб рдХреА рд╕рджрд╕реНрдпрддрд╛ рд▓реА рд╣реИред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/aspnet/Blazor/issues/835#issuecomment-389046589 , рдпрд╛ рдореНрдпреВрдЯ рдХрд░реЗрдВ
рд╕реВрддреНрд░
https://github.com/notifications/unsubscribe-auth/ACnwPz_cCiVg6iti9VR9pQWY34_Hibf4ks5tymapgaJpZM4T-jpA
.

@EisenbergEffect рдореЗрд░реЗ рдкрд╛рд╕ рдореЛрдиреЛ рдкрд░ рд╕рдорд╛рди рд╡рд┐рдЪрд╛рд░ рдерд╛, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЬрдм рдореБрдЭреЗ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рдЪреВрдВрдХрд┐ Microsoft рдиреЗ Xamarine рдХрд╛ рдЕрдзрд┐рдЧреНрд░рд╣рдг рдХрд┐рдпрд╛ рд╣реИ, рдореЛрдиреЛ Microsoft рддрдХрдиреАрдХ рд╣реИ ... рдФрд░ рдХреНрд▓рд╛рдЗрдВрдЯ рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдиреБрдХреВрд▓рд┐рдд рд╣реИ ... рдФрд░ рдореИрдВ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдЕрдкрдиреЗ ".net рдорд╛рдирдХ" рдХреЛрдб рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдЖрдЬ... рд╕рднреА рдЪрд┐рдВрддрд╛рдУрдВ рдХреЛ рджреВрд░ рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ред

рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд░рдирдЯрд╛рдЗрдо рдХреЗрд╡рд▓ рдШрдЯрдХреЛрдВ рдХреЛ рд╣рдерд┐рдпрд╛рдиреЗ рдХреЗ рд▓рд┐рдП:
https://jenkins.mono-project.com/job/test-mono-mainline-wasm/label=ubuntu-1804-amd64/

... рдЕрдм рдореИрдВ рд╕реА # рд▓рдХреНрд╖реНрдпреАрдХрд░рдг рд╡реЗрдмрдЬреАрдПрд▓ рдореЗрдВ рдЕрдкрдирд╛ рд╕реНрд╡рдпрдВ рдХрд╛ рдПрдХреНрд╕рдПрдПрдордПрд▓ рдЖрдзрд╛рд░рд┐рдд рдпреВрдЖрдИ рд╕реНрдЯреИрдХ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд╛рдкрд╕ рдЖ рдЧрдпрд╛ рд╣реВрдВ

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

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

рдореЗрд░рд╛ рдорддрд▓рдм рдкреВрд░реА рдИрдорд╛рдирджрд╛рд░реА рдХреЗ рд╕рд╛рде рд╣реИ, рдореИрдВ рдлрд┐рд░ рд╕реЗ .NET рд╕реЗ рдкреНрдпрд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рдХреГрдкрдпрд╛, рдЗрд╕реЗ рдЧрдВрднреАрд░рддрд╛ рд╕реЗ рд▓реЗрдВред

рдореЗрд░рд╛ рдорддрд▓рдм рдкреВрд░реА рдИрдорд╛рдирджрд╛рд░реА рдХреЗ рд╕рд╛рде рд╣реИ, рдореИрдВ рдлрд┐рд░ рд╕реЗ .NET рд╕реЗ рдкреНрдпрд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рдХреГрдкрдпрд╛, рдЗрд╕реЗ рдЧрдВрднреАрд░рддрд╛ рд╕реЗ рд▓реЗрдВред

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

рдореБрдЭреЗ рдЕрдкрдиреА рд╕реЗрд╡рд╛рдПрдВ рдФрд░ рдХреНрд▓рд╛рдЗрдВрдЯ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрднреА рднреА 3 .NET рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ

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

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

WASM рдПрдХ рдмрд╣реБрдд рд╣реА рдЕрд╕рд╛рдорд╛рдиреНрдп рд▓рдХреНрд╖реНрдп рд╣реИред рди рдХреЗрд╡рд▓ рдЬреЗрдЖрдИрдЯреА рд╕рдВрдХрд▓рди рдХрд░рдирд╛ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИ, рдереНрд░реЗрдбрд┐рдВрдЧ, рдлрд╛рдЗрд▓ рдФрд░ рд╕реЙрдХреЗрдЯ рдЬреИрд╕реА рдЪреАрдЬреЗрдВ рдЕрдзрд┐рдХрд╛рдВрд╢ рдЕрдиреНрдп рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЕрд▓рдЧ рдореЙрдбрд▓ рд╣реИрдВред рдореЛрдиреЛ рдХреЗ рдкрд╛рд╕ рдЖрдИрдУрдПрд╕, рд╡реЙрдЪрдУрдПрд╕, рдкреАрдПрд╕ 4 рдЖрджрд┐ рдЬреИрд╕реЗ рдЕрдиреНрдп рдЕрд╕рд╛рдорд╛рдиреНрдп/рдмрд╛рдзрд┐рдд рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдХреЗ рд▓рд┐рдП рдмрдВрджрд░рдЧрд╛рд╣реЛрдВ рдХреЗ рд▓рд┐рдП рд╡рд┐рдХрд╕рд┐рдд рдХрдИ рдореМрдЬреВрджрд╛ рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХрд┐рдпрд╛рдВ рд╣реИрдВ рдЬреЛ рдбрдмреНрд▓реВрдПрдПрд╕рдПрдо рдкреЛрд░реНрдЯ рдХреЗ рд╕рд╛рде рдорджрдж рдХрд░рддреА рд╣реИрдВ, рдЬреИрд╕реЗ рдЖрдИрдПрд▓ рджреБрднрд╛рд╖рд┐рдпрд╛, рд╕рд╣рдХрд╛рд░реА рдЬреАрд╕реА рд╕рд╕реНрдкреЗрдВрдб, рдкреВрд░реНрдг рдПрдУрдЯреА (рдЬреЗрдиреЗрд░рд┐рдХ рдХреЗ рд▓рд┐рдП рдЖрд╢реНрдЪрд░реНрдпрдЬрдирдХ рд░реВрдк рд╕реЗ рдХрдард┐рди) рдЬреЗрдирд░рд┐рдХ рд╕рд╛рдЭрд╛рдХрд░рдг рдХреЗ рд╕рд╛рде , LLVM рдмрд┐рдЯрдХреЛрдб рдмреИрдХрдПрдВрдб, рдФрд░ рдкреНрд░рдмрдВрдзрд┐рдд рд▓рд┐рдВрдХрд┐рдВрдЧред

рдореИрдВ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЙрдореНрдореАрдж рдХрд░рддрд╛ рд╣реВрдВ рдХрд┐ рдореЛрдиреЛ рдХреЗ рдбрдмреНрд▓реНрдпреВрдПрдПрд╕рдПрдо рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдкреНрд░рдХрд╛рд░ рдПрд╕рдбреАрдХреЗ-рд╢реИрд▓реА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ, рдПрдордПрд╕рдмрд┐рд▓реНрдб рдПрд╕рдбреАрдХреЗ рдХреЗ рд╕рд╛рде NuGet рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╡рд┐рддрд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ dotnet рд╕реЗ рдкреНрд░рдпреЛрдЧ рдпреЛрдЧреНрдп рд╣реИред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореБрдЭреЗ рдпрд╣рд╛рдБ рдХреБрдЫ рдореЛрдиреЛ рд╕реЗ рдирдлрд░рдд рд╣реИ, рдирд╣реАрдВ?
рдХреГрдкрдпрд╛ рдореЛрдиреЛ рдХреЛ рдмрд╛рд╣рд░ рдлреЗрдВрдХрдиреЗ рдХреЗ рд▓рд┐рдП рдЗрддрдиреА рдЬрд▓реНрджреА рди рдХрд░реЗрдВред рдпрд╛рдж рд╣реИ рдЬрдм Microsoft рдХреЛ Linux рд╕реЗ рдХреЛрдИ рдкреНрдпрд╛рд░ рдирд╣реАрдВ рдерд╛? рд╕реА # рджреЗрд╡реЛрдВ рдХреЗ рд▓рд┐рдП рдореЛрдиреЛ рд╡рд╣рд╛рдВ рдерд╛ред рдпрд╛рдж рд╣реИ рдЬрдм рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлреНрдЯ рдХреЛ рдореИрдХ рдУрдПрд╕ рд╕реЗ рдХреЛрдИ рдкреНрдпрд╛рд░ рдирд╣реАрдВ рдерд╛? рдореЛрдиреЛ рд╡рд╣рд╛рдБ рдлрд┐рд░ рд╕реЗ рдерд╛ред рдЕрдм рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╣рдорд╛рд░реЗ рд▓рдВрдЪ рдЦрд╛ рд░рд╣рд╛ рд╣реИ, рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдУ рдХрд┐ рдХреМрди рджрд┐рдЦрд╛рддрд╛ рд╣реИ? рдЖрдк рд╢рд░реНрдд рд▓рдЧрд╛рддреЗ рд╣реИрдВ, рдореЛрдиреЛ рджрд┐рди рдмрдЪрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣рд╛рдВ рд╣реИ, рд╡рд╛рд╕рдо рдкрд░ рдЪрд▓рдиреЗ рд╡рд╛рд▓рд╛ рдкрд╣рд▓рд╛ рдкреВрд░реНрдг .net рд╣реЛрдиреЗ рдХреЗ рдирд╛рддреЗред рдХреГрдкрдпрд╛ рдХреБрдЫ рд╕рдореНрдорд╛рди рджрд┐рдЦрд╛рдПрдВ!

рд╕реБрдиреЛ, рд╣рдо рд╕реА # рджреЗрд╡ рдЗрд╕ рддрд░рдл рдореЛрдиреЛ рд╕реЗ рдкреНрдпрд╛рд░ рдХрд░рддреЗ рд╣реИрдВред рд╡реЗ рд╢рд╛рдирджрд╛рд░ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдореЛрдиреЛ рдХреЛ рдЕрдХреЗрд▓рд╛ рдЫреЛрдбрд╝ рджреЛред рдЕрдЧрд░ рдХреВрд▓ рдХрд┐рдбред рдиреЗрдЯ рдХреЛрд░ рдкрд╛рд░реНрдЯреА рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ, рд╡рд╣ рднреА рдареАрдХ рд╣реИ, рд▓реЗрдХрд┐рди рдореЛрдиреЛ рд╕реНрдЯреЗрдЬрд╝!

@humbersoft рдпрджрд┐ рдЖрдк рдХреЛрдИ рдХрд╛рд░рдг рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рд╣рдо рдореЛрдиреЛ рд╕реЗ "рдирдлрд░рдд" рдХреНрдпреЛрдВ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдореИрдВ рдЖрдкрдХреЛ рдПрдХ рджреВрдВрдЧрд╛ред рдпрд╣ рдЖрдкрдХреЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХрдВрд╕реЛрд▓ рдореЗрдВ рдЗрд╕ рддрд░рд╣ рдХреА рддреНрд░реБрдЯрд┐рдпрд╛рдВ рджреЗрдЦ рд░рд╣рд╛ рд╣реИ: "WASM: рдЗрд╕реЗ `/Users/builder/jenkins/workspace/test-mono-mainline-webassembly/label/highsierra/sdks/out/wasm-interp/ рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдерд╛ред lib/mono/4.5/mscorlib.dll' рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ред" рдЬреЗрдирдХрд┐рдВрд╕ рдХреМрди рд╣реИ? рдХреНрдпрд╛ рдЕрдЬреАрдм рд╕рдВрджреЗрд╢ рд╣реИ! рдПрдХ рдореЛрдиреЛ рджреЗрд╡ рдиреЗ рд░рдирдЯрд╛рдЗрдо рдореЗрдВ рдЕрдкрдиреЗ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдкрде рдХреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд╣рд╛рд░реНрдб-рдХреЛрдб рдХрд┐рдпрд╛ред

@paulost рдЬреЗрдирдХреАрдВрд╕ рдПрдХ рд╕рддрдд рдирд┐рд░реНрдорд╛рдг рд╕реЗрд╡рд╛ рд╣реИред рдЗрд╕рдХреЛ рдвреВрдВрдвреЛред рдпрд╣ рдмрд╣реБрдд рд▓реЛрдХрдкреНрд░рд┐рдп рд╣реИред

рдзрдиреНрдпрд╡рд╛рдж @MisinformedDNA рд▓реЗрдХрд┐рди рдореЛрдиреЛ рдореБрдЭреЗ рдХреНрдпреЛрдВ рдмрддрд╛ рд░рд╣рд╛ рд╣реИ рдХрд┐ рдЗрд╕реЗ рдореЗрд░реЗ рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдЙрд╕ рд╕рдЯреАрдХ рдкрде рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП? рдореИрдВ рдореЛрдиреЛ рдмрдирд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ рдмреНрд▓реЗрдЬрд╝рд░ рдРрдк рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░рддрд╛ рд╣реВрдВред рдПрдХ рд╢рд┐рдк рдХрд┐рдпрд╛ рдЧрдпрд╛ рд░рдирдЯрд╛рдЗрдо рдЖрдкрдХреЛ рдЗрд╕рдХреЗ рдирд┐рд░реНрдорд╛рдг рд╕реЗрд╡рд╛ рдкрде рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рдмрддрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

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

рдЕрдВрдд рдореЗрдВ, Xamarin рдореЛрдиреЛ рдкрд░ рдЪрд▓рддрд╛ рд╣реИ, рдЬреЛ рд╕рдВрднрд╡рдд: рд╣рдЬрд╛рд░реЛрдВ рдореЛрдмрд╛рдЗрд▓ рдРрдк рдЪрд▓рд╛рддрд╛ рд╣реИред рдпрд╣ рдПрдХ рдЕрдЪреНрдЫреА рддрдХрдиреАрдХ рд╣реИред рдХреНрдпрд╛ рдПрдХ рд░рдирдЯрд╛рдЗрдо рд░рдЦрдирд╛ рдмреЗрд╣рддрд░ рд╣реЛрдЧрд╛? рдмреЗрд╢рдХред рд▓реЗрдХрд┐рди .NET Framework рдХреЗрд╡рд▓ рд╡рд┐рдВрдбреЛрдЬрд╝ рд╣реИ рдФрд░ рдореЛрдиреЛ рдХреЛ рдмрд╛рдж рдореЗрдВ Linux рдХреЗ рд╕рд╛рде рд╕рдВрдЧрддрддрд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреЛрд░реНрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ рдФрд░ .NET Core рдХреЛ рддрдм рдХреНрд▓рд╛рдЙрдб рдореЗрдВ рдмреЗрд╣рддрд░ рдорд╛рдкрдиреАрдпрддрд╛ рдХреЗ рд▓рд┐рдП рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдХреНрдпрд╛ рдЖрдкрдХреЛ рд╕рдЪ рдореЗрдВ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ MS рддреАрди рдЕрд▓рдЧ-рдЕрд▓рдЧ рд░рдирдЯрд╛рдЗрдо рдХреЛ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдирд╛ рдкрд╕рдВрдж рдХрд░рддрд╛ рд╣реИ? рдмрд┐рд▓рдХреВрд▓ рдирд╣реАред рд▓реЗрдХрд┐рди рд╣рд░ рднрд╛рд╖рд╛ рдореЗрдВ .NET рдХрд╛ рдкреИрдорд╛рдирд╛ рдпрд╛ рдорд╣рддреНрд╡рд╛рдХрд╛рдВрдХреНрд╖рд╛ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИред рд╕рд╛рде рд╣реА, рдпрджрд┐ рдЖрдк рдЪреВрдХ рдЧрдП рд╣реИрдВ, рддреЛ MS WPF, WinForms рдФрд░ UWP рдХреЛ .NET Core 3.0 рдореЗрдВ рдкреЛрд░реНрдЯ рдХрд░ рд░рд╣рд╛ рд╣реИред .NET рдХреЛрд░ рднрд╡рд┐рд╖реНрдп рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдореЗрдВ рд╕рдордп рд▓рдЧреЗрдЧрд╛ред

рд╣рд╛рдВ, рдореЛрдиреЛ рд╡реЗрдм рдЕрд╕реЗрдВрдмрд▓реА рд╕рдорд░реНрдерди рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди рдореЗрдВ рд╣реИ рдФрд░ рдЕрднреА рддрдХ рдХрд┐рд╕реА рднреА рд░рд┐рд▓реАрдЬ рдореЗрдВ рд╢рд┐рдк рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рдЗрд╕ рд╡рд┐рд╢реЗрд╖ рдорд╛рдорд▓реЗ рдореЗрдВ, рд░рдирдЯрд╛рдЗрдо рдЕрдкрдиреЗ рд╡рд░реНрддрдорд╛рди рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рд╕реНрдерд╛рди рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд░рдирдЯрд╛рдЗрдо рдЕрд╕реЗрдВрдмрд▓реА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ (рдЬрд┐рд╕рдореЗрдВ mscorlib.dll рдЬреИрд╕реА рдлрд╝рд╛рдЗрд▓реЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ) рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдЕрдВрддрд┐рдо-рдЦрд╛рдИ рдлрд╝реЙрд▓рдмреИрдХ рд╡рд╣ рдкрде рд╣реИ рдЬрд┐рд╕рдореЗрдВ рд░рдирдЯрд╛рдЗрдо рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред wasm рдкрд░ "рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рд╕реНрдерд╛рди" рдХреА рдЕрд╡рдзрд╛рд░рдгрд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд▓рд╛рдЧреВ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ ... рдЕрдиреНрдп рд╕рдорд╛рди рдПрдореНрдмреЗрдбреЗрдб рд╕реЗрдЯрдЕрдк рдкрд░ рдПрдореНрдмреЗрдбрд┐рдВрдЧ рдХреЛрдб рдЖрдо рддреМрд░ рдкрд░ рдПрдХ рдХрд╕реНрдЯрдо рдЕрд╕реЗрдВрдмрд▓реА рд░рд┐рдЬрд╝реЙрд▓реНрд╡рд░ рдкрдВрдЬреАрдХреГрдд рдХрд░рддрд╛ рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдПрдВрдбреНрд░реЙрдЗрдб рдПрдкреАрдХреЗ рдЬрд╝рд┐рдк рд╕реЗ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП), рдФрд░ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИ рдЕрднреА рддрдХ рдпрд╣рд╛рдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

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

рдХреБрдЫ рджреЗрд╡реЛрдВ рдХреЛ рд╣реЙрдЯ рдмрд┐рдЯреНрд╕ рдкрд╕рдВрдж рд╣реИрдВ, рдХреБрдЫ рд▓реЛрдЧ рддрдм рддрдХ рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рддреЗ рд╣реИрдВ рдЬрдм рддрдХ рдХрд┐ рд╕рдм рдХреБрдЫ рд╢рд╛рдВрдд рдФрд░ рд╢рд╛рдВрдд рди рд╣реЛ рдЬрд╛рдПред рдпреЗ рд╣реЙрдЯ рдмрд┐рдЯреНрд╕ рд╣реИрдВ, рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдЕрдкрдиреА рдЕрдкреЗрдХреНрд╖рд╛рдУрдВ рдХреЛ рдереЛрдбрд╝рд╛ рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛред рдореИрдВ рдкрд░рд┐рдкреНрд░реЗрдХреНрд╖реНрдп рдХреЛ рд╕рдордЭрддрд╛ рд╣реВрдВ, рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЖрдк рдПрдХ рдкреЙрд▓рд┐рд╢ рдЙрддреНрдкрд╛рдж рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдХреНрдпрд╛ рдЖрдк рдХрд▓реНрдкрдирд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ Wasm рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП .NET Core рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХреА рдЬрд╛ рд░рд╣реА рд╣реИ? рд╡реЗ рдЗрд╕реЗ 3 рд╕рд╛рд▓ рддрдХ рдирд╣реАрдВ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдореЛрдиреЛ рдПрдХ рдареЛрд╕ рдЙрддреНрдкрд╛рдж рд╣реИ рдФрд░ рдпрд╣ рд╕реМрднрд╛рдЧреНрдп рдХреА рдмрд╛рдд рд╣реИ рдХрд┐ рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлреНрдЯ рдХреЗ рдкрд╛рд╕ рдпрд╣ рд╣реИ, рдЕрдиреНрдпрдерд╛, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ WASM рдФрд░ рдХрдИ рдЕрдиреНрдп рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдХреЗ рд▓рд┐рдП .NET рдХрд╣рд╛рдиреА рдирд╣реАрдВ рд╣реЛрддреАред

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

рдХрд╣рд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ рдХрд┐, рдмреНрд▓реЗрдЬрд╝рд░ рдХрдИ рдЕрдЪреНрдЫреЗ рдХрд╛рд░рдгреЛрдВ рд╕реЗ рджрд┐рди рдХреЗ рдЙрдЬрд╛рд▓реЗ рдХреЛ рднреА рдирд╣реАрдВ рджреЗрдЦ рд╕рдХрддрд╛ рд╣реИред рдЙрд╕рдХреЗ рд▓рд┐рдП рднреА рдпреЛрдЬрдирд╛ рдмрдирд╛рдПрдВред

рдореИрдВрдиреЗ рдЖрдЧреЗ рдмрдврд╝рдХрд░ рдПрдХ Xaml рдЗрдВрдЬрди рдмрдирд╛рдирд╛ рд╢реБрд░реВ рдХрд┐рдпрд╛ рдЬреЛ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдореВрд▓ рд░реВрдк рд╕реЗ рдЪрд▓рддрд╛ рд╣реИред рдЖрдк рдЗрд╕реЗ рдпрд╣рд╛рдВ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ: https://github.com/XamlEngine/Samples

рдЗрд╕ рдЪрд░реНрдЪрд╛ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛрдиреЗ рдореЗрдВ рдереЛрдбрд╝реА рджреЗрд░ рд╣реБрдИ, рд▓реЗрдХрд┐рди рдЖрд╢реНрдЪрд░реНрдп рд╣реБрдЖ рдХрд┐ рдЗрддрдиреЗ рд╕рд╛рд░реЗ рд▓реЛрдЧ рдЪрд┐рдВрддрд┐рдд рд╣реИрдВ рдХрд┐ рдЙрдирдХрд╛ .NET рдорд╛рдирдХ рдХреЛрдб рдХреИрд╕реЗ рдЪрд▓рддрд╛ рд╣реИред рд░рдирдЯрд╛рдЗрдо рдкрд░ рдЖрдк рдЬреЛ рднреА рд▓реЗрдмрд▓ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдЙрд╕реЗ рдердкреНрдкрдбрд╝ рдорд╛рд░реЗрдВ - рдореЛрдиреЛ, .NET рдХреЛрд░, рдлреНрд▓рдмрд░рдЧреИрд╕реНрдЯ - рдЬреЛ рднреА рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд░рдирдЯрд╛рдЗрдо рдЕрд▓рдЧ рд╣реЛрдиреЗ рд╡рд╛рд▓рд╛ рд╣реИред рдХреЛрдИ рд░рд╛рд╕реНрддрд╛ рдирд╣реАрдВ рд╣реИред рд╕рд░реНрд╡рд░ рдкрд░ .NET рдХреЛрд░ WASM рдкрд░ .NET рдХреЛрд░ рдХреЗ рд╕рдорд╛рди рд╣реЛрдЧрд╛ рдпрд╛ WASM рдХреЗ рд╡рд┐рд░реБрджреНрдз рд╕рдВрдХрд▓рди рдХрд░реЗрдЧрд╛ред рддреЛ рдмрд┐рд▓реНрд▓реА рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреМрди рдкрд░рд╡рд╛рд╣ рдХрд░рддрд╛ рд╣реИ?

рдХреНрдпрд╛ рдорд╛рдпрдиреЗ рд░рдЦрддрд╛ рд╣реИ рдХрд┐ рд░рдмрд░ рд╕рдбрд╝рдХ рд╕реЗ рдХреИрд╕реЗ рдорд┐рд▓рддрд╛ рд╣реИ рдпрд╛ рдЙрд╕ рд░рдирдЯрд╛рдЗрдо рдХреЛрдб рддрдХ рдкрд╣реБрдВрдЪрдирд╛ рдХрд┐рддрдирд╛ рдЖрд╕рд╛рди рд╣реИред рдореИрдВ @EisenbergEffect рд╕реЗ рд╕рд╣рдордд

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

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

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

рдмрд╣реБрдд рд╕рд╛рд░реА рд╕рдВрднрд╛рд╡рдирд╛рдПрдВ - рдЗрд╕ рддрдХрдиреАрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЖрд╕рд╛рди рдмрдирд╛рдХрд░ рдЬрд┐рддрдирд╛ рд╕рдВрднрд╡ рд╣реЛ рд╕рдХреЗ рдЗрд╕реЗ рд╕рдХреНрд╖рдо рдХрд░рдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдХрд┐ рдирд┐рдЪрд▓реЗ рд╕реНрддрд░ рдХреЗ рдмрд┐рдЯреНрд╕ рднреА!

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

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

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

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

рдореБрдЭреЗ рдмреНрд▓реЗрдЬрд╝рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИред рдХреНрдпрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рдореМрдЬреВрджрд╛ HTML рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╣реИ, рдпрд╛ рдХрд┐рд╕реА рдЕрдиреНрдп рдврд╛рдВрдЪреЗ рдХреЗ рд╕рд╛рде рдХреБрдЫ рдмрдирд╛ рд░рд╣рд╛ рд╣реИ рдФрд░ рдмреНрд▓реЗрдЬрд╝рд░ рдХреА рдХреЛрдИ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ? HTML рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рдмрд╛рд╣рд░ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ .NET рдХреЛрдб рддрдХ рдкрд╣реБрдБрдЪ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрднреА рднреА рдПрдХ рдмрдврд╝рд┐рдпрд╛ рдЙрдкрдпреЛрдЧ рдХрд╛ рдорд╛рдорд▓рд╛ рд╣реИ (рд╕рддреНрдпрд╛рдкрди рдХреЛрдб, рдЙрдкрдпреЛрдЧрд┐рддрд╛рдУрдВ рдЖрджрд┐ рдХреЛ рд╕рд╛рдЭрд╛ рдХрд░рдирд╛)ред

рдореБрдЭреЗ рдмреНрд▓реЗрдЬрд╝рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИред рдХреНрдпрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рдореМрдЬреВрджрд╛ HTML рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╣реИ, рдпрд╛ рдХрд┐рд╕реА рдЕрдиреНрдп рдврд╛рдВрдЪреЗ рдХреЗ рд╕рд╛рде рдХреБрдЫ рдмрдирд╛ рд░рд╣рд╛ рд╣реИ рдФрд░ рдмреНрд▓реЗрдЬрд╝рд░ рдХреА рдХреЛрдИ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ? HTML рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рдмрд╛рд╣рд░ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ .NET рдХреЛрдб рддрдХ рдкрд╣реБрдБрдЪ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрднреА рднреА рдПрдХ рдмрдврд╝рд┐рдпрд╛ рдЙрдкрдпреЛрдЧ рдХрд╛ рдорд╛рдорд▓рд╛ рд╣реИ (рд╕рддреНрдпрд╛рдкрди рдХреЛрдб, рдЙрдкрдпреЛрдЧрд┐рддрд╛рдУрдВ рдЖрджрд┐ рдХреЛ рд╕рд╛рдЭрд╛ рдХрд░рдирд╛)ред

рдореБрдЭреЗ рд╕рдордЭ рдирд╣реАрдВ рдЖ рд░рд╣рд╛ рд╣реИред рдмреНрд▓реЗрдЬрд╝рд░ рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рд╣реИ:

  1. рд╡реЗрдм рдШрдЯрдХреЛрдВ рдХреЗ рд▓рд┐рдП рд░реЗрдЬрд░ рд╕рд┐рдВрдЯреИрдХреНрд╕,
  2. рд╡рд┐рднрд┐рдиреНрди рдЬреЗрдПрд╕ рдЗрдВрдЯрд░рдСрдк рд╣реЗрд▓реНрдкрд░реНрд╕,
  3. рдореЛрдиреЛ-рдЖрдзрд╛рд░рд┐рдд WebAssembly .NET

рдЖрдк рд╕рдВрднрд╡рддрдГ рдЙрдирдореЗрдВ рд╕реЗ рджреВрд╕рд░рд╛ рдФрд░ рддреАрд╕рд░рд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдФрд░ рдкрд╣рд▓рд╛ рдЖрдкрдХреЛ рдиреБрдХрд╕рд╛рди рдирд╣реАрдВ рдкрд╣реБрдВрдЪрд╛рддрд╛ рд╣реИред

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

рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВ рдЗрд╕реЗ рд╕рдордЭрддрд╛ рд╣реВрдВ, рдпрд╣ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ mono.wasm рдкреНрд░рдпрд╛рд╕ рдХрд╛ рдЗрд░рд╛рджрд╛ рд╣реИред рд╣рдо рдЕрдХреНрд╕рд░ рдПрдХ рд╣реА рд╕рд╛рдВрд╕ рдореЗрдВ Blazor рдФрд░ mono.wasm рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ Blazor рдПрдХ рд╡реЗрдм рдлреНрд░реЗрдорд╡рд░реНрдХ рд╣реИред рдпрд╣ mono.wasm рд╣реИ рдЬреЛ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд WebAssembly рдЖрдзрд╛рд░рд┐рдд .NET рд░рдирдЯрд╛рдЗрдо рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдЕрдиреНрдп рдврд╛рдВрдЪреЗ рдПрдХ рд╣реА рд░рдирдЯрд╛рдЗрдо рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП рд╕реНрд╡рддрдВрддреНрд░ рд╣реИрдВ, рдФрд░ рд╡реИрдХрд▓реНрдкрд┐рдХ рдврд╛рдВрдЪреЗ рдкрд╣рд▓реЗ рд╕реЗ рдореМрдЬреВрдж рд╣реИрдВ ( рдУрдЙрдИ , рдпреВрдиреЛ )ред @kumpera @mhutch рд╢рд╛рдпрдж Xamarin рдЯреАрдо рдХреЗ рджреЗрд╡ рдЕрдиреБрднрд╡ рд╕реЗ рдмрд╛рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд╣реА рд▓реЛрдЧ рд╣реИрдВ, рд╡реЗ рдХрд┐рд╕реА рд╡рд┐рд╢реЗрд╖ UI рдврд╛рдВрдЪреЗ рд╕реЗ рд╕реНрд╡рддрдВрддреНрд░ mono.wasm рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдХреА рдЙрдореНрдореАрдж рдХрд░рддреЗ рд╣реИрдВред

рдЬрд╝рд┐рдк рдлрд╝рд╛рдЗрд▓ рдЖрдЬ, Blazor рдХреЗ рдмрд┐рдирд╛ C# рдРрдкреНрд╕ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЕрддреНрдпрдВрдд рдХрдЪреНрдЪрд╛ рд╕рдорд░реНрдерди рдкреНрд░рджрд╛рди рдХрд░рддреА рд╣реИред рдпрд╣ рддрдХрдиреАрдХ рдХреЛ рдорд╛рдиреНрдп рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рдлреА рдЕрдЪреНрдЫрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рд╕рд╛рд░реЗ рдореИрдиреБрдЕрд▓ рдХрд╛рдо рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред

рдпрд╣ рд╣рдорд╛рд░рд╛ рд▓рдХреНрд╖реНрдп рд╣реИ рдХрд┐ рдЗрд╕ рдореБрджреНрджреЗ рдХреЗ рд╡рд┐рд╡рд░рдг рд╕реЗ рдХреНрдпрд╛ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ, рд╕рдореГрджреНрдз рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдФрд░ рдбрд┐рдмрдЧрд┐рдВрдЧ рд╕рд╣рд┐рдд рдПрдХ рдкреВрд░реНрдг рдЯреВрд▓рдЪреЗрдиред

рдХреМрди рд╕реА рдЬрд╝рд┐рдк рдлрд╝рд╛рдЗрд▓?

@EisenbergEffect рдЖрдкрдХреЛ
рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЖрдкрдХреЗ рдЖрд╢реНрд░рд┐рдд рдПрдкреАрдЖрдИ .NET рдорд╛рдирдХ рдкрд░ рдирд┐рд░реНрднрд░ рд╣реИрдВ рдФрд░ рдЖрдк рдЕрдЪреНрдЫреЗ рд╣реИрдВред

@weitzhandler рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдореЗрд░реА рдмрд╛рдд рдпрд╛рдж рдХрд░ рд░рд╣реЗ рд╣реЛрдВрдЧреЗред рдЕрдЧрд░ рдореИрдВ .NET рдХреЗ рд╕рд╛рде рдХреБрдЫ рдмрдирд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рддреЛ рдореБрдЭреЗ рдХреБрдЫ рдареЛрд╕ рдЙрдкрдХрд░рдг рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рд╣реЛрдВрдЧреЗ, рд╣реИ рдирд╛? рдореИрдВрдиреЗ резрел рд╕рд╛рд▓ рдкрд╣рд▓реЗ .NET рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд┐рдпрд╛ рдерд╛, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдЗрд╕рдореЗрдВ рд╕реЗ рдХреЛрдИ рднреА рдЪреБрдиреМрддреАрдкреВрд░реНрдг рдпрд╛ рднреНрд░рдорд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдирд╣реАрдВ рд▓рдЧрддрд╛ (рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореИрдВ рдЕрдкрдиреА рдорд╢реАрди рдкрд░ рдЕрд░реНрдз-рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдЯреВрд▓рд┐рдВрдЧ рд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рдХрд░рдирд╛ рдкрд╕рдВрдж рдХрд░рддрд╛ рд╣реВрдВ)ред рд▓реЗрдХрд┐рди, рдХрд┐рд╕реА рдРрд╕реЗ рд╡реНрдпрдХреНрддрд┐ рдХреА рдХрд▓реНрдкрдирд╛ рдХрд░реЗрдВ рдЬрд┐рд╕реЗ .NET рдХрд╛ рдХреЛрдИ рдЕрдиреБрднрд╡ рдирд╣реАрдВ рд╣реИ рдФрд░ рдЬреЛ рдореИрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╣реИред рд╡реЗ рддрдп рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рд╡реЗ рдлреНрд░рдВрдЯ-рдПрдВрдб рдФрд░ рдмреИрдХ-рдПрдВрдб рджреЛрдиреЛрдВ, рдПрдХ .NET рдРрдк рдмрдирд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рд╡реЗ рд╕реБрдирддреЗ рд╣реИрдВ рдХрд┐ .NET рдХреЛрд░ рдирд╡реАрдирддрдо, рдЖрдХрд░реНрд╖рдХ рдЪреАрдЬ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╡реЗ .NET CLI рдФрд░ VS рдХреЛрдб рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд░рд┐рдЧрд╛рдорд╛рд░реЛрд▓ рд╕реЗ рдЧреБрдЬрд░рддреЗ рд╣реИрдВред рдлрд┐рд░, рдЙрдиреНрд╣реЗрдВ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рд╡реЗ рдЗрд╕рдХреЗ рд╕рд╛рде рдЕрдкрдирд╛ рдлреНрд░рдВрдЯ-рдПрдВрдб рдирд╣реАрдВ рдмрдирд╛ рд╕рдХрддреЗред рдЙрдиреНрд╣реЗрдВ рдЙрдкрдХрд░рдгреЛрдВ рдХрд╛ рдПрдХ рдЕрд▓рдЧ рд╕реЗрдЯ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ (рдПрдХ рдЕрд▓рдЧ рдирд╛рдо рдХреЗ рд╕рд╛рде, рдПрдХ рдЕрд▓рдЧ рдЬрдЧрд╣ рд╕реЗ, рдЕрд▓рдЧ рдиреЗрддреГрддреНрд╡ рдХреЗ рд╕рд╛рде, рдЖрджрд┐)ред рдлрд┐рд░ рд╕реЗ, рдХрд▓реНрдкрдирд╛ рдХреАрдЬрд┐рдП рдХрд┐ рдЙрдирдХрд╛ .NET рдХреЗ рд╕рд╛рде рдХреЛрдИ рдкреВрд░реНрд╡ рдЗрддрд┐рд╣рд╛рд╕ рдирд╣реАрдВ рд╣реИред рдпрд╣ рдкрд╣рд▓реА рдмрд╛рд░ рдХрд╛ рдЕрдЪреНрдЫрд╛ рдЕрдиреБрднрд╡ рдирд╣реАрдВ рд╣реИред рдареАрдХ рд╣реИ, рдЕрдм рдХрд▓реНрдкрдирд╛ рдХреАрдЬрд┐рдП рдХрд┐ рдпрд╣ рд╡реНрдпрдХреНрддрд┐ рдПрдХ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЯ рдпрд╛ рд╕реАрдЯреАрдУ рд╣реИ рдЬреЛ рдкрд╣рд▓реА рдмрд╛рд░ рдпрд╛ рдХрдИ рд╡рд░реНрд╖реЛрдВ рдХреЗ рдмрд╛рдж .NET рдХрд╛ рдПрдХ рдирдпрд╛ рдореВрд▓реНрдпрд╛рдВрдХрди рджреЗрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реИред рд╢рд╛рдпрдж рд╡реЗ рдЕрдкрдиреА рдХрдВрдкрдиреА рдХреЗ рд▓рд┐рдП рджрд┐рд╢рд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдХреНрдпрд╛ рдЖрдк рдЙрд╕ рд╡реНрдпрдХреНрддрд┐ рдпрд╛ рдЙрдирдХреЗ рддрдХрдиреАрдХреА рд╕рд▓рд╛рд╣рдХрд╛рд░реЛрдВ рдХреЗ рд▓рд┐рдП рдпрд╣реА рдЕрдиреБрднрд╡ рдЪрд╛рд╣рддреЗ рд╣реИрдВ? рд╡реЗ рдЗрд╕рдХреА рддреБрд▓рдирд╛ рдЧреЛ, рдиреЛрдб, рд░рд╕реНрдЯ рдЖрджрд┐ рд╕реЗ рдХрд░рдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВред

рдЬрд╣рд╛рдВ рддрдХ тАЛтАЛрдореЗрд░реА рд╡реНрдпрдХреНрддрд┐рдЧрдд рднрд╛рд╡рдирд╛рдУрдВ рдХрд╛ рд╕рд╡рд╛рд▓ рд╣реИ, рдЗрддрдиреЗ рд╕рд╛рд▓реЛрдВ рдФрд░ .NET рдХреЗ рдЗрддрдиреЗ рд╕рд╛рд░реЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рдмрд╛рдж рдореЗрд░реА рд╕рд╣рдирд╢реАрд▓рддрд╛ рдХрд╛рдлреА рдХрдо рд╣реИред рдореИрдВ @ danroth27 рдЬреИрд╕реЗ рд▓реЛрдЧреЛрдВ рдХреЛ

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

@EisenbergEffect
рд░реЛрдм, рдореИрдВ рдорд╛рдирддрд╛ рд╣реВрдВ рдХрд┐ рд▓рдХреНрд╖реНрдп рдЕрдВрддрддрдГ .NET рдХреЛрд░ рдХреЛ рд╣рд░ рдЬрдЧрд╣ рдЪрд▓рд╛рдирд╛ рд╣реЛрдЧрд╛ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдХрд┐ рдореЛрдиреЛ рдХреЛ рдЗрд╕рдХреЗ рд╕рд╛рде рдмрджрд▓рдирд╛ред
рдореИрдВ рдПрдХ " .NET UI рдорд╛рдирдХ " рднреА рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдЬреЛ .NET рдХреЛрд░ рдХреЗ рд╕рд╛рде рд╢рд╛рдорд┐рд▓ рдХрд┐рдП рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рд░ рдЬрдЧрд╣ рд╕рдорд╛рди рд░реВрдк рд╕реЗ рдкреНрд░рд╕реНрддреБрдд рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди .NET рдХреЛрд░ рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рддрд╛рдЬрд╝рд╛ рд╣реИред рдЗрд╕ рд╡рд┐рдЪрд▓рди рдХреЛ рдЖрдХрд╛рд░ рдореЗрдВ рд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП .NET рдорд╛рдирдХ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╕рдорд╛рдзрд╛рди рдерд╛, рдФрд░ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдРрд╕рд╛ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдЖрдк рдХреБрдЫ рдмреЗрд╣рддрд░ рдорд╛рдВрдЧ рд╕рдХрддреЗ рд╣реИрдВред

рдореЗрд░рд╛ рд╡реЛрдЯ рдЙрд╕реА рдмрд┐рдВрджреБ рдХреЗ рд▓рд┐рдП рдореЛрдиреЛ рдХреЛ .NET рдХреЛрд░ рд╕реЗ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИ @EisenbergEffect рдмрдирд╛рдпрд╛ рдЧрдпрд╛ред

@EisenbergEffect рдореЗрд░реЗ рдкрд╛рд╕ рд╡реЗрдм рдХреЗ рд▓рд┐рдП рдХреИрд▓рд┐рдмрд░ рдорд╛рдЗрдХреНрд░реЛ рдХрд╛ рд╕рдкрдирд╛ рд╣реИ, рдХреНрдпрд╛ рдЖрдкрдХреЗ рдорди рдореЗрдВ рдпрд╣реА рд╣реИ? рдореИрдВрдиреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреБрдЫ рд╕рдордп рдкрд╣рд▓реЗ рдиреЙрдХрдЖрдЙрдЯ рдФрд░ рдбреБрдУрдХреЛрдб (mscorlib рдХрд╛ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкреЛрд░реНрдЯ) рдХреЗ рд╕рд╛рде рдЖрдзреНрдпрд╛рддреНрдорд┐рдХ рдЙрддреНрддрд░рд╛рдзрд┐рдХрд╛рд░реА рдкрд░ рдХрд╛рдо рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд┐рдпрд╛ рдерд╛, рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐ webassembly рдПрдХ рдЪреАрдЬ рдереАред

@AndersMalmgren рдСрд░реЗрд▓рд┐рдпрд╛ рдЖрдЬ рд╡реЗрдм рдХреЗ рд▓рд┐рдП рдХреИрд▓рд┐рдмрд░реНрди.рдорд╛рдЗрдХреНрд░реЛ рдХреА рддрд░рд╣ рд╣реИред рдЗрд╕ рд╕рд╛рд▓ рд░рд┐рд▓реАрдЬ рдХреЗ рд▓рд┐рдП рд╣рдо рдЬрд┐рд╕ vNext рд╕рдВрд╕реНрдХрд░рдг рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рд╡рд╣ рд╡реИрдХрд▓реНрдкрд┐рдХ рд░реЗрдВрдбрд░рд░реНрд╕ рдХрд╛ рднреА рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ, рддрд╛рдХрд┐ рдпрд╣ рди рдХреЗрд╡рд▓ HTML рдмрд▓реНрдХрд┐ рджреЗрд╢реА рдбреЗрд╕реНрдХрдЯреЙрдк, 3D рдФрд░ рдХрдВрд╕реЛрд▓ рдРрдкреНрд╕ рдХреЛ рднреА рд░реЗрдВрдбрд░ рдХрд░ рд╕рдХреЗред рдпрд╣ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ .NET рдореЗрдВ рдирд╣реАрдВред рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдХрд┐рд╕реА рдмрд┐рдВрджреБ рдкрд░ рдСрд░реЗрд▓рд┐рдпрд╛ рдХреЛ .NET рдХреЛрд░ рдореЗрдВ рдкреЛрд░реНрдЯ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдПрдХ рдмрд╛рд░ рдпрд╣ рддрдХрдиреАрдХ рдереЛрдбрд╝реА рдФрд░ рдкрд░рд┐рдкрдХреНрд╡ рд╣реЛ рдЬрд╛рдПред

рдЙрд╕ рдиреЗ рдХрд╣рд╛, рдЪреВрдВрдХрд┐ Microsoft Blazor рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░ рд░рд╣рд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореЗрд░реЗ .NET WASM рдХреЗ рд▓рд┐рдП рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдХреБрдЫ рднреА рдмрдирд╛рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдХрдо рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдореБрдЭреЗ Microsoft рдХреЗ рд╕рд╛рде рдкреНрд░рддрд┐рд╕реНрдкрд░реНрдзрд╛ рдореЗрдВ рдбрд╛рд▓ рджреЗрдЧрд╛ред рдЗрддрд┐рд╣рд╛рд╕ рд╕реЗ, рд╣рдо рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ .NET рдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХреА рддрдВрддреНрд░ рдХреЗ рдЕрдВрджрд░ рдХреЛрдИ рднреА рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд рдХрднреА рднреА рдХреБрдЫ рднреА рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ рдЬрдм Microsoft рдиреЗ рдХреБрдЫ рдРрд╕рд╛ рд╣реА рдмрдирд╛рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ рд╣реИ, рднрд▓реЗ рд╣реА рд╡рд╣ рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд рдмреЗрд╣рддрд░ рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реЛ, рдЕрдзрд┐рдХ рдПрдХреНрд╕реНрдЯреЗрдВрд╕рд┐рдмрд▓, рдЕрдзрд┐рдХ рдкреНрд░рджрд░реНрд╢рди рдХрд░рдиреЗ рд╡рд╛рд▓рд╛, рдЖрджрд┐ред рдореИрдВ рд╕реБрдВрджрд░ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реВрдВ рдпрд╣рд╛рдБ рдШрд┐рд╕рд╛ рд╣реБрдЖ рд╣реИред рдХреЗрд╡рд▓ рдПрдХ рдЪреАрдЬ рдЬреЛ рдЗрд╕реЗ рдмрджрд▓ рд╕рдХрддреА рд╣реИ, рд╡рд╣ рдпрд╣ рд╣реИ рдХрд┐ рдпрджрд┐ Microsoft рдореБрдЭреЗ .NET рдХреЛрд░-рдЖрдзрд╛рд░рд┐рдд рдлреНрд░рдВрдЯ-рдПрдВрдб рдлреНрд░реЗрдорд╡рд░реНрдХ рдФрд░ рдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХреА рддрдВрддреНрд░ рдХрд╛ рдиреЗрддреГрддреНрд╡ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рдпреБрдХреНрдд рдХрд░рддрд╛ред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдмреНрд▓реЗрдЬрд╝рд░ рдирд╣реАрдВ рд╣реЛрдЧрд╛ред Blazor рдХреЛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдбрд┐рдЬрд╝рд╛рдЗрди рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ (рдпрд╣ 10yrs рдкрд╣рд▓реЗ рд╕реЗ .NET anit-patterns рджреЛрд╣рд░рд╛ рд░рд╣рд╛ рд╣реИ), рди рд╣реА рдпрд╣ рдкрд░реНрдпрд╛рдкреНрдд рдорд╣рддреНрд╡рд╛рдХрд╛рдВрдХреНрд╖реА рд╣реИ, рдорд╛рдирдХреЛрдВ рдХрд╛ рдЕрдиреБрдкрд╛рд▓рди рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ, рдпрд╛ рдореЗрд░реА рд░рд╛рдп рдореЗрдВ рдкрд░реНрдпрд╛рдкреНрдд рдЖрдЧреЗ рджреЗрдЦ рд░рд╣рд╛ рд╣реИред Microsoft рдХреЗ рд▓рд┐рдП рджрд╛рдВрд╡ рдкрд░ рдПрдХ рдмрдбрд╝рд╛ рдЕрд╡рд╕рд░ рд╣реИ, рд▓реЗрдХрд┐рди рдЦрд┐рдбрд╝рдХреА рдмрдВрдж рд╣реЛ рд░рд╣реА рд╣реИред рдореИрдВрдиреЗ рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлреНрдЯ рдореЗрдВ рд╡рд┐рднрд┐рдиреНрди рд▓реЛрдЧреЛрдВ рдХреЛ рдпрд╣ рд╕рдордЭрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рд╣реИ рдХрд┐ рд╡реЗ рдХреНрдпрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рд▓реЗрдХрд┐рди рдЕрднреА рддрдХ рдореИрдВ рдЕрд╕рдлрд▓ рд░рд╣рд╛ рд╣реВрдВред Microsoft рдХреЗ рд▓рд┐рдП рдЕрднреА рдлреНрд░рдВрдЯ-рдПрдВрдб рдПрдХ рдмрдбрд╝реА рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдирд╣реАрдВ рд╣реИред

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

public IEnumerable<IResult> Save()
{
    var confirm = new ConfirmResult("Proceed?");
    yield return confirm;

    if (confirm.Result == ConfirmResults.Cancel)
        yield break;

    yield return new service.SendCommand(new SaveSomethingCommand(this.something));
}

https://github.com/AndersMalmgren/Knockout.BindingConventions.DuoCode/wiki/IResult-state-machine

рдиреЙрдХрдЖрдЙрдЯ рдЦрддреНрдо рд╣реЛ рдЧрдпрд╛ рдФрд░ рдЗрд╕рдореЗрдВ рдореЗрд░реА рджрд┐рд▓рдЪрд╕реНрдкреА рдереАред рд▓реЗрдХрд┐рди рд╕рдкрдирд╛ рдЬрд┐рдВрджрд╛ рд░рд╣рддрд╛ рд╣реИ :D

рдареАрдХ рд╣реИ, рдореИрдВ рдХрд╛рдо рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рд▓реЗрдХрд┐рди Vue рдпрд╛ рдЗрд╕реА рддрд░рд╣ рдХреЗ рд╕рд╛рдеред

рд╢рд╛рдпрдж Vue рдХреЗ рдмрдЬрд╛рдп Aurelia, рдХреНрдпреЛрдВрдХрд┐ Aurelia Durandal рд╕реЗ рдЙрддрд░рддреА рд╣реИ, рдЬреЛ Caliburn.Micro рд╕реЗ рдЖрддреА рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдСрд░реЗрд▓рд┐рдпрд╛ рдореЗрдВ рд╕рдореНрдореЗрд▓рди рд╣реИрдВ, рд╡реЗрдирд┐рд▓рд╛ рдЬреЗрдПрд╕ рдореЙрдбрд▓ рд╣реИрдВ, рдмреЗрд╣рддрд░ рдкреНрд░рджрд░реНрд╢рди рдХрд░рддреЗ рд╣реИрдВ, рдордЬрдмреВрдд рдорд╛рдирдХреЛрдВ рдХрд╛ рдЕрдиреБрдкрд╛рд▓рди рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдЕрдЪреНрдЫрд╛рдИ рд╣реИ рдЬреЛ рдЕрдиреНрдп рдврд╛рдВрдЪреЗ рдореЗрдВ рдирд╣реАрдВ рд╣реИ

рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдмреНрд▓реЗрдЬрд╝рд░ рдирд╣реАрдВ рд╣реЛрдЧрд╛ред Blazor рдХреЛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдбрд┐рдЬрд╝рд╛рдЗрди рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ (рдпрд╣ 10yrs рдкрд╣рд▓реЗ рд╕реЗ .NET anit-patterns рджреЛрд╣рд░рд╛ рд░рд╣рд╛ рд╣реИ), рди рд╣реА рдпрд╣ рдкрд░реНрдпрд╛рдкреНрдд рдорд╣рддреНрд╡рд╛рдХрд╛рдВрдХреНрд╖реА рд╣реИ, рдорд╛рдирдХреЛрдВ рдХрд╛ рдЕрдиреБрдкрд╛рд▓рди рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ, рдпрд╛ рдореЗрд░реА рд░рд╛рдп рдореЗрдВ рдкрд░реНрдпрд╛рдкреНрдд рдЖрдЧреЗ рджреЗрдЦ рд░рд╣рд╛ рд╣реИред

рдЗрд╕рдХреЗ рд╕рд╛рде рдЧрд▓рдд рдХреНрдпрд╛ рд╣реИ?

@EisenbergEffect рдпрд╛ рдСрд░реЗрд▓рд┐рдпрд╛ред рдореБрдЭреЗ рдСрд░реЗрд▓рд┐рдпрд╛ рдкрд╕рдВрдж рд╣реИ рд▓реЗрдХрд┐рди рдЪреВрдВрдХрд┐ рдпрд╣ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдпрд╛ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдХрд┐ рдПрдХ рдкреНрд░рдХрд╛рд░ рдХреА рдорд┐рдЯрд╛рдиреЗ рд╡рд╛рд▓реА рднрд╛рд╖рд╛ рд╣реИ, рдЖрдк рдЙрд╕ рд╕рднреА рдореАрдареЗ рд╕реАрдПрд▓рдЖрд░ рд░рдирдЯрд╛рдЗрдо рдЬрд╛рджреВ рдХреЛ рдЦреЛ рджреЗрддреЗ рд╣реИрдВ рдЬреЛ рдЖрдк рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдкреНрд▓рд╕ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ DI рдПрдХ рдЙрдЪрд┐рдд clr рд░рдирдЯрд╛рдЗрдо рдХреЗ рд╕рд╛рде рдЖрдк рдЬреЛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЙрд╕рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдИрдорд╛рдирджрд╛рд░ рдмрдХрд╡рд╛рд╕ рд╣реЛрдирд╛ рд╣реИред рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рдЙрд▓реНрд▓реЗрдЦрд┐рдд рдЙрд╕реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдП рдбреБрдУрдХреЛрдб рдХреЗ рд▓рд┐рдП рдПрдХ рдЫреЛрдЯрд╛ рдбреАрдЖрдИ рдХрдВрдЯреЗрдирд░ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдФрд░ рдореЗрд░реА рд░рд╛рдп рдореЗрдВ рдлреНрд░рдВрдЯрдПрдВрдб рдореЗрдВ рдЯрд╛рдЗрдк рдЖрдзрд╛рд░рд┐рдд рдЗрдВрдЬреЗрдХреНрд╢рди рдЖрдЧреЗ рдХрд╛ рд░рд╛рд╕реНрддрд╛ рд╣реИред рдореБрдЭреЗ рдСрд░реЗрд▓рд┐рдпрд╛ рдХреА рдкреНрд░рддрд┐рд░реВрдкрдХрддрд╛ рдкрд░ рдЧреМрд░ рдХрд░рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ, рджрд┐рди рдореЗрдВ рдиреЙрдХрдЖрдЙрдЯ рдмрд╣реБрдд рд╡рд┐рд╕реНрддрд╛рд░ рдпреЛрдЧреНрдп рдерд╛, рдФрд░ Vue рдЙрд╕ рдкреНрд░рд╡реГрддреНрддрд┐ рдХреЛ рдЬрд╛рд░реА рд░рдЦрддрд╛ рд╣реИред

@AndersMalmgren Aurelia рд╢рд╛рдпрдж рдЖрдЬ рдХрд╛ рд╕рдмрд╕реЗ рдПрдХреНрд╕реНрдЯреЗрдВрд╕рд┐рдмрд▓ рдлреНрд░рдВрдЯ-рдПрдВрдб рдлреНрд░реЗрдорд╡рд░реНрдХ рд╣реИред рд╣рдо рдЬрд┐рд╕ vNext рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рд╡рд╣ рдЗрд╕реЗ рджреВрд╕рд░реЗ рд╕реНрддрд░ рдкрд░ рднреА рд▓реЗ рдЬрд╛рддрд╛ рд╣реИред рдЖрдк рднреА рдЖрд╢реНрдЪрд░реНрдпрдЪрдХрд┐рдд рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд╣рдо рдЕрдкрдиреЗ рдбреАрдЖрдИ рдХреЗ рд╕рд╛рде рдХреНрдпрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ :) рдпрд╣ рдЯрд╛рдЗрдк рдЖрдзрд╛рд░рд┐рдд рд╣реИ рдФрд░ рдЗрд╕рдореЗрдВ рдПрдХреНрд╕реНрдЯреЗрдВрд╕рд┐рдмрд▓ рд▓рд╛рдЗрдлрдЯрд╛рдЗрдо рдЖрджрд┐ рд╣реИрдВред рдЪреВрдВрдХрд┐ рдЬреЗрдПрд╕ рдХреЗ рдкрд╛рд╕ рдХрдХреНрд╖рд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдореВрд▓ рд╕рдорд░реНрдерди рд╣реИ, рдЗрд╕рд▓рд┐рдП рдХреЛрдИ рдЗрд░реЗрдЬрд╝рд░ рдирд╣реАрдВ рд╣реИред рд╣рдо DI рд╣реЗрд▓реНрдкрд░ рдореЗрдердб рдпрд╛ Vanilla JS Symbol рдХреЗ рд╕рд╛рде рдЗрдВрдЯрд░рдлреЗрд╕ рдХреЛ рдореЙрдбрд▓ рднреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕рд▓рд┐рдП, TS .NET рдХреЗ рд╕рдорд╛рди рдкреИрдЯрд░реНрди рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рддреЗ рд╣реБрдП, TS рдЗрдВрдЯрд░рдлреЗрд╕ рдХреЗ рд╕рд╛рде рд╡рд┐рд▓рдп рдХрд░ рд╕рдХрддрд╛ рд╣реИред рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ, рдЖрдк IAuthenticationService рдХреЛ рд░рдирдЯрд╛рдЗрдо рдкрд░ рдареАрдХ рдХрдХреНрд╖рд╛ рдореЗрдВ рдЗрдВрдЬреЗрдХреНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдореБрдЭреЗ рдкрддрд╛ рд╣реИ, рд╣рдо рдПрдХрдорд╛рддреНрд░ рдврд╛рдВрдЪрд╛ рд╣реИрдВ рдЬреЛ рдРрд╕рд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдореИрдВрдиреЗ рдЦрд░рд╛рдм рд╣рд┐рд╕реНрд╕реЛрдВ рдХреЛ рдкреАрдЫреЗ рдЫреЛрдбрд╝рддреЗ рд╣реБрдП Xaml рдФрд░ Caliburn.Micro рд╕реЗ рдЕрдзрд┐рдХ рд╕реЗ рдЕрдзрд┐рдХ рдЕрдЪреНрдЫреЗ рднрд╛рдЧреЛрдВ рдХреЛ рд╡реЗрдм рдкрд░ рд▓рд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреАред рддреЛ рдПрдорд╡реАрд╡реАрдПрдо рдФрд░реЗрд▓рд┐рдпрд╛ рдореЗрдВ рднреА рдЕрдзрд┐рдХ рд╕рд░рд▓ рдФрд░ рдЕрдзрд┐рдХ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рд╣реИред рдореИрдВ Xaml рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд▓рд┐рдП рдСрд░реЗрд▓рд┐рдпрд╛ рдФрд░ ASP.NET MVC рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд▓рд┐рдП рдСрд░реЗрд▓рд┐рдпрд╛ рдкрд░ рдмреНрд▓реЙрдЧ рдкреЛрд╕реНрдЯ рдХреА рдПрдХ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдПрдХ рд╕рд╛рде рд░рдЦреВрдВрдЧрд╛ред рдЗрд╕рд╕реЗ рд▓реЛрдЧреЛрдВ рдХреЛ рдмрд┐рдВрджреБрдУрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдФрд░ рдпрд╣ рд╕рдордЭрдиреЗ рдореЗрдВ рдорджрдж рдорд┐рд▓ рд╕рдХрддреА рд╣реИ рдХрд┐ рдпрд╣ рдлреНрд░рдВрдЯ-рдПрдВрдб рд╡рд┐рдХрд╛рд╕ рдХреЛ рди рдХреЗрд╡рд▓ рддреЗрдЬрд╝ рдФрд░ рдЖрд╕рд╛рди рдмрдирд╛рддрд╛ рд╣реИ, рдмрд▓реНрдХрд┐ рдареЛрд╕ рднреА рдмрдирд╛рддрд╛ рд╣реИред

@manigandham рдореИрдВрдиреЗ .NET рдбреЗрд╡рд▓рдкрд░, .NET рдУрдкрди рд╕реЛрд░реНрд╕ рд▓реАрдбрд░ рдФрд░ Microsoft MVP рдХреЗ рд░реВрдк рдореЗрдВ рдХрдИ, рдХрдИ рд╕рд╛рд▓ рдмрд┐рддрд╛рдП, рдЗрд╕ рддрд░рд╣ рдХреА рд╕рд╛рдордЧреНрд░реА рдкрд░ Microsoft рдХреЛ рдмрд╣реБрдд рд╕рд╛рд░реА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рджреАред рдореИрдВрдиреЗ рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлреНрдЯ рдХреЗ рд▓рд┐рдП рд╕реАрдирд┐рдпрд░ рдкреАрдПрдо, рд╕реАрдирд┐рдпрд░ рдкреАрдПрдо рдореИрдиреЗрдЬрд░ рдФрд░ рдкреНрд░рд┐рдВрд╕рд┐рдкрд▓ рдкреАрдПрдо рдореИрдиреЗрдЬрд░ рдХреЗ рд░реВрдк рдореЗрдВ рднреА рдХреБрдЫ рд╕рдордп рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд┐рдпрд╛ (рд╣рд╛рд▓рд╛рдВрдХрд┐ .NET рдЯреАрдо рдореЗрдВ рдирд╣реАрдВ)ред рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рд▓рдЧрднрдЧ 12 рдпрд╛ рдЗрддрдиреЗ рд╡рд░реНрд╖реЛрдВ рдХреА рдЕрд╡рдзрд┐ рдореЗрдВ рдЬрдм рдореИрдВ рдРрд╕рд╛ рдХрд░ рд░рд╣рд╛ рдерд╛, рдореИрдВрдиреЗ рджреЗрдЦрд╛ рдХрд┐ рдЗрд╕рд╕реЗ рдмрд╣реБрдд рдХрдо рдЖрдпрд╛, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЙрд╕ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ рдЬреЛ рдореИрдВрдиреЗ рдлреНрд░рдВрдЯ-рдПрдВрдб рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рдЖрд╕рдкрд╛рд╕ рджреА рдереАред рдЗрд╕рд▓рд┐рдП, рдЕрдЧрд░ рдореБрдЭреЗ рдмреНрд▓реЗрдЬрд╝рд░ рдХреЗ рд╕рд╛рде рдбрд┐рдЬрд╝рд╛рдЗрди рдХреЗ рдореБрджреНрджреЛрдВ, рд╡реЗрдм рдорд╛рдирдХреЛрдВ рдХреА рд╕рдорд╕реНрдпрд╛рдУрдВ, рдЙрддреНрдкрд╛рдж рдХреА рджреГрд╖реНрдЯрд┐, рдЖрджрд┐ рдкрд░ 10k рд╢рдмреНрдж рдХрд╛ рдкреЗрдкрд░ рд▓рд┐рдЦрдиреЗ рдореЗрдВ рдЕрдкрдирд╛ рд╢рдирд┐рд╡рд╛рд░ рдЦрд░реНрдЪ рдХрд░рдиреЗ рдХрд╛ рдорди рдирд╣реАрдВ рд╣реИ, рддреЛ рдЖрдкрдХреЛ рдореБрдЭреЗ рдорд╛рдлрд╝ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рд╣реЛрдЧрд╛ рдХреБрдЫ рднреА рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд░рд╛рд╢рд┐ред рдпрджрд┐ Microsoft рдореБрдЭреЗ рдЙрдирдХреЗ рд▓рд┐рдП рдлреНрд░рдВрдЯ-рдПрдВрдб рдХреЗ рднрд╡рд┐рд╖реНрдп рдХрд╛ рдиреЗрддреГрддреНрд╡ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рдпреБрдХреНрдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ, рддреЛ рдореИрдВ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рд╡рд┐рдЪрд╛рд░ рдХрд░реВрдВрдЧрд╛, рд▓реЗрдХрд┐рди рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдХрд╣рд╛, рдлреНрд░рдВрдЯ-рдПрдВрдб рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЙрдирдХреЗ рд▓рд┐рдП рдЕрднреА рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдирд╣реАрдВ рд╣реИред рдФрд░ рдЬрд╣рд╛рдБ рддрдХ рдореБрдЭреЗ рдкрддрд╛ рд╣реИ, Blazor рдХреЛ рдЕрднреА рддрдХ рд╡рд┐рддреНрдд рдкреЛрд╖рд┐рдд рднреА рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

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

рдЕрдЧрд░ рдореЗрд░рд╛ рд╢рдирд┐рд╡рд╛рд░ рдХреЛ рдмреНрд▓реЗрдЬрд╝рд░ рдХреЗ рд╕рд╛рде рдбрд┐рдЬрд╝рд╛рдЗрди рдХреЗ рдореБрджреНрджреЛрдВ рдкрд░ 10k рд╢рдмреНрдж рдХрд╛ рдкреЗрдкрд░ рд▓рд┐рдЦрдиреЗ рдореЗрдВ рдореЗрд░рд╛ рдорди рдирд╣реАрдВ рд▓рдЧрддрд╛ рддреЛ рдЖрдкрдХреЛ рдореБрдЭреЗ рдорд╛рдлрд╝ рдХрд░рдирд╛ рд╣реЛрдЧрд╛

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

Blazor рдХреЛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдбрд┐рдЬрд╝рд╛рдЗрди рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ (рдпрд╣ 10yrs рдкрд╣рд▓реЗ рд╕реЗ .NET anit-patterns рджреЛрд╣рд░рд╛ рд░рд╣рд╛ рд╣реИ), рди рд╣реА рдпрд╣ рдкрд░реНрдпрд╛рдкреНрдд рдорд╣рддреНрд╡рд╛рдХрд╛рдВрдХреНрд╖реА рд╣реИ, рдорд╛рдирдХреЛрдВ рдХрд╛ рдЕрдиреБрдкрд╛рд▓рди рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ, рдпрд╛ рдореЗрд░реА рд░рд╛рдп рдореЗрдВ рдкрд░реНрдпрд╛рдкреНрдд рдЖрдЧреЗ рджреЗрдЦ рд░рд╣рд╛ рд╣реИред

рдореИрдВ рднреА, рд╡рд┐рд╢реЗрд╖ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЙрддреНрд╕реБрдХ рд░рд╣реВрдВрдЧрд╛ред

рдФрд░ рдЕрднреА Blazor рдХреА рдкреНрд░рдХреГрддрд┐ рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП, рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЗрд╕рдХреА рддреБрд▓рдирд╛ рдФрд╕рдд Microsoft рдЙрддреНрдкрд╛рдж рд╕реЗ рдХрд░рдирд╛ рдЙрдЪрд┐рдд рд╣реИред рдпрд╣ рдЕрднреА рддрдХ рдПрдХ рдЙрддреНрдкрд╛рдж рдирд╣реАрдВ рд╣реИ, рдФрд░ рдЗрд╕реЗ рдЦреБрд▓реЗ рдореЗрдВ рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ, рдЕрдЧрд░ рдпрд╣ рд╣реЛрддрд╛ рддреЛ рдпрд╣ рдХрд╣реАрдВ рдЕрдзрд┐рдХ рд╣реЛрддрд╛ред

@ рдЪрдХрд░ рдореИрдВ рд╕рдордЭрддрд╛ рд╣реВрдБред рдЗрд╕ рддрд░рд╣ рдХрд╛ рджрд╛рд╡рд╛ рдХрд░рдирд╛ рдФрд░ рд╡рд┐рд╕реНрддрд╛рд░ рдореЗрдВ рдирд╣реАрдВ рдЬрд╛рдирд╛ рдореЗрд░реЗ рд▓рд┐рдП рд╕рд╕реНрддрд╛ рд╣реИред рдореИрдВ рдЖрднрд╛рд░реА рд╣реВрдВ рдХрд┐ рдЖрдк рдФрд░ рдЕрдзрд┐рдХ рд╕реБрдирдиреЗ рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВред

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

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

рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдХреЛрдИ рдРрд╕рд╛ рддрд░реАрдХрд╛ рд╣реЛ рдЬрд┐рд╕рд╕реЗ рдореИрдВ рдЗрд╕ рддрд░рд╣ рдХреА рдкреЛрд╕реНрдЯ рдХреЛ рдлреНрд░реЗрдо рдХрд░ рд╕рдХреВрдВ, рдЬрд╣рд╛рдВ рдЗрд╕рд╕реЗ рдлрд░реНрдХ рдкрдбрд╝реЗрдЧрд╛ рдФрд░ рдмрд╣реБрдд рд╕реЗ рдирдХрд╛рд░рд╛рддреНрдордХ рд▓реЛрдЧреЛрдВ рдХреЛ рдЖрдордВрддреНрд░рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдпрд╣ рдЦреЗрд▓рдирд╛ рдХрдард┐рди рдЦреЗрд▓ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореИрдВ рдЗрд╕реЗ рдХреБрдЫ рд╡рд┐рдЪрд╛рд░ рджреВрдВрдЧрд╛ред

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

@EisenbergEffect рдореИрдВ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЖрдкрдХреЗ рдХрд┐рд╕реА рднреА рдЙрджреНрджреЗрд╢реНрдп рдФрд░ рд░рдЪрдирд╛рддреНрдордХ рдЖрд▓реЛрдЪрдирд╛ рдпрд╛ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХрд╛ рд╕реНрд╡рд╛рдЧрдд

рд╕рд╛рде рд╣реА, рдХреЛрдИ рднреА рдзрдордХрд╛рдП рдЬрд╛рдиреЗ рдпрд╛ рдШреГрдгрд╛ рдХрд░рдиреЗ рдХрд╛ рдкрд╛рддреНрд░ рдирд╣реАрдВ рд╣реИ рдФрд░ рдРрд╕рд╛ рд╡реНрдпрд╡рд╣рд╛рд░ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд╣рдорд╛рд░реА рдЖрдЪрд╛рд░ рд╕рдВрд╣рд┐рддрд╛ рдХреЗ рд╡рд┐рд░реБрджреНрдз рд╣реИред

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

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

рдЕрдЧрд░ рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлреНрдЯ рдиреЗ рдмрд╛рд╣рд░ рд╕реЗ рдкреНрд░рднрд╛рд╡ рдирд╣реАрдВ рдбрд╛рд▓рд╛ рддреЛ рд╣рдо рд╡рд┐рдирдлреЙрд░реНрдо рдФрд░ рд╡реЗрдмрдлреЙрд░реНрдо рдкрд░ рдлрдВрд╕ рдЬрд╛рдПрдВрдЧреЗ

https://devblogs.microsoft.com/dotnet/introducing-net-5/
рдЖрдЬ, рд╣рдо рдШреЛрд╖рдгрд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХрд┐ .NET Core 3.0 рдХреЗ рдмрд╛рдж рдЕрдЧрд▓реА рд░рд┐рд▓реАрдЬрд╝ .NET 5 рд╣реЛрдЧреАред рдпрд╣ .NET рдкрд░рд┐рд╡рд╛рд░ рдореЗрдВ рдЕрдЧрд▓реА рдмрдбрд╝реА рд░рд┐рд▓реАрдЬрд╝ рд╣реЛрдЧреАред

рдЖрдЧреЗ рдХреЗрд╡рд▓ рдПрдХ .NET рд╣реЛрдЧрд╛, рдФрд░ рдЖрдк рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ Windows, Linux, macOS, iOS, Android, tvOS, watchOS рдФрд░ WebAssembly рдЖрджрд┐ рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░ рд╕рдХреЗрдВрдЧреЗред

рд╣рдо .NET 5 рдХреЗ рднрд╛рдЧ рдХреЗ рд░реВрдк рдореЗрдВ рдирдП .NET API, рд░рдирдЯрд╛рдЗрдо рдХреНрд╖рдорддрд╛рдУрдВ рдФрд░ рднрд╛рд╖рд╛ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЛ рдкреЗрд╢ рдХрд░реЗрдВрдЧреЗред

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

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

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

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

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

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

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