рд╣рдордиреЗ рд╢реБрд░реБрдЖрдд рдореЗрдВ Blazor 0.5.0 рдореЗрдВ Blazor рд╕рд░реНрд╡рд░-рд╕рд╛рдЗрдб рд╣реЛрд╕реНрдЯрд┐рдВрдЧ рдореЙрдбрд▓ рдкреЗрд╢ рдХрд┐рдпрд╛ рдФрд░ рдлрд┐рд░ рдмрд╛рдж рдореЗрдВ рдЗрд╕реЗ .NET Core 3.0 рдореЗрдВ рд╢рд┐рдк рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ред рдХреНрд▓рд╛рдЗрдВрдЯ-рд╕рд╛рдЗрдб рдФрд░ рд╕рд░реНрд╡рд░-рд╕рд╛рдЗрдб рдмреНрд▓реЗрдЬрд╝рд░ рдореЗрдВ рдЕрдВрддрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдордиреЗ рд╕рд░реНрд╡рд░-рд╕рд╛рдЗрдб рдореЙрдбрд▓ рдХреЛ рдПрдХ рдирдпрд╛ рдирд╛рдо рджреЗрдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛: рд░реЗрдЬрд░ рдХрдВрдкреЛрдиреЗрдВрдЯреНрд╕ред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рднреНрд░рдо рдкреИрджрд╛ рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рд╕рд╛рдмрд┐рдд рд╣реБрдЖ рд╣реИред
рдЗрд╕ рднреНрд░рдо рдХреЛ рджреВрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдо рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╣реЛрд╕реНрдЯрд┐рдВрдЧ рдореЙрдбрд▓ рдХреЗ рд╕рд╛рде рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЙрдбрд▓ рдХреЛ Blazor рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд╛рдкрд╕ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВред Blazor рдРрдкреНрд╕ рдХреЛ рд╕рд░реНрд╡рд░ рдкрд░ .NET Core рдкрд░ рдпрд╛ рдХреНрд▓рд╛рдЗрдВрдЯ рдкрд░ WebAssembly рдХреЗ рд╕рд╛рде рд╣реЛрд╕реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╕рд░реНрд╡рд░-рд╕рд╛рдЗрдб Blazor рд╕рдкреЛрд░реНрдЯ .NET Core 3.0 рдХреЗ рд╕рд╛рде рд╢рд┐рдк рд╣реЛрдЧрд╛ рдФрд░ рдЬреИрд╕реЗ рд╣реА WebAssembly рд╕рдкреЛрд░реНрдЯ рддреИрдпрд╛рд░ рд╣реЛрдЧрд╛ рдХреНрд▓рд╛рдЗрдВрдЯ-рд╕рд╛рдЗрдб рд╕рдкреЛрд░реНрдЯ рдмрд╛рдж рдореЗрдВ рдЖрдПрдЧрд╛ред
рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╡рд┐рд╡рд░рдг:
services.AddRazorComponents()
рдирд╛рдо рдмрджрд▓реЗрдВ -> services.AddServerSideBlazor()
routes.MapComponentHub<TComponent>()
рдирд╛рдо рдмрджрд▓реЗрдВ -> routes.MapBlazorHub<TComponent>()
рдХреНрдпрд╛ рдпрд╣ рдПрдХ рд╕реНрд╡реАрдХреГрдд рдирд┐рд░реНрдгрдп рд╣реИ? рдХреНрдпрд╛ рд╣рдо рдЕрднреА рднреА рд╡реЛрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?
рдирд┐рдЬреА рддреМрд░ рдкрд░ рдореИрдВ рдирд╛рдо рдмрджрд▓рдиреЗ рдХреЗ рдЦрд┐рд▓рд╛рдл рд╣реВрдВред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд░реЗрдЬрд░ рдХрдВрдкреЛрдиреЗрдВрдЯреНрд╕ рдПрдХ рдмреЗрд╣рддрд░ рдирд╛рдо рд╣реИред :(
@xclud рдпрд╣ рдПрдХ рдЦреБрд▓рд╛ рдордВрдЪ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХрд╛ рд╣рдореЗрд╢рд╛ рд╕реНрд╡рд╛рдЧрдд рд╣реИ
рд╣рдо рдЕрднреА рднреА рдШрдЯрдХ рдореЙрдбрд▓ рдХреЛ рд░реЗрдЬрд╝рд░ рдШрдЯрдХреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░реЗрдВрдЧреЗ (рдЕрд░реНрдерд╛рдд рдПрдХ .рд░реЗрдЬрд╝рд░ рдлрд╝рд╛рдЗрд▓ рдЕрднреА рднреА рдПрдХ рд░реЗрдЬрд╝рд░ рдШрдЯрдХ рд╣реЛрдЧреА), рд▓реЗрдХрд┐рди рдЬрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЙрдбрд▓ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХреА рдЬрд╛рддреА рд╣реИ рддреЛ рд╣рдореЗрдВ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдирд╛рдо рд░рдЦрдирд╛ рдмрд╣реБрдд рдмреЛрдЭрд┐рд▓ рд▓рдЧрддрд╛ рд╣реИред Blazor рдирд╛рдо рдХреЗ рдкреАрдЫреЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХрд╛рдлреА рдЧрддрд┐ рд╣реИ рдЗрд╕рд▓рд┐рдП рд╣рдо рдЗрд╕рдХреЗ рд╕рд╛рде рд░рд╣рдирд╛ рдЪрд╛рд╣реЗрдВрдЧреЗред рдирд╛рдо рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рд╡реНрдпрдХреНрддрд┐рдкрд░рдХ рд╣реИрдВ - рд╣рдо рдЪрд╛рд╣реЗ рдХреЛрдИ рднреА рдирд╛рдо рдЪреБрдиреЗрдВ, рд╣рд░ рдХреЛрдИ рдЦреБрд╢ рдирд╣реАрдВ рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдмреНрд▓реЗрдЬрд╝рд░ рдиреЗ рдЕрдм рддрдХ рд╣рдорд╛рд░реА рдмрд╣реБрдд рдЕрдЪреНрдЫреА рд╕реЗрд╡рд╛ рдХреА рд╣реИред
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рдЕрдЪреНрдЫрд╛ рдХрджрдо рд╣реИред рд░реЗрдЬрд░ рдХрдВрдкреЛрдиреЗрдВрдЯреНрд╕ рдФрд░ рдмреНрд▓реЗрдЬрд╝рд░ рдХреЗ рдмреАрдЪ рд╕рдВрдмрдВрдзреЛрдВ рдХреЛ рд▓реЗрдХрд░ рднреНрд░рдо рдХрд╛ рдХреЛрдИ рдЕрдВрдд рдирд╣реАрдВ рд╣реИред рдЗрд╕ рд╣рдж рддрдХ рдХрд┐ рд▓реЛрдЧреЛрдВ рдиреЗ рд╕реЛрдЪрд╛ рд╣реИ рдХрд┐ рд╡реЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдврд╛рдВрдЪреЗ рд╣реИрдВ, рди рдХрд┐ рдХреЗрд╡рд▓ рдкреНрд░рддрд┐рдкрд╛рджрди рдХреЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ рддрд░реАрдХреЗред
рд╕рд╛рде рд╣реА, рдореЗрд░реА рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░рд╛рдп рдореЗрдВ, Blazor рдПрдХ рдЕрдЪреНрдЫрд╛ рдирд╛рдо рд╣реИред
рдПрдХ рдРрд╕реЗ рд╡реНрдпрдХреНрддрд┐ рдХреЗ рд░реВрдк рдореЗрдВ рдЬреЛ рдмреНрд▓реЗрдЬрд╝рд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд▓реЛрдЧреЛрдВ рд╕реЗ рдЕрдХреНрд╕рд░ рдмрд╛рдд рдХрд░рддрд╛ рд╣реИред рд░реЗрдЬрд░ рдХрдВрдкреЛрдиреЗрдВрдЯреНрд╕ рдХреБрдЫ рдФрд░ рдирд╣реАрдВ рдмрд▓реНрдХрд┐ рднреНрд░рдо рд╣реИред рдпрд╣ рднреНрд░рдорд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рд╣реИ: рдЬрдм рдПрдХ рдмреНрд▓реЗрдЬрд╝рд░ рдРрдк рдПрдХ рд░реЗрдЬрд╝рд░ рдХрдВрдкреЛрдиреЗрдВрдЯреНрд╕ рдРрдк рд╣реЛрддрд╛ рд╣реИ, рддреЛ рд░реЗрдЬрд╝рд░ рдХрдВрдкреЛрдиреЗрдВрдЯреНрд╕ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ [рд░реЗрдЬрд╝рд░ рдкреЗрдЬ рдФрд░ рд░реЗрдЬрд╝рд░ рдХреНрд▓рд╛рд╕ рд▓рд╛рдЗрдмреНрд░реЗрд░реАрдЬрд╝] рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реЛрддрд╛ рд╣реИ, рдФрд░ рд░реЗрдЬрд╝рд░/рдмреНрд▓реЗрдЬрд╝рд░ рдХрд╣рддреЗ рд╕рдордп рдЦреБрдж рдкрд░ рдЯреНрд░рд┐рдкрд┐рдВрдЧ рд╣реЛрддрд╛ рд╣реИред рдпрд╣ Blazor рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд▓рд┐рдЦрдирд╛ рднреА рдХрдард┐рди рдмрдирд╛рддрд╛ рд╣реИ, SEO рдХрдард┐рди, рдореИрдВ рдЖрдЧреЗ рдмрдврд╝ рд╕рдХрддрд╛ рдерд╛ред
рд╡рд┐рд╡реЗрдХ рдкреНрд░рдмрд▓ рд╣реЛрддрд╛ рд╣реИ! рдЗрд╕ рдмрджрд▓рд╛рд╡ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд-рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рджред
.razor рдлрд╝рд╛рдЗрд▓ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЗ рд╕рд╛рде рдХреНрдпрд╛ рд╣реБрдЖ, рдХреНрдпреЛрдВрдХрд┐ рд░реЗрдЬрд╝рд░ рдкреГрд╖реНрда рдЕрднреА рднреА .cshtml рд╣реИрдВ рдФрд░ рдШрдЯрдХ .razor рд╣реИрдВ, рдЗрд╕реЗ .blazor рдХрд╣рдирд╛ рдлрд╛рдпрджреЗрдордВрдж рд╣реЛ рд╕рдХрддрд╛ рд╣реИ? рдпрд╛ рд░реЗрдЬрд╝рд░ рдкреЗрдЬреЛрдВ рдХреЛ .cshtml рдХреЗ рдмрдЬрд╛рдп .razor рднреА рдХрд╣рддреЗ рд╣реИрдВ?
рдХрд╛рдлреА рднреНрд░рдорд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓реА рдмрд╛рдд
рд╣рдо рдШрдЯрдХреЛрдВ рдХреЗ рд▓рд┐рдП .razor рдПрдХреНрд╕рдЯреЗрдВрд╢рди рд░рдЦрдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛ рд░рд╣реЗ рд╣реИрдВред рдШрдЯрдХ рд░реЗрдЬрд░ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реЛрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд░реЗрдЬрд░ рдХрдВрдкрд╛рдЗрд▓рд░ рджреНрд╡рд╛рд░рд╛ рдШрдЯрдХреЛрдВ рдХреЛ рдЕрд▓рдЧ рддрд░рд╣ рд╕реЗ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЙрдиреНрд╣реЗрдВ рдПрдХ рдЕрд▓рдЧ рдлрд╝рд╛рдЗрд▓ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред
рдмреНрд▓реЗрдЬрд╝рд░ рд╣реЛрд╕реНрдЯреЗрдб рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛? рдХреНрд▓рд╛рдЗрдВрдЯ рд╕рд╛рдЗрдб рдореЙрдбрд▓ рдХреЗ рд▓рд┐рдП рдпрд╣ рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ рд╣реИ:
рддреЛ рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рд╣реЛрд╕реНрдЯреЗрдб рдЯреЗрдореНрдкрд▓реЗрдЯ рдЕрднреА рднреА рдореМрдЬреВрдж рд░рд╣реЗрдЧрд╛ред
рдореБрдЭреЗ рдпрд╣ рдирд╛рдо рдмрджрд▓рдХрд░ рд╕рд┐рд░реНрдл "рдмреНрд▓реЗрдЬрд╝рд░" рдкрд╕рдВрдж рд╣реИред рд▓реЛрдЧреЛрдВ рдХреЗ рд╕рд╛рде Blazor рдФрд░ Razor рдШрдЯрдХреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдПрдЯреАрдПрдо рд╕рд┐рд░реНрдл рд╕рд╛рджрд╛ рднреНрд░рдо рд╣реИред
Blazor рдПрдХ рдЯреНрд░реЗрдХреНрдиреЛрд▓реЙрдЬреА рд╣реИ (рдХрдо рд╕реЗ рдХрдо) рджреЛ рд╣реЛрд╕реНрдЯрд┐рдВрдЧ рдореЙрдбрд▓ред рддреЛ, рдореБрдЭреЗ рдмреНрд▓реЗрдЬрд╝рд░ рдкрд╕рдВрдж рд╣реИ!
рдЙрди рд╕рдм рдкрд░ рд░рд╛рдЬ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдирд╛рдоред рджреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╣реЛрд╕реНрдЯрд┐рдВрдЧ рдореЙрдбрд▓ рд╡рд╛рд▓рд╛ рдПрдХ рдмреНрд▓реЗрдЬрд╝рд░ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдмреЗрд╣рддрд░ рд╣реИред рдпрд╣ рд╕рдбрд╝рдХ рдХреЗ рдиреАрдЪреЗ рдмрд╣реБрдд рднреНрд░рдо рд╕реЗ рдмрдЪрд╛рддрд╛ рд╣реИред
рдореИрдВ рдЗрд╕ рдмрджрд▓рд╛рд╡ рдХрд╛ рд╕реНрд╡рд╛рдЧрдд рдХрд░рддрд╛ рд╣реВрдБ! рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдирдпрд╛ (рдпрд╛ рдкреБрд░рд╛рдирд╛) рдирд╛рдордХрд░рдг рдмрд╣реБрдд рдХрдо рднреНрд░рдорд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рд╣реИред
рдореИрдВ @vertonghenb рд╕реЗ рд╕рд╣рдордд .blazor
рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╣ рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИред .cshtml
рдФрд░ .razor
рджреЛрдиреЛрдВ рдореЗрдВ рд░реЗрдЬрд╝рд░ рд╕рд┐рдВрдЯреИрдХреНрд╕ рд╣реИ, рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ рдПрдХ рдХреЗ рдкрд╛рд╕ Blazor рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХреЛрдб рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреЛ .blazor
рдлрд╝рд╛рдЗрд▓ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЛ рдЕрдзрд┐рдХ рд╕рдЯреАрдХ рдФрд░ рдХрдо рдЕрд╕реНрдкрд╖реНрдЯ IMHO рдмрдирд╛ рджреЗрдЧрд╛ред
рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдЯрд┐рдкреНрдкрдгреА: рдореИрдВ _рд░реЗрдЬрд░ рдХрдВрдкреЛрдиреЗрдВрдЯреНрд╕_ рд╕реЗ _рд╕рд░реНрд╡рд░-рд╕рд╛рдЗрдб рдмреНрд▓реЗрдЬрд╝рд░_ рдореЗрдВ рдирд╛рдо рдмрджрд▓рдиреЗ рд╕реЗ рд╕рд╣рдордд рд╣реВрдВред
рд▓рдВрдмрд╛ рдЙрддреНрддрд░: рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛтАЛтАЛрд╣реИ рдХрд┐ рдХреНрд▓рд╛рдЗрдВрдЯ-рд╕рд╛рдЗрдб рдФрд░ рд╕рд░реНрд╡рд░-рд╕рд╛рдЗрдб рджреЛрдиреЛрдВ "рдШрдЯрдХреЛрдВ" рдХрд╛ рдПрдХ рд╣реА рдирд╛рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдЪрд╛рд╣реЗ рд╡рд╣ рдХреБрдЫ рднреА рд╣реЛ: рдмреНрд▓реЗрдЬрд╝рд░, рд░реЗрдЬрд░ рдХрдВрдкреЛрдиреЗрдВрдЯреНрд╕, рдПрдПрд╕рдкреА.рдиреЗрдЯ рдХреЛрд░ рдХрдВрдкреЛрдиреЗрдВрдЯреНрд╕ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рд░рд┐рдПрдХреНрдЯ рдФрд░ рд░рд┐рдПрдХреНрдЯ рдиреЗрдЯрд┐рд╡ рдмрд╣реБрдд рдЕрдзрд┐рдХ рднрд┐рдиреНрди рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХрд┐рдпрд╛рдВ рд╣реИрдВ рдФрд░ рдлрд┐рд░ рднреА рд╡реЗ рдПрдХ рд╣реА рдирд╛рдо рд╕рд╛рдЭрд╛ рдХрд░рддреЗ рд╣реИрдВред
рдмреНрд▓реЗрдЬрд╝рд░ рдирд╛рдо рдХрд╛ рд▓рд╛рдн:
рд░реЗрдЬрд░ рдШрдЯрдХ рдирд╛рдо рдХрд╛ рд▓рд╛рдн:
рдФрд░ рд╡рд┐рд╕реНрддрд╛рд░ рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ рдпрд╣ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рд░реЗрдЬрд░ рд╕рдВрдХрд▓рди рдПрдХреНрд╕реНрдЯреЗрдВрд╕рд┐рдмрд▓ рдХреИрд╕реЗ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдпрджрд┐ рднрд╡рд┐рд╖реНрдп рдореЗрдВ .razor
рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЗ рд╕рд╛рде рд╕реНрдерд┐рд░ рдЙрддреНрдкрдиреНрди рд░реЗрдЬрд░ рдкреЗрдЬ рднреА рд╣реЛрдВрдЧреЗ рдФрд░ рдХрдВрдкрд╛рдЗрд▓рд░ рдЗрд╕реЗ рд╕рдВрднрд╛рд▓ рд╕рдХрддрд╛ рд╣реИ, рддреЛ рдореИрдВ .razor
рдПрдХреНрд╕рдЯреЗрдВрд╢рди рд░рдЦреВрдВрдЧрд╛ред рдореВрд▓ рд░реВрдк рд╕реЗ .xaml
рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд┐рдпрдВрддреНрд░рдг, рдкреГрд╖реНрда, рд╕рдВрд╕рд╛рдзрди, рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдпреЛрдЧреНрдп рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рд░реЗрдЬрд░ рдШрдЯрдХреЛрдВ рдХреЗ рд▓рд┐рдП рдХреЛрдб-рдмреИрдХ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддрд┐ рдХреНрдпрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЕрдЧрд░ рд╡рд╣рд╛рдБ рд╣реИ рддреЛ рдХреЛрдб-рдмреИрдХ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдШрдЯрдХ рдХрдВрдкреЛрдиреЗрдВрдЯрдмреЗрд╕ рдпрд╛ рдХрд┐рд╕реА рдЕрдиреНрдп рдЪреАрдЬрд╝ рд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓рд╛ рд╣реИред рдФрд░ рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ .razor
рдлрд╝рд╛рдЗрд▓ рдХреЛ рдХреИрд╕реЗ рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдФрд░ рдмрд┐рдирд╛ рдХреЛрдб-рдмреИрдХ рдбрд┐рдлреЙрд▓реНрдЯ рдЗрдирд╣реЗрд░рд┐рдЯреЗрдВрд╕ рдХрдВрдкреЛрдиреЗрдВрдЯрдмреЗрд╕ рд╣реИ рдФрд░ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдбрд┐рдлреЙрд▓реНрдЯ рдмреЗрд╕ рдХреНрд▓рд╛рд╕ рдХреЛ рдмрджрд▓рдирд╛ рд╕рдВрднрд╡ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЕрдЧрд░ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рд░реЗрдЬрд░ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА, рддреЛ рдмреНрд▓реЗрдЬрд╝рд░ рдШрдЯрдХреЛрдВ рдХреЗ рд▓рд┐рдП .blazor
рдмреЗрд╣рддрд░ рд╡рд┐рдХрд▓реНрдк рд╣реЛрдЧрд╛ред
рдореИрдВ рдЗрд╕ рдмрджрд▓рд╛рд╡ рдХрд╛ рдмрд╣реБрдд рд╕реНрд╡рд╛рдЧрдд рдХрд░рддрд╛ рд╣реВрдБ! "рд░реЗрдЬрд░ рдХрдВрдкреЛрдиреЗрдВрдЯреНрд╕" рдирд╛рдо рд╣рдореЗрд╢рд╛ рдереЛрдбрд╝рд╛ рднреНрд░рдорд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдерд╛ рдХреНрдпреЛрдВрдХрд┐ рдЙрдореНрдореАрдж рдпрд╣ рдереА рдХрд┐ рдпрд╣ рдПрдХ рд╡рд┐рд╢реБрджреНрдз рд░реВрдк рд╕реЗ рд╕рд░реНрд╡рд░ рд╕рд╛рдЗрдб рдЪреАрдЬ рдереА, рдЬреИрд╕реЗ рдХрд┐ рд░реЗрдЬрд░ рдмрд╛рдХреА рд╕рдм рдХреБрдЫ рдХрд░рддрд╛ рд╣реИред рддреЛ рдЙрдореНрдореАрдж рдереА рдХрд┐ рд░реЗрдЬрд░ рдШрдЯрдХ рдбрдмреНрд▓реНрдпреВрдкреАрдПрдл рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд┐рдпрдВрддреНрд░рдг рдХреА рддрд░рд╣ рд╣реИрдВ, рдХреЛрдб рдХреЗ рдмрдЬрд╛рдп рд░реЗрдЬрд░ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд╕реНрдЯрдо рдШрдЯрдХреЛрдВ рдХреЛ рд▓рд┐рдЦрдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ (рдЬреИрд╕реЗ рдЯреИрдЧ рд╣реЗрд▓реНрдкрд░реНрд╕ рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВ)ред
рдЗрд╕рдХрд╛ рдирд╛рдо рдмрджрд▓рдХрд░, рд╡рд╣ рднреНрд░рдо рджреВрд░ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрд┐рд╕реА рдмрд┐рдВрджреБ рдкрд░ рд╕рд░реНрд╡рд░-рд╕рд╛рдЗрдб рдХрдВрдкреЛрдЬрд╝реЗрдмрд▓ рд░реЗрдЬрд░ рдШрдЯрдХреЛрдВ рдХреЗ рд╕рд╛рде рдЖрдиреЗ рдХрд╛ рдореМрдХрд╛ рд╣реЛрддрд╛ рд╣реИред
рдЬрд╣рд╛рдВ рддрдХ .razor
рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХрд╛ рд╕рд╡рд╛рд▓ рд╣реИ, рдЕрдиреНрдп рд▓реЛрдЧреЛрдВ рдХреА рддрд░рд╣ рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп .blazor
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЕрдзрд┐рдХ рд╕рдордЭрджрд╛рд░реА рд╣реЛрдЧреАред рдЬрд┐рд╕ рддрд░рд╣ рд╕реЗ рдореИрдВ рдЗрд╕реЗ рд╕рдордЭрддрд╛ рд╣реВрдВ, рдЙрди рдлрд╛рдЗрд▓реЛрдВ рдореЗрдВ рдХреЛрдб рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рдХреЗрд╡рд▓ рдмреНрд▓реЗрдЬрд╝рд░ рд╕рдВрджрд░реНрдн рдореЗрдВ рд╡реНрдпрд╡рд╣рд╛рд░реНрдп рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рддрд░реНрдХ рдШрдЯрдХ рдХреЗ рд╕рд╛рде рдЧрд╣рд░рд╛рдИ рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИред рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдЧреИрд░-рдмреНрд▓реЗрдЬрд╝рд░ рд╕рдВрджрд░реНрдн рдореЗрдВ рдкреБрди: рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реЛрдЧрд╛ред рд╕рд╛рде рд╣реА, рдпрджрд┐ рдХреНрд▓рд╛рдЗрдВрдЯ-рд╕рд╛рдЗрдб Blazor рдШрдЯрдХ рдПрдХ рд╣реА рдЪреАрдЬрд╝ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдорд╛рдкреНрдд рд╣реЛ рдЬрд╛рдПрдВрдЧреЗ, рддреЛ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ .blazor
рд▓рдЧрд╛рддрд╛рд░ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ Blazor рдШрдЯрдХреЛрдВ рдХреА рдкрд╣рдЪрд╛рди рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдмреЗрд╣рддрд░ рд╡рд┐рдЪрд╛рд░ рд╣реИ (рдЬрд┐рд╕реЗ рддрдм рд╕рд░реНрд╡рд░-рд╕рд╛рдЗрдб рдпрд╛ рдХреНрд▓рд╛рдЗрдВрдЯ-рд╕рд╛рдЗрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ) .
рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ @poke рдФрд░ @duracellko рджреЛрдиреЛрдВ рдиреЗ рдЧреБрдЬрд░рдиреЗ рдореЗрдВ рд╢рдмреНрдж рдмреНрд▓реЗрдЬрд╝рд░ рдШрдЯрдХреЛрдВ рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕реЗ рдПрдХ рдирд╛рдо рдХреЗ рд░реВрдк рдореЗрдВ рдкрд╕рдВрдж рдХрд░рддрд╛ рд╣реВрдВред __рдмреНрд▓реЗрдЬрд╝рд░ (рд╕рд░реНрд╡рд░-рд╕рд╛рдЗрдб)__ рдХреЗ рдмрдЬрд╛рдп __рдмреНрд▓реЗрдЬрд╝рд░ рдШрдЯрдХреЛрдВ__ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛?
рдУрд╣ред рдФрд░ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдирд╛рдо рдХреЗ рд▓рд┐рдП .blazor
рднреА рдПрдХ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдЪрд╛рд░ рд╣реИред
@myty рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЕрд╡рдзрд╛рд░рдгрд╛рддреНрдордХ рд░реВрдк рд╕реЗ, рдШрдЯрдХ рд╣рдореЗрд╢рд╛ "рдмреНрд▓реЗрдЬрд╝рд░ рдШрдЯрдХ" рдереЗ (рдпрд╛рдиреА рдЖрдк рдмреНрд▓реЗрдЬрд╝рд░ рдХреЗ рд╕рд╛рде рдШрдЯрдХ рдмрдирд╛рддреЗ рд╣реИрдВ)ред "рдмреНрд▓реЗрдЬрд╝рд░ (рд╕рд░реНрд╡рд░-рд╕рд╛рдЗрдб)" рдФрд░ "рдмреНрд▓реЗрдЬрд╝рд░ (рдХреНрд▓рд╛рдЗрдВрдЯ-рд╕рд╛рдЗрдб)" рджреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╣реЛрд╕реНрдЯрд┐рдВрдЧ рдореЙрдбрд▓ рд╣реИрдВ рдЬрд┐рдирдореЗрдВ рдЖрдк рд╕рдорд╛рди (рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ?) рдмреНрд▓реЗрдЬрд╝рд░ рдШрдЯрдХреЛрдВ рдХрд╛ рдЙрдкрднреЛрдЧ рдФрд░ рд╕рдВрдЪрд╛рд▓рди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рддреЛ рдЖрдк рджреЛрдиреЛрдВ "рдмреНрд▓реЗрдЬрд╝рд░ рдШрдЯрдХреЛрдВ" рдХрд╛ рдЙрдкрдпреЛрдЧ рдпрд╣ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░реЗрдВрдЧреЗ рдХрд┐ рдЖрдк рдПрдХ рдШрдЯрдХ рдмрдирд╛ рд░рд╣реЗ рд╣реИрдВ, рдФрд░ "рд╕рд░реНрд╡рд░-рд╕рд╛рдЗрдб рдмреНрд▓реЗрдЬрд╝рд░" рдпрд╣ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдЖрдк рдмреНрд▓реЗрдЬрд╝рд░ рдШрдЯрдХреЛрдВ рдХреЛ рдХреИрд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВред
@myty рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЕрд╡рдзрд╛рд░рдгрд╛рддреНрдордХ рд░реВрдк рд╕реЗ, рдШрдЯрдХ рд╣рдореЗрд╢рд╛ "рдмреНрд▓реЗрдЬрд╝рд░ рдШрдЯрдХ" рдереЗ (рдпрд╛рдиреА рдЖрдк рдмреНрд▓реЗрдЬрд╝рд░ рдХреЗ рд╕рд╛рде рдШрдЯрдХ рдмрдирд╛рддреЗ рд╣реИрдВ)ред "рдмреНрд▓реЗрдЬрд╝рд░ (рд╕рд░реНрд╡рд░-рд╕рд╛рдЗрдб)" рдФрд░ "рдмреНрд▓реЗрдЬрд╝рд░ (рдХреНрд▓рд╛рдЗрдВрдЯ-рд╕рд╛рдЗрдб)" рджреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╣реЛрд╕реНрдЯрд┐рдВрдЧ рдореЙрдбрд▓ рд╣реИрдВ рдЬрд┐рдирдореЗрдВ рдЖрдк рд╕рдорд╛рди (рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ?) рдмреНрд▓реЗрдЬрд╝рд░ рдШрдЯрдХреЛрдВ рдХрд╛ рдЙрдкрднреЛрдЧ рдФрд░ рд╕рдВрдЪрд╛рд▓рди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рддреЛ рдЖрдк рджреЛрдиреЛрдВ "рдмреНрд▓реЗрдЬрд╝рд░ рдШрдЯрдХреЛрдВ" рдХрд╛ рдЙрдкрдпреЛрдЧ рдпрд╣ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░реЗрдВрдЧреЗ рдХрд┐ рдЖрдк рдПрдХ рдШрдЯрдХ рдмрдирд╛ рд░рд╣реЗ рд╣реИрдВ, рдФрд░ "рд╕рд░реНрд╡рд░-рд╕рд╛рдЗрдб рдмреНрд▓реЗрдЬрд╝рд░" рдпрд╣ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдЖрдк рдмреНрд▓реЗрдЬрд╝рд░ рдШрдЯрдХреЛрдВ рдХреЛ рдХреИрд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВред
рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ рд╣рдореЗрд╢рд╛ рдмреНрд▓реЗрдЬрд╝рд░ рдШрдЯрдХ рдерд╛ рдЬреЛ рдореБрдЭреЗ рдирд╛рдо рдкрд░ рдмреЗрдЪрд╛ рдЧрдпрд╛ рдерд╛ред рдЬреИрд╕рд╛ рд╣реИ рд╡реИрд╕рд╛ рд╣реА рдмрддрд╛рдУ рдФрд░ рдпрд╣ рдЕрдЪреНрдЫрд╛ рднреА рд▓рдЧрддрд╛ рд╣реИред :)
...рд▓реЗрдХрд┐рди, рдореБрдЭреЗ рд╕рд░реНрд╡рд░-рд╕рд╛рдЗрдб рдФрд░ рдХреНрд▓рд╛рдЗрдВрдЯ-рд╕рд╛рдЗрдб рдХреЗ рдмреАрдЪ рднреНрд░рдо рднреА рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИред рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЙрдиреНрд╣реЗрдВ рдмреБрд▓рд╛рдП рдмрд┐рдирд╛ рдХрд╣рд╛рдиреА рдмрддрд╛рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИред
рд╣рд╛рдВ! рдЕрдВрдд рдореЗрдВ :) Blazor рдЕрд╕рд▓реА рдирд╛рдо рд╣реИред
рдХреНрдпрд╛ рддреБрдо рднреА рдЬрд▓рддреЗ рд╣реЛ?
рд╣рд╛рдВ
рдореЗрд░реЗ рд▓рд┐рдП рдмреНрд▓реЗрдЬрд╝рд░ = WASM.
рддреЛ 'рд░реЗрдЬрд░ рдХрдВрдкреЛрдиреЗрдВрдЯреНрд╕' (SignarR!) рдХреБрдЫ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрд▓рдЧ рд╣реИред рдЕрдВрддрд░ рд╕реНрдкрд╖реНрдЯ рдХрд░рдирд╛ рдХрд╛рдлреА рдЖрд╕рд╛рди рд╣реИ: рдмреНрд▓реЗрдЬрд╝рд░ рдХрд╛ WASM рд╣реИред
IMHOред
рдпрд╣ рдирд┐рд╢реНрдЪрдп рд╣реА рд╕рд╣реА рдирд┐рд░реНрдгрдп рд╣реИред рдирдпрд╛ "рд░реЗрдЬрд░ рдХрдВрдкреЛрдиреЗрдВрдЯреНрд╕" рд╢рдмреНрдж рдкреЗрд╢ рдХрд┐рдП рдЬрд╛рдиреЗ рдХреЗ рдмрд╛рдж рднреА, рдореИрдВ рдФрд░ рдореЗрд░реЗ рд╕рд╣рдпреЛрдЧреА рдЕрднреА рднреА рдЗрд╕реЗ рд╕рд░реНрд╡рд░-рд╕рд╛рдЗрдб рдмреНрд▓реЗрдЬрд╝рд░ рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдореИрдВ .blazor рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдпрд╛ .component рдЬреИрд╕рд╛ рдХреБрдЫ рднреА рдкрд╕рдВрдж рдХрд░рддрд╛ рд╣реВрдВред MVC рдореЗрдВ рд╡рд┐рдЪрд╛рд░ рд░реЗрдЬрд╝рд░ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХрд╛ рднреА рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП .razor рдЕрддрд┐рд░рд┐рдХреНрдд рднреНрд░рдо рд▓рд╛рддрд╛ рд╣реИред
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд░реЗрдЬрд░ рдХрдВрдкреЛрдиреЗрдВрдЯреНрд╕ рдХреЛ рд╡рд╛рдкрд╕ рдмреНрд▓реЗрдЬрд╝рд░ рдореЗрдВ рдмрджрд▓рдиреЗ рдХрд╛ рдпреВ-рдЯрд░реНрди рдПрдХ рдЕрдЪреНрдЫрд╛ рд╣реИред
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдШрдЯрдХ рд╡рд┐рд╕реНрддрд╛рд░ .razor
рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдореЗрдВ рд░реЗрдЬрд╝рд░ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ 2 рдЕрд▓рдЧ-рдЕрд▓рдЧ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рд╣реЛрдиреЗ рдореЗрдВ рднреНрд░рдорд┐рдд рд╣реИред ( .cshtml
рдФрд░ .razor
)
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ .blazor
рдпрд╛ .component
рдПрдХреНрд╕рдЯреЗрдВрд╢рди .razor
рд╕реЗ рдмреЗрд╣рддрд░ рд╡рд┐рдХрд▓реНрдк рд╣реЛрдВрдЧреЗред
рдЗрд╕ рдирд╛рдо рдХреЛ рд╡рд╛рдкрд╕ рдмреНрд▓реЗрдЬрд╝рд░ рд╕рд░реНрд╡рд░-рд╕рд╛рдЗрдб рдореЗрдВ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рдореИрдВ рдХрд╛рдлреА рдИрдорд╛рдирджрд╛рд░ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рд░рд╛рд╣рдд рдорд╣рд╕реВрд╕ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рдЫреЛрдЯрд╛ рд▓реЛрд▓рд╡рдЯ рдерд╛? рд╡рд╣ рдХреНрд╖рдг рдЬрдм рдореИрдВрдиреЗ рдкрд╣рд▓реА рдмрд╛рд░ рдирд╛рдо рдмрджрд▓рдХрд░ рд░реЗрдЬрд░ рдХрдВрдкреЛрдиреЗрдВрдЯреНрд╕ рдореЗрдВ рд╕реБрдирд╛ред
рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд░реЗрдЬрд░ рд╢рдмреНрдж рдкрд░реНрдпрд╛рдкреНрдд рд░реВрдк рд╕реЗ рдЕрддрд┐рднрд╛рд░рд┐рдд рд╣реИ:
//confusing much yet?
// just kidding :)
рд╣рдордиреЗ рдкреНрд░рддреНрдпреЗрдХ рдЙрдкрдпреЛрдЧ-рдорд╛рдорд▓реЗ рдХреЛ рд╕рдордЭрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рдиреЗ рдХреЗ рд╕рд╛рде-рд╕рд╛рде рдЗрди рд╕рднреА рд░реЗрдЬрд░ рдЪреАрдЬреЛрдВ рдХреЛ рдиреЗрд╡рд┐рдЧреЗрдЯ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣реЗ рдХрд┐рд╕реА рдирдП рд╡реНрдпрдХреНрддрд┐ рдХреЗ рд▓рд┐рдП рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЗрд╕реЗ рдореБрд╢реНрдХрд┐рд▓ рдмрдирд╛ рджрд┐рдпрд╛ рд╣реИред
рди рдХреЗрд╡рд▓ рдирдП рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рд╣рд╛рдиреБрднреВрддрд┐ рдорд╣рд╕реВрд╕ рдХрд░рдирд╛, рдмрд▓реНрдХрд┐ рд╡рд░реНрдгрди рдФрд░ рд╕рдордиреНрд╡рдп (рдХреИрд╕реЗ/рдХрдм/рдХреНрдпрд╛) рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдбрд╝реА рдЯреАрдореЛрдВ рдкрд░ "рд╕рд╣реА" рд╢рдмреНрджрд╛рд╡рд▓реА рдЙрдкрдпреЛрдЧ рдХреЛ рд╕рдордЭрд╛рдиреЗ рдФрд░ рдмрдирд╛рдП рд░рдЦрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рдиреЗ рдХреА рдХрд▓реНрдкрдирд╛ рдХрд░реЗрдВред
Blazor рдПрдХ рдЕрдЪреНрдЫрд╛ рдирд╛рдо рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╣рдо рдкрд╣рд▓реЗ рд╣реА рдЗрд╕рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЛрдВ рдХреЗ рд╕рд╛рде рдЬреБрдбрд╝ рдЪреБрдХреЗ рд╣реИрдВред рдпреЛ, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдХрд┐ рд░реЗрдЬрд░ рд╕реЙрдХреЗрдЯ рднреА рд░реЗрдЬрд░ рдХрдВрдкреЛрдиреЗрдВрдЯреНрд╕ рд╕реЗ рдмреЗрд╣рддрд░ рдирд╛рдо рд╣реЛрддрд╛ред рдзреВрдк рдХрд╛ рдЪрд╢реНрдорд╛:
рд╕рд╛рде рд╣реА, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ .razor
рдХрд╛ рдирд╛рдо рдмрджрд▓рдХрд░ .blazor
рдХрд░рдирд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдЪрд╛рд░ рд╣реИред
рдирд╛рдордХрд░рдг рдХрдард┐рди рд╣реИред
рдЪреАрдЬреЛрдВ рдХреЛ рд╕рд░рд▓ рд░рдЦреЗрдВред
-рдмреНрд░рд╛рдпрди :)
рд░реЗрдЬрд░ рдХрдВрдкреЛрдиреЗрдВрдЯреНрд╕ рдореЗрдВ рджрд┐рд▓рдЪрд╕реНрдкреА рд╣реЛрдиреЗ рдХреЗ рдХрд╛рд░рдг рдпрд╣ рдореЗрд░реЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдЕрдЪреНрдЫрд╛ рдЦреЗрд▓рддрд╛ рд╣реИ рдФрд░ рдореБрдЭреЗ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрд▓реЗ рдЬрд╛рддрд╛ рд╣реИред
рдореИрдВ рд╕рдордЭрддрд╛ рд╣реВрдВ рдХрд┐ рд╣рдо рдХрд┐рд╕ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдХреЛрдИ рд╡реНрдпрдХреНрддрд┐ рдЬреЛ рдЕрднреА рд╢реБрд░реВ рдХрд░ рд░рд╣рд╛ рд╣реИ, рдирд╛рдордХрд░рдг рдХреЗ рдХрд╛рд░рдг, рд╣реБрдб рдХреЗ рдиреАрдЪреЗ рдХреНрдпрд╛ рд╣реИ, рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рднреНрд░рдорд┐рдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
рдпрджрд┐ рд▓рдХреНрд╖реНрдп рдЖрдЧрд╛рдореА рдмреНрд▓реЗрдЬрд╝рд░ рдХреЗ рдЕрд╕реНрдерд╛рдпреА рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдХреЗ рд░реВрдк рдореЗрдВ рд░реЗрдЬрд░ рдШрдЯрдХреЛрдВ рдХреЛ рд╢рд┐рдк рдХрд░рдирд╛ рд╣реИ, рддреЛ рдореИрдВ рдирд╣реАрдВ рдЪрд╛рд╣рддрд╛ рдХрд┐ рдЗрд╕рдХрд╛ рдирд╛рдо рдмрджрд▓рд╛ рдЬрд╛рдПред
@Mitiko рд╕рд░реНрд╡рд░-рд╕рд╛рдЗрдб Blazor рдХреНрд▓рд╛рдЗрдВрдЯ-рд╕рд╛рдЗрдб Blazor (WebAssembly рдкрд░ рдЖрдзрд╛рд░рд┐рдд) рдХреЗ рдирд┐рд░реНрдгрдпреЛрдВ рд╕реЗ рдкреНрд░рднрд╛рд╡рд┐рдд рдирд╣реАрдВ рд╣реЛрдЧрд╛ред рдпрд╣ рдорд╛рдирддреЗ рд╣реБрдП рдХрд┐ рдмрд╛рдж рд╡рд╛рд▓рд╛ рдХрд┐рд╕реА рдмрд┐рдВрджреБ рдкрд░ рд░рд┐рд▓реАрдЬрд╝ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рдЖрдк рдЕрднреА рднреА рд╕рд░реНрд╡рд░-рд╕рд╛рдЗрдб рдмреНрд▓реЗрдЬрд╝рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдВрдЧреЗред рджреЛрдиреЛрдВ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЙрдбрд▓ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреБрдЫ рдЪреАрдЬреЛрдВ рдХреЛ рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдВрдЧреЗ, рдЗрд╕рд▓рд┐рдП рдЙрдиреНрд╣реЗрдВ рдЙрдирдХреЗ рдирд╛рдо рдХреЗ рд╕рд╛рде рд╕рдВрд░реЗрдЦрд┐рдд рдХрд░рдирд╛ рдЕрдзрд┐рдХ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИред
рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдпрд╣ рдЕрдВрддрддрдГ рднреНрд░рдорд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рд╣реИред рдЬрдм рдЖрдкрдХреЗ рдкрд╛рд╕ рддрд░реНрдХ рд╣реИ рдЬреЛ рдкрд░рд╡рд╛рд╣ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдЗрд╕реЗ рдХрд╣рд╛рдБ рд╣реЛрд╕реНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рддреЛ рдЗрд╕реЗ рдХреНрдпрд╛ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ? рдлрд┐рд░ рдврд╛рдВрдЪрд╛ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ "рдЦреЛрд▓" рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЬрд╛рджреБрдИ рд░реВрдк рд╕реЗ рдирд╛рдо рдмрджрд▓рддрд╛ рд╣реИред рд╕рд┐рд░реНрдл рджреЛ рдирд╛рдо рд░рдЦрдиреЗ рдХрд╛ рдХреЛрдИ рдорддрд▓рдм рдирд╣реАрдВ рд╣реИред @poke рдХреА рдмрд╛рдд рдХреЗ рд▓рд┐рдП рдиреАрдЪреЗ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╡реАрдбрд┐рдпреЛ рджреЗрдЦреЗрдВ: @Mitiko
рдмреНрд▓реЗрдЬрд╝рд░ рд╣реЛрд╕реНрдЯреЗрдб рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛?
@ghidello рдпрд╣ рд╡реИрд╕реЗ рд╣реА рд░рд╣рддрд╛ рд╣реИред рддреЛ рддреАрди рдмреНрд▓реЗрдЬрд╝рд░ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рд╣реЛрдВрдЧреЗ: рд╕реНрдЯреИрдВрдбрдЕрд▓реЛрди рдХреНрд▓рд╛рдЗрдВрдЯ-рд╕рд╛рдЗрдб, ASP.NET рдХреЛрд░ рд╣реЛрд╕реНрдЯреЗрдб рдФрд░ рд╕рд░реНрд╡рд░-рд╕рд╛рдЗрдб
рдореБрдЭреЗ рдпрд╣ рджреЗрдЦрдХрд░ рдЦреБрд╢реА рд╣реБрдИ, рдЬреИрд╕рд╛ рдХрд┐ рдЖрдкрдиреЗ рдХрд╣рд╛ - рдирд╛рдо рдХрд╛ рдПрдХ рдЕрд░реНрде рдФрд░ рдЗрд╕рдХреЗ рдкреАрдЫреЗ рдПрдХ рдЧрддрд┐ рд╣реИ рдФрд░ рдореЗрд░реЗ рд▓рд┐рдП рдпрд╣ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рджреЛрдиреЛрдВ рдореЙрдбрд▓ рдордЬрдмреВрдд рд╕рдорд░реНрдерди рдХреЗ рд╕рд╛рде рдЖрдЧреЗ рдмрдврд╝ рд░рд╣реЗ рд╣реИрдВред
рдЖрдИрдПрдордУ рдЖрдкрдХреЛ рдмреНрд▓реЗрдЬрд╝рд░ рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдШрдЯрдХ рдореЙрдбрд▓ рдХрд╛ рдирд╛рдо рднреА рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдП, рднрд▓реЗ рд╣реА рдЖрдк рд░реЗрдЬрд░ рд╕рд┐рдВрдЯреИрдХреНрд╕/рдЗрдВрдЬрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рдпрд╣ рдирд╛рдордХрд░рдг рдХреЗ рд▓рд┐рд╣рд╛рдЬ рд╕реЗ рдЗрд╕реЗ рдФрд░ рдЕрдзрд┐рдХ рд╕рдореЗрдХрд┐рдд рд╡рди-рд╕реНрдЯреЙрдк-рд╢реЙрдк рд╕рдорд╛рдзрд╛рди рдмрдирд╛ рджреЗрдЧрд╛ред
рдШрдЯрдХ рдирд╛рдорд╕реНрдерд╛рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛? рдЗрд╕рдХрд╛ рднреА рдирд╛рдо рдмрджрд▓рд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдФрд░ .razor рдлрд╛рдЗрд▓реЗрдВ .blazor рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ Blazor рддрдХрдиреАрдХ рд╕реЗ рдЬреБрдбрд╝реА рд╣реБрдИ рд╣реИрдВред рдЕрдиреНрдпрдерд╛ рдЙрдиреНрд╣реЗрдВ рдЖрдо рд░реЗрдЬрд░ рдПрдорд╡реАрд╕реА рдХреЗ рд▓рд┐рдП рднреА рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдШрдЯрдХреЛрдВ рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ рдЕрднреА рднреА рдереЛрдбрд╝рд╛ рднреНрд░рдорд┐рдд:
рддреЛ рдЕрдЧрд░ рдореИрдВ рдПрдХ рдШрдЯрдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдЬреЛ рд╕рд░реНрд╡рд░ рд╕рд╛рдЗрдб рдФрд░ рдХреНрд▓рд╛рдЗрдВрдЯ рд╕рд╛рдЗрдб рдмреНрд▓реЗрдЬрд╝рд░ рджреЛрдиреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рддреЛ рдХреНрдпрд╛ рдореИрдВ рдШрдЯрдХреЛрдВ рдХреЛ "рдмреНрд▓реЗрдЬрд╝рд░ рдШрдЯрдХ" рдпрд╛ "рд░реЗрдЬрд╝рд░ рдШрдЯрдХ" рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рддрд╛ рд╣реВрдВ?
@egil рдбреИрди рд░реЛрде рдиреЗ рдКрдкрд░ рдЬреЛ рдХрд╣рд╛ рд╣реИ,
рд╣рдо рдЕрднреА рднреА рдШрдЯрдХ рдореЙрдбрд▓ рдХреЛ рд░реЗрдЬрд░ рдШрдЯрдХреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░реЗрдВрдЧреЗ (рдЕрд░реНрдерд╛рдд рдПрдХ .razor рдлрд╝рд╛рдЗрд▓ рдЕрднреА рднреА рдПрдХ рд░реЗрдЬрд░ рдШрдЯрдХ рд╣реЛрдЧреА)
рдЗрд╕ рдкрд░рд┐рд╡рд░реНрддрди рдореЗрдВ рдореЗрд░реЗ рдЕрдиреБрдореЛрджрди рдХреЗ рдордд рдХреЛ рдЬреЛрдбрд╝рд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред
рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдЗрд╕реЗ рджреЗрдЦрд╛, рдПрдХ RazorComponent
рдПрдХ рд╕реА # рдШрдЯрдХ рд╣реИ рдЬреЛ рд░реЗрдЬрд░ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдФрд░ рд╕реА # рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИред рд╣рдо RazorComponents
рдХрд╛ рдЙрдкрдпреЛрдЧ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреА рдПрдХ рд╡рд┐рд╕реНрддреГрдд рд╢реНрд░реГрдВрдЦрд▓рд╛ рдореЗрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдореЗрдВ Blectron
(StorageExplorer рдбреЗрдореЛ рдореЗрдВ), HTML-рдЬрдирд░реЗрдЯрд░ (рдЬреИрд╕реЗ рдИрдореЗрд▓ рдмреЙрдбреА рдЬреЗрдирд░реЗрд╢рди рдХреЗ рд▓рд┐рдП рдЙрд╕реА рддрд░рд╣ рдЬреИрд╕реЗ рдХрд┐ RazorGenerator .cshtml
рд▓рд┐рдП рдХрд░рддрд╛ рд╣реИ) рд╢рд╛рдорд┐рд▓ рд╣реИрдВред Blazor
рддрдХ рд╣реА рд╕реАрдорд┐рдд рдирд╣реАрдВ рд╣реИрдВред
рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд, Blazor
рджреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╣реЛрд╕реНрдЯрд┐рдВрдЧ рдореЙрдбрд▓ (WebAssembly рдФрд░ рд╕рд░реНрд╡рд░-рд╕рд╛рдЗрдб) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХреНрд▓рд╛рдЗрдВрдЯ рдкрд░ RazorComponents
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдлреНрд░реЗрдорд╡рд░реНрдХ рд╣реИред
рдореИрдВрдиреЗ рдПрдХ рдЖрд░реЗрдЦ рдЬреЛрдбрд╝рд╛ рд╣реИ рдЬреЛ рджрд┐рдЦрд╛рддрд╛ рд╣реИ рдХрд┐ рдореИрдВ рдЗрд╕реЗ рдХреИрд╕реЗ рджреЗрдЦрддрд╛ рд╣реВрдВ .. рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХрд╛ рд╕реНрд╡рд╛рдЧрдд рд╣реИ
Blazor (рдХреНрд▓рд╛рдЗрдВрдЯ-рд╕рд╛рдЗрдб w/WASM) рдФрд░ Blazor (рд╕рд░реНрд╡рд░-рд╕рд╛рдЗрдб w/.NET Core) рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд▓рдЧрддрд╛ рд╣реИ!
рджреЛрдиреЛрдВ рдХреЗ UI рдХреЗ рд▓рд┐рдП рд░реЗрдЬрд░ рдХрдВрдкреЛрдиреЗрдВрдЯреНрд╕, рдмреНрд▓реЗрдЬрд╝рд░ рдХреЗ рд╕рд╛рде рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ рд╣реЛрд╕реНрдЯрд┐рдВрдЧ рдореЙрдбрд▓ рдХреА рдкрд░рд╡рд╛рд╣ рдХрд┐рдП рдмрд┐рдирд╛ред рд╕рд░рд▓, рд╕рд╛рдл-рд╕реБрдерд░рд╛, рдФрд░ рдЬреИрд╕рд╛ рдХрд┐ рдореЗрд░реЗ рдкрд╕рдВрджреАрджрд╛ рд╣рд╛рд╕реНрдп рдХрд▓рд╛рдХрд╛рд░реЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХрд╣реЗрдВрдЧреЗ... GIT R DONE!
рдмреНрд▓реЗрдЬрд╝рд░ рдХреНрд▓рд╛рдЗрдВрдЯ рдФрд░ рд╕рд░реНрд╡рд░-рд╕рд╛рдЗрдб рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрдЪреНрдЫрд╛ рд▓рдЧрддрд╛ рд╣реИред
рдФрд░ рд╢реБрд░реБрдЖрддреА рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП, рдХреНрд▓рд╛рдЗрдВрдЯ-рд╕рд╛рдЗрдб рдФрд░ рд╕рд░реНрд╡рд░-рд╕рд╛рдЗрдб рдХреЗ рдмреАрдЪ рдХреЗ рдЕрдВрддрд░реЛрдВ рдХреЛ рд╕рдордЭрдирд╛ рдЖрд╕рд╛рди рд╣реИред
рдЬреИрд╕рд╛ рдХрд┐ рдЕрдиреНрдп рдиреЗ рдХрд╣рд╛ рд╣реИ, .blazor
(рдФрд░ "рдмреНрд▓реЗрдЬрд╝рд░ рдШрдЯрдХ" рдирд╛рдо) рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдирд┐рд╡рд╛рд░реНрдп рдХрд╛рд░рдг рд╣реИрдВред рдХреНрдпрд╛ .razor
(рдФрд░ рдЗрд╕рдХрд╛ "рд░реЗрдЬрд░ рдШрдЯрдХ" рдирд╛рдо) рд░рдЦрдиреЗ рдХреЗ рдкреАрдЫреЗ рдФрд░ рддрд░реНрдХ рд╕рд╛рдЭрд╛ рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ?
рдпрд╣ рдЗрд╕ рдмрд┐рдВрджреБ рддрдХ рддрд░реНрдХ рд╣реИ рдЬреЛ рдореБрдЭреЗ рдорд┐рд▓ рд╕рдХрддрд╛ рд╣реИ:
рд╣рдо рдШрдЯрдХреЛрдВ рдХреЗ рд▓рд┐рдП .razor рдПрдХреНрд╕рдЯреЗрдВрд╢рди рд░рдЦрдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛ рд░рд╣реЗ рд╣реИрдВред рдШрдЯрдХ рд░реЗрдЬрд░ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реЛрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд░реЗрдЬрд░ рдХрдВрдкрд╛рдЗрд▓рд░ рджреНрд╡рд╛рд░рд╛ рдШрдЯрдХреЛрдВ рдХреЛ рдЕрд▓рдЧ рддрд░рд╣ рд╕реЗ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЙрдиреНрд╣реЗрдВ рдПрдХ рдЕрд▓рдЧ рдлрд╝рд╛рдЗрд▓ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореЗрд░рд╛ рд╡рд┐рдЪрд╛рд░ рдмрд╣реБрдд рд╕рд░рд▓ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ:
const string serverSideName = "Blazor (server-side)";
const string clientSideName = "Blazor (client-side)";
string componentModel = "Razor Components";
string ext = ".razor";
if (serverSideName.Contains("Blazor") && clientSideName.Contains("Blazor"))
{
componentModel = "Blazor Components";
ext = ".blazor";
}
Console.WriteLine(componentModel);
Console.WriteLine(ext);
рд╣рдо .razor рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЛ рдХреНрдпреЛрдВ рд░рдЦрдирд╛ рдкрд╕рдВрдж рдХрд░реЗрдВрдЧреЗ рдЗрд╕рдХреЗ рдХреБрдЫ рдХрд╛рд░рдг рд╣реИрдВ:
@ danroth27 рдЬреЛ рдореБрдЭреЗ рдкрд░реЗрд╢рд╛рди рдХрд░рддрд╛ рд╣реИ рд╡рд╣ рдпрд╣ рд╣реИ рдХрд┐ рд░реЗрдЬрд░ рд╕рд┐рдВрдЯреИрдХреНрд╕ .cshtml рдФрд░ .razor рджреЛрдиреЛрдВ рдлрд╛рдЗрд▓реЛрдВ рдореЗрдВ рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рднреНрд░рдо рд╣реЛрдЧрд╛ рдХрд┐ рдХреМрди рд╕рд╛ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рд░реЗрдЬрд░ рдкреЗрдЬ/рдШрдЯрдХ/рдПрдорд╡реАрд╕реА рд╡реНрдпреВ рдХреЗ рд▓рд┐рдП рд╣реИред
рдЕрдиреНрдп рджреЛ рдмрд┐рдВрджреБ рдХрд╛рдлреА рдЙрдЪрд┐рдд рд╣реИрдВред
@ рдбреИрдирд░реЛрде27
рдирд╛рдо рдЕрднреА рднреА рд╕рдЯреАрдХ рдФрд░ рд╡рд░реНрдгрдирд╛рддреНрдордХ рд╣реИред рдПрдХ .razor рдлрд╝рд╛рдЗрд▓ рдПрдХ UI рдШрдЯрдХ рд╣реИ рдЬрд┐рд╕реЗ рд░реЗрдЬрд╝рд░ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреЗ рд╕рд╛рде рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИред
рдЗрд╕ рддрд░реНрдХ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдореБрдЭреЗ рдЬреЛ рдкрд░реЗрд╢рд╛рди рдХрд░рддрд╛ рд╣реИ рд╡рд╣ рдпрд╣ рд╣реИ рдХрд┐ .razor
рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдИрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд░, рдЬреАрд╡рди рдЪрдХреНрд░ рд╡рд┐рдзрд┐рдпреЛрдВ, рдпрд╛ рдкрд░рд┐рд╡рд░реНрддрдиреАрдп рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдЬреИрд╕реА рдЪреАрдЬрд╝реЗрдВ рд╣реЛрддреА рд╣реИрдВред рдпреЗ рдЕрд╡рдзрд╛рд░рдгрд╛рдПрдБ Blazor рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╣реИрдВ рдФрд░ рдЗрд╕рдХреЗ рдмрд╛рд╣рд░ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдВрдЧреАред рддреЛ рдЬрдмрдХрд┐ рдпрд╣ рд░реЗрдЬрд░ рд╕рд┐рдВрдЯреИрдХреНрд╕ рд╣реИ, рдпрд╣ рдЗрд╕рдХрд╛ рдПрдХ рдмрд╣реБрдд рд╣реА рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕реНрд╡рд╛рдж рд╣реИ рдЬреЛ рдХреНрд▓рд╛рдЗрдВрдЯ-рд╕рд╛рдЗрдб рд▓реЙрдЬрд┐рдХ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдмрдирд╛рддрд╛ рд╣реИред
рдпреЗ рдЪреАрдЬреЗрдВ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рд░реНрд╡рд░-рд╕рд╛рдЗрдб рдФрд░ рд╕рд░реНрд╡рд░-рд░реЗрдВрдбрд░ рдХрд┐рдП рдЧрдП "рд░реЗрдЬрд░ рдШрдЯрдХреЛрдВ" рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдВрдЧреА, рдЬреЛ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдПрдХ рдХрд╛рд▓реНрдкрдирд┐рдХ рдЪреАрдЬ рд╣реЛ рд╕рдХрддреА рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдЯреБрдХрдбрд╝реЗ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдирд╛ рд╕рд░реНрд╡рд░ рдкрд░ рднреА рдмрд╣реБрдд рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░реЗрдЧрд╛)ред
рдЗрд╕рд▓рд┐рдП рд╣рдо рдлрд╝рд╛рдЗрд▓ рдПрдХреНрд╕рдЯреЗрдВрд╢рди .razor
рдФрд░ "рд░реЗрдЬрд░ рдШрдЯрдХ" рдирд╛рдо рдХреЛ рд░реЗрдЬрд░ рдХреЗ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕реНрд╡рд╛рдж рдХреЗ рд▓рд┐рдП рд▓реЙрдХ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдЬреЛ рдХреЗрд╡рд▓ рдПрдореНрдмреЗрдбреЗрдб рдХреНрд▓рд╛рдЗрдВрдЯ-рд╕рд╛рдЗрдб рд╡реНрдпрд╡рд╣рд╛рд░ рд╡рд╛рд▓реЗ рдШрдЯрдХреЛрдВ рдХреЗ рд▓рд┐рдП рд╣реА рдХрд╛рдо рдХрд░реЗрдЧрд╛ред
@ danroth27 рд▓рдЧрднрдЧ рд╣рд░ рдХреЛрдИ (рдореЗрд░реЗ рд╕рд╣рд┐рдд) рдЗрд╕реЗ .blazor
рдмрдЬрд╛рдп .razor
рдЪрд╛рд╣рддрд╛ рд╣реИ рддреЛ рдЖрдк рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ .razor
рдХреНрдпреЛрдВ рд░рд╣рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдХреНрдпрд╛ рдЗрд╕реЗ рдмрджрд▓рдиреЗ рдореЗрдВ рдХреЛрдИ рддрдХрдиреАрдХреА рдЪреБрдиреМрддрд┐рдпрд╛рдВ рд╣реИрдВ? рдпрд╛ рдмрд╕ рдпрд╣реА рдЖрдк рдФрд░ рдЖрдкрдХреА рдЯреАрдо рдХреА рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рд╣реИ?
рдзрдиреНрдпрд╡рд╛рджред
рдЬреИрд╕рд╛ рдХрд┐ @ danroth27 рдиреЗ рдХрдИ рдЯреАрдореЛрдВ рдХреЗ рд╕рд╛рде рд╕рдордиреНрд╡рдп рдХрд░рдиреЗ рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рд╣реИ, рдореИрдВ рд╕реЛрдЪ рд╕рдХрддрд╛ рд╣реВрдВ, рд╡реАрдПрд╕ рдЯреАрдо, рд░реЗрдЬрд░ рдЯреАрдо рдЯреАрдо, рдпрд╣ рдХрд╛рдо рдХрд╛ рдПрдХ рдмрдбрд╝рд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдЯреАрдо рдХреЗ рдХрд╛рд░реНрдпреЛрдВ рдкрд░ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдкреНрд░рд╛рдердорд┐рдХрддрд╛рдПрдВ рд╣реЛрддреА рд╣реИрдВред
рдореИрдВ .razor
рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдлрд┐рдЯрд┐рдВрдЧ рджреЗрдЦ рд╕рдХрддрд╛ рд╣реВрдВ рдпрджрд┐ рдпрд╣ рдПрдХ рдЕрдзрд┐рдХ рд╕рд╛рдорд╛рдиреНрдп рдЪреАрдЬ рд╣реЛрдиреЗ рдЬрд╛ рд░рд╣реА рд╣реИ рдЬреЛ рд░реЗрдЬрд░ рдореЗрдВ рд▓рд┐рдЦреЗ рдЧрдП рдХрд┐рд╕реА рднреА рдкреНрд░рдХрд╛рд░ рдХреЗ рдШрдЯрдХреЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддреА рд╣реИ рдЬреИрд╕реЗ рдбреЗрд╕реНрдХрдЯреЙрдк рджреБрдирд┐рдпрд╛ рдореЗрдВ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдФрд░ рдирд┐рдпрдВрддреНрд░рдг рджреЛрдиреЛрдВ рдХреЗ рд▓рд┐рдП .xaml
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдХрд╣реЗрдВ рдХрд┐ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдпрджрд┐ рд╕рдВрднрд╡ рд╣реЛ рддреЛ рдЖрдк рд░реЗрдЬрд╝рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд▓рд┐рдЦреЗ рдЧрдП рдореВрд▓ UWP / xaml
рдирд┐рдпрдВрддреНрд░рдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рди рдХрд┐ html
рдЗрд▓реЗрдХреНрдЯреНрд░реЙрди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдмрд▓реНрдХрд┐ рд╡рд┐рд╢реБрджреНрдз рд░реВрдк рд╕реЗ рджреЗрд╢реА, рдХреНрдпреЛрдВрдХрд┐ рд░реЗрдЬрд╝рд░ рдХреА рдирд┐рд░реНрдорд╛рдг рдирд┐рдпрдВрддреНрд░рдг рдХреА рдЕрдирд┐рд╡рд╛рд░реНрдп рд╢реИрд▓реА .xaml's
рд▓рд┐рдП рдПрдХ рд╕рдореНрдореЛрд╣рдХ рд╡рд┐рдХрд▓реНрдк рд╣реЛ рд╕рдХрддреА рд╣реИ
рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдПрдХ рд╕реИрджреНрдзрд╛рдВрддрд┐рдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ, рдЙрд╕ рд╕рдордп рдЖрдк рдХрд╣ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рд░реЗрдЬрд░ рдШрдЯрдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдмреНрд▓реЗрдЬрд╝рд░ рд╕рдВрджрд░реНрдн рдкрд░ рдирд╣реАрдВ рд╣реИ, рдмрд▓реНрдХрд┐ рд░рд┐рдПрдХреНрдЯ рдиреЗрдЯрд┐рд╡ рдЬреИрд╕реЗ рдореВрд▓ рд╕рдВрджрд░реНрдн рдкрд░ рд╣реИ рдЬрд╣рд╛рдВ рдЪреАрдЬреЗрдВ рднрд┐рдиреНрди рд╣реЛ рд╕рдХрддреА рд╣реИрдВ рдЬреИрд╕реЗ рдИрд╡реЗрдВрдЯ рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдЕрд▓рдЧ рд╣реЛ рд╕рдХрддреА рд╣реИрдВ, рдХреБрдЫ рдмреНрд▓реЗрдЬрд╝рд░ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рд▓рд╛рдЧреВ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИрдВ рдЖрджрд┐...
рдореИрдВ рдмреНрд▓реЗрдЬрд╝рд░ рдХреЛ рдПрдХ рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ рджреЗрдЦрддрд╛ рд╣реВрдВ рдЬреЛ рд░реЗрдЬрд░ рдХрдВрдкреЛрдиреЗрдВрдЯреНрд╕ ( .razor
) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рдЬреИрд╕реЗ рдХрд┐ рдХреИрд╕реЗ рд░рд┐рдПрдХреНрдЯ рдПрдХ рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдШрдЯрдХ рд╕рдВрд░рдЪрдирд╛ рдХреЗ рд▓рд┐рдП .jsx/.tsx
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рдФрд░ .jsx/.tsx
рдпрд╣ рд╕рдВрднрд╡ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдЕрдиреНрдп рд╕рдорд╛рди рдврд╛рдВрдЪреЗ рдкрд░ рдкреНрд░рдпреЛрдЧ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рдЬреИрд╕реЗ рдХрд┐ рдХреИрд╕реЗ Vue рдФрд░ TKO .jsx/.tsx
рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реИрдВ, рдпрд╣ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдХреЗ рдХрд┐ рдмрд┐рд▓реНрдб рд╕рд┐рд╕реНрдЯрдо .jsx/.tsx
рдлрд╛рдЗрд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдХреНрдпрд╛ рдХрд░рддрд╛ рд╣реИред
рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рдЖрдкрдХреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рд╕рднреА рдХрд╛ рдзрдиреНрдпрд╡рд╛рджред рд░реЗрдЬрд░ рдШрдЯрдХреЛрдВ рдХрд╛ рдирд╛рдо рдмрджрд▓рдХрд░ рд╕рд░реНрд╡рд░-рд╕рд╛рдЗрдб рдмреНрд▓реЗрдЬрд╝рд░ рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ!
рд╣рдордиреЗ рдКрдкрд░ рд╕реВрдЪреАрдмрджреНрдз рдХрд╛рд░рдгреЛрдВ рд╕реЗ .razor рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЛ рдЫреЛрдбрд╝рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ рд╣реИред рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЗрд╕ рдирд┐рд░реНрдгрдп рдкрд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХрд╛ рдорд┐рд╢реНрд░рдг рд╣реИред рдЬрдмрдХрд┐ рд╣рдо рд╕рднреА рдЪреАрдЬреЛрдВ рдХреЗ рд▓рд┐рдП Blazor рдХреА рдЗрдЪреНрдЫрд╛ рдХреА рд╕рд░рд╛рд╣рдирд╛ рдХрд░рддреЗ рд╣реИрдВ, рд╣рдореЗрдВ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╡рд░реНрддрдорд╛рди рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ рдФрд░ рд╣рдо рдлрд╝рд╛рдЗрд▓ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдкрд░ рдордВрдерди рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп Blazor рдХреЛ рдЬрд╣рд╛рдЬ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рдХрд░рдиреЗ рдХреЗ рдЕрдкрдиреЗ рдкреНрд░рдпрд╛рд╕реЛрдВ рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░рдирд╛ рдкрд╕рдВрдж рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕ рдирд┐рд░реНрдгрдп рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП, рдореИрдВ рдЖрдЧреЗ рдмрдврд╝реВрдВрдЧрд╛ рдФрд░ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдмрдВрдж рдХрд░реВрдВрдЧрд╛ред
рдХреГрдкрдпрд╛ рд▓реЗрдмрд▓ рдлреАрдЪрд░-рдХрдВрдкреЛрдиреЗрдВрдЯреНрд╕ рдХрд╛ рдирд╛рдо рдмрджрд▓рдХрд░ рдлреАрдЪрд░-рдмреНрд▓реЗрдЬрд░ рднреА рдХрд░ рджреЗрдВред
рдбрд┐рдпрд░реНрд╕, рдореИрдВ рдмрдирд╛рдо 2019 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдореИрдВрдиреЗ рдмреНрд▓реЗрдЬрд╝рд░ рдХрд╛ рдЕрдВрддрд┐рдо рд╕рдВрд╕реНрдХрд░рдг рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рд╣реИ, рдореЗрд░реЗ рдкрд╛рд╕ рдХреЛрд░ 3 рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди 4 рд╣реИ, рдореИрдВрдиреЗ рдПрдХ рдмреНрд▓реЗрдЬрд╝рд░ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рдпрд╛ рд╣реИ, рд╕рднреА рдкреЗрдЬ рдЕрдм .cshtml рдХреЗ рдмрдЬрд╛рдп .razor рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЗ рд╕рд╛рде рд╣реИрдВ, рдореИрдВрдиреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЪрд▓рд╛рдпрд╛, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рджреЗ рд░рд╣рд╛ рдерд╛ рд▓реЛрдб рд╣реЛ рд░рд╣рд╛ рд╣реИ... Index.razor рдкреЗрдЬ рдкрд░ рдЬрд╛рдП рдмрд┐рдирд╛, рдХреГрдкрдпрд╛ рдХреЛрдИ рдорджрдж рдХрд░реЗрдВред рдЕрдЧреНрд░рд┐рдо рдореЗрдВ рдзрдиреНрдпрд╡рд╛рджред
@ImadMichaelAyoub рдХреНрдпрд╛ рдЖрдкрдХреЗ рдкрд╛рд╕ рдХрдВрд╕реЛрд▓ рдореЗрдВ рдХреЛрдИ рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рд╣реИ? рдХреНрдпрд╛ рдЖрдк рдХреНрд▓рд╛рдЗрдВрдЯ-рд╕рд╛рдЗрдб рдпрд╛ рд╕рд░реНрд╡рд░-рд╕рд╛рдЗрдб Blazor рдЪрд▓рд╛ рд░рд╣реЗ рд╣реИрдВ?
рдореИрдВ рд╕реБрдЭрд╛рд╡ рджреВрдВрдЧрд╛ рдХрд┐ рдпрд╣ рд╢рд╛рдпрдж рдЗрд╕ рдЪрд░реНрдЪрд╛ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдЕрдЪреНрдЫреА рдЬрдЧрд╣ рдирд╣реАрдВ рд╣реИред Blazor Gitter рдЪреИрдирд▓ (https://gitter.im/aspnet/Blazor) рд╕реЗ рдЬреБрдбрд╝рдирд╛ рд╢рд╛рдпрдж рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдФрд░ рд╣рдо рд╡рд╣рд╛рдВ рдЖрдкрдХреА рдорджрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдЙрддреНрддрд░ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рдореИрдВ рдХреНрд▓рд╛рдЗрдВрдЯ-рд╕рд╛рдЗрдб рдмреНрд▓реЗрдЬрд╝рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдПрдкреНрд▓рд┐рдХреЗрд╢рди wwwroot рдореЗрдВ index.html рдлрд╝рд╛рдЗрд▓ рдЪрд▓рд╛рддрд╛ рд╣реИ рдФрд░ рдкреЗрдЬ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ index.cshtml рдкрд░ рдирд╣реАрдВ рдЬрд╛ рд░рд╣рд╛ рд╣реИред
рдореИрдВ рд░реЗрдЬрд░ рдФрд░ рдмреНрд▓реЗрдЬрд╝рд░ рдХреЗ рд▓рд┐рдП рдирдпрд╛ рд╣реВрдБред рд╕рдорд╛рдзрд╛рди рдХреЗ рд▓рд┐рдП рдСрдирд▓рд╛рдЗрди рдЦреЛрдЬ рдХрд░рддреЗ рд╕рдордп рдпрд╣ рднреНрд░рдорд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рд╣реИ, рдЖрдкрдХреЛ рдмрд╣реБрдд рд╕рд╛рд░реЗ рд░реЗрдЬрд░ рдпрд╛ рдкреБрд░рд╛рдиреЗ рд╕рд╛рдорд╛рди рдорд┐рд▓рддреЗ рд╣реИрдВ рдЬреЛ рдЕрдм рд▓рд╛рдЧреВ рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВ, рдФрд░ рдЕрдзрд┐рдХ рднреНрд░рдо рдкреИрджрд╛ рдХрд░рддреЗ рд╣реИрдВред рдореИрдВ рдкрд░рд┐рд╡рд░реНрддрди рдХреЛ рдирдП рдирд╛рдо (рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ .blazor рддрдХ) рдореЗрдВ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрддреНрдпрдзрд┐рдХ рд╡реЛрдЯ рджреЗрддрд╛ рд╣реВрдВ рддрд╛рдХрд┐ рд╣рдо рдЦреЛрдЬ рд╕рдХреЗрдВ рдФрд░ рдирд╡реАрдирддрдо рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХреЗрдВред
рд╣рдо рдШрдЯрдХреЛрдВ рдХреЗ рд▓рд┐рдП .razor рдПрдХреНрд╕рдЯреЗрдВрд╢рди рд░рдЦрдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛ рд░рд╣реЗ рд╣реИрдВред рдШрдЯрдХ рд░реЗрдЬрд░ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реЛрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд░реЗрдЬрд░ рдХрдВрдкрд╛рдЗрд▓рд░ рджреНрд╡рд╛рд░рд╛ рдШрдЯрдХреЛрдВ рдХреЛ рдЕрд▓рдЧ рддрд░рд╣ рд╕реЗ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЙрдиреНрд╣реЗрдВ рдПрдХ рдЕрд▓рдЧ рдлрд╝рд╛рдЗрд▓ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред
рдХреНрдпрд╛ рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ - "рдпрд╣ рд╡рд╣реА .razor рдПрдХреНрд╕рдЯреЗрдВрд╢рди рд░рдЦрдиреЗ рдХреА рдпреЛрдЬрдирд╛ рд╣реИ .. рд▓реЗрдХрд┐рди, рдЗрд╕реЗ .razor рд╕реЗ рдЕрд▓рдЧ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рднрд▓реЗ рд╣реА рдЗрд╕рдХреА рдпреЛрдЬрдирд╛ рди рд╣реЛ"?
"рдорд╣рд╛рди рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХреА рдПрдХ рдорд╣рд╛рди рдирд╛рдо рднреНрд░рдо рдХреЗ рд╕рд╛рде рдЖрддреА рд╣реИ"
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рдЕрдЪреНрдЫрд╛ рдХрджрдо рд╣реИред рд░реЗрдЬрд░ рдХрдВрдкреЛрдиреЗрдВрдЯреНрд╕ рдФрд░ рдмреНрд▓реЗрдЬрд╝рд░ рдХреЗ рдмреАрдЪ рд╕рдВрдмрдВрдзреЛрдВ рдХреЛ рд▓реЗрдХрд░ рднреНрд░рдо рдХрд╛ рдХреЛрдИ рдЕрдВрдд рдирд╣реАрдВ рд╣реИред рдЗрд╕ рд╣рдж рддрдХ рдХрд┐ рд▓реЛрдЧреЛрдВ рдиреЗ рд╕реЛрдЪрд╛ рд╣реИ рдХрд┐ рд╡реЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдврд╛рдВрдЪреЗ рд╣реИрдВ, рди рдХрд┐ рдХреЗрд╡рд▓ рдкреНрд░рддрд┐рдкрд╛рджрди рдХреЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ рддрд░реАрдХреЗред
рд╕рд╛рде рд╣реА, рдореЗрд░реА рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░рд╛рдп рдореЗрдВ, Blazor рдПрдХ рдЕрдЪреНрдЫрд╛ рдирд╛рдо рд╣реИред