ΠΠ΅ΡΠ²ΠΎΠ½Π°ΡΠ°Π»ΡΠ½ΠΎ ΠΌΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΠ»ΠΈ ΠΌΠΎΠ΄Π΅Π»Ρ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ Π½Π° ΡΡΠΎΡΠΎΠ½Π΅ ΡΠ΅ΡΠ²Π΅ΡΠ° Blazor Π² Blazor 0.5.0, Π° Π·Π°ΡΠ΅ΠΌ ΡΠ΅ΡΠΈΠ»ΠΈ ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ Π΅Π΅ Π² .NET Core 3.0. Π§ΡΠΎΠ±Ρ ΡΠ°Π·Π»ΠΈΡΠ°ΡΡ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈΠΉ ΠΈ ΡΠ΅ΡΠ²Π΅ΡΠ½ΡΠΉ Blazor, ΠΌΡ ΡΠ΅ΡΠΈΠ»ΠΈ Π΄Π°ΡΡ ΡΠ΅ΡΠ²Π΅ΡΠ½ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π½ΠΎΠ²ΠΎΠ΅ ΠΈΠΌΡ: Razor Components. ΠΠ΄Π½Π°ΠΊΠΎ ΡΡΠΎ Π²ΡΠ·Π²Π°Π»ΠΎ Π½Π΅Π΄ΠΎΡΠΌΠ΅Π½ΠΈΠ΅.
Π§ΡΠΎΠ±Ρ ΡΡΡΡΠ°Π½ΠΈΡΡ ΡΡΡ ΠΏΡΡΠ°Π½ΠΈΡΡ, ΠΌΡ Π²Π΅ΡΠ½Π΅ΠΌΡΡ ΠΊ ΡΠΎΠΌΡ, ΡΡΠΎΠ±Ρ Π½Π°Π·ΡΠ²Π°ΡΡ ΠΌΠΎΠ΄Π΅Π»Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Blazor Ρ ΡΠ°Π·Π½ΡΠΌΠΈ ΠΌΠΎΠ΄Π΅Π»ΡΠΌΠΈ Ρ ΠΎΡΡΠΈΠ½Π³Π° . ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Blazor ΠΌΠΎΠ³ΡΡ ΡΠ°Π·ΠΌΠ΅ΡΠ°ΡΡΡΡ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅ Π² .NET Core ΠΈΠ»ΠΈ Π½Π° ΠΊΠ»ΠΈΠ΅Π½ΡΠ΅ Ρ WebAssembly. ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Blazor Π½Π° ΡΡΠΎΡΠΎΠ½Π΅ ΡΠ΅ΡΠ²Π΅ΡΠ° Π±ΡΠ΄Π΅Ρ ΠΏΠΎΡΡΠ°Π²Π»ΡΡΡΡΡ Ρ .NET Core 3.0, Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π½Π° ΡΡΠΎΡΠΎΠ½Π΅ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° ΠΏΠΎΡΠ²ΠΈΡΡΡ ΠΏΠΎΠ·ΠΆΠ΅, ΠΊΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ Π±ΡΠ΄Π΅Ρ Π³ΠΎΡΠΎΠ²Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° WebAssembly.
ΠΠ΅ΡΠ°Π»ΠΈ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ:
services.AddRazorComponents()
-> services.AddServerSideBlazor()
routes.MapComponentHub<TComponent>()
-> routes.MapBlazorHub<TComponent>()
ΠΡΠΎ ΡΡΠ²Π΅ΡΠΆΠ΄Π΅Π½Π½ΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅? ΠΠΎΠΆΠ΅ΠΌ Π»ΠΈ ΠΌΡ Π΅ΡΠ΅ ΠΏΡΠΎΠ³ΠΎΠ»ΠΎΡΠΎΠ²Π°ΡΡ?
ΠΠΈΡΠ½ΠΎ Ρ ΠΏΡΠΎΡΠΈΠ² ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π½Π°Π·Π²Π°Π½ΠΈΡ. Π― Π΄ΡΠΌΠ°Ρ, ΡΡΠΎ Razor Components - Π»ΡΡΡΠ΅Π΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅. :(
@xclud ΠΡΠΎ ΠΎΡΠΊΡΡΡΡΠΉ ΡΠΎΡΡΠΌ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΎΡΠ·ΡΠ²Ρ Π²ΡΠ΅Π³Π΄Π° ΠΏΡΠΈΠ²Π΅ΡΡΡΠ²ΡΡΡΡΡ π
ΠΡ ΠΏΠΎ-ΠΏΡΠ΅ΠΆΠ½Π΅ΠΌΡ Π±ΡΠ΄Π΅ΠΌ Π½Π°Π·ΡΠ²Π°ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ½ΡΡ ΠΌΠΎΠ΄Π΅Π»Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°ΠΌΠΈ Razor (Ρ.Π΅. ΡΠ°ΠΉΠ» .razor ΠΏΠΎ-ΠΏΡΠ΅ΠΆΠ½Π΅ΠΌΡ Π±ΡΠ΄Π΅Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠΌ Razor), Π½ΠΎ ΠΊΠΎΠ³Π΄Π° ΠΌΡ Π³ΠΎΠ²ΠΎΡΠΈΠΌ ΠΎ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΌΡ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ²Π°Π΅ΠΌ, ΡΡΠΎ ΠΈΠΌΠ΅ΡΡ ΡΠ°Π·Π½ΡΠ΅ ΠΈΠΌΠ΅Π½Π° ΠΎΡΠ΅Π½Ρ Π³ΡΠΎΠΌΠΎΠ·Π΄ΠΊΠΎ. ΠΠ° Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Blazor ΡΠΆΠ΅ Π΅ΡΡΡ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΡΠΈΠ»ΡΠ½ΡΠΉ ΠΈΠΌΠΏΡΠ»ΡΡ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΌΡ Ρ ΠΎΡΠ΅Π»ΠΈ Π±Ρ Π΅Π³ΠΎ ΠΏΡΠΈΠ΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ. ΠΠΌΠ΅Π½Π°, ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ, ΡΡΠ±ΡΠ΅ΠΊΡΠΈΠ²Π½Ρ - ΠΊΠ°ΠΊΠΎΠ΅ Π±Ρ ΠΈΠΌΡ ΠΌΡ Π½ΠΈ Π²ΡΠ±ΡΠ°Π»ΠΈ, Π½Π΅ Π²ΡΠ΅ Π±ΡΠ΄ΡΡ ΡΡΠ°ΡΡΠ»ΠΈΠ²Ρ, Π½ΠΎ Blazor, ΠΏΠΎΡ ΠΎΠΆΠ΅, ΠΏΠΎΠΊΠ° Π½Π΅ΠΏΠ»ΠΎΡ ΠΎ Π½Π°ΠΌ ΡΠ»ΡΠΆΠΈΠ».
Π― ΡΡΠΈΡΠ°Ρ, ΡΡΠΎ ΡΡΠΎ Ρ ΠΎΡΠΎΡΠΈΠΉ Ρ ΠΎΠ΄. ΠΠ΅ Π±ΡΠ»ΠΎ ΠΊΠΎΠ½ΡΠ° ΠΏΡΡΠ°Π½ΠΈΡΠ΅ Π² ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠΈ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠΉ ΠΌΠ΅ΠΆΠ΄Ρ Razor Components ΠΈ Blazor. ΠΠΎ ΡΠ°ΠΊΠΎΠΉ ΡΡΠ΅ΠΏΠ΅Π½ΠΈ, ΡΡΠΎ Π»ΡΠ΄ΠΈ Π΄ΡΠΌΠ°Π»ΠΈ, ΡΡΠΎ ΠΎΠ½ΠΈ ΡΠ°Π·Π½ΡΠ΅ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΈ, Π° Π½Π΅ ΠΏΡΠΎΡΡΠΎ ΡΠ°Π·Π½ΡΠ΅ ΡΠΏΠΎΡΠΎΠ±Ρ ΡΠ΅Π½Π΄Π΅ΡΠΈΠ½Π³Π°.
Π ΡΠΎΠΌΡ ΠΆΠ΅, Π½Π° ΠΌΠΎΠΉ Π²Π·Π³Π»ΡΠ΄, Blazor - ΠΊΠ»Π°ΡΡΠ½ΠΎΠ΅ ΠΈΠΌΡ.
ΠΠ°ΠΊ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΡΠ΅Π½Ρ ΡΠ°ΡΡΠΎ Π³ΠΎΠ²ΠΎΡΠΈΡ Ρ Π»ΡΠ΄ΡΠΌΠΈ ΠΎ Blazor. ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Razor - ΡΡΠΎ Π½Π΅ ΡΡΠΎ ΠΈΠ½ΠΎΠ΅, ΠΊΠ°ΠΊ ΠΏΡΡΠ°Π½ΠΈΡΠ°. ΠΡΠΎ ΡΠ±ΠΈΠ²Π°Π΅Ρ Ρ ΡΠΎΠ»ΠΊΡ: ΠΊΠΎΠ³Π΄Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Blazor ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ Razor Components, ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Razor Π² ΠΈΡ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠΈ ΠΊ [Razor Pages & Razor Class Libraries] ΠΈ ΡΠΏΠΎΡΡΠΊΠ°ΡΡΡΡ ΠΎ ΡΠ΅Π±Π΅, ΠΊΠΎΠ³Π΄Π° Π³ΠΎΠ²ΠΎΡΡΡ Razor / Blazor. ΠΡΠΎ ΡΠ°ΠΊΠΆΠ΅ Π·Π°ΡΡΡΠ΄Π½ΡΠ΅Ρ ΠΏΠΈΡΠ°ΡΡ ΠΎ Blazor, Π·Π°ΡΡΡΠ΄Π½ΡΠ΅Ρ ΠΏΠΎΠΈΡΠΊΠΎΠ²ΡΡ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ, Ρ ΠΌΠΎΠ³ Π±Ρ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΡ.
ΠΠ΄ΡΠ°Π²ΠΎΠΌΡΡΠ»ΠΈΠ΅ ΠΏΡΠ΅ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ! ΠΠΎΠ»ΡΡΠΎΠ΅ ΡΠΏΠ°ΡΠΈΠ±ΠΎ Π·Π° ΡΡΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅.
Π§ΡΠΎ ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡ Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡΠΌΠΈ ΡΠ°ΠΉΠ»ΠΎΠ² .razor, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΡΡΠ°Π½ΠΈΡΡ razor ΠΏΠΎ-ΠΏΡΠ΅ΠΆΠ½Π΅ΠΌΡ ΠΈΠΌΠ΅ΡΡ ΡΠΎΡΠΌΠ°Ρ .cshtml, Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ - .razor, ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π½Π°Π·ΡΠ²Π°ΡΡ Π΅Π³ΠΎ .blazor? ΠΠ»ΠΈ Π½Π°Π·ΡΠ²Π°ΡΡ ΡΡΡΠ°Π½ΠΈΡΡ razor ΡΠ°ΠΊΠΆΠ΅ .razor Π²ΠΌΠ΅ΡΡΠΎ .cshtml?
ΠΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ Π·Π°ΠΏΡΡΠ°Π½Π½ΡΠΉ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»
ΠΡ ΠΏΠ»Π°Π½ΠΈΡΡΠ΅ΠΌ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ .razor Π΄Π»Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ². ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΠΎΡΠ½ΠΎΠ²Π°Π½Ρ Π½Π° ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ Razor, Π½ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠΎΠΌ Razor ΠΏΠΎ-ΡΠ°Π·Π½ΠΎΠΌΡ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΈΠΌ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π΄ΡΡΠ³ΠΎΠ΅ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»Π°.
Π ΠΊΠ°ΠΊ Π½Π°ΡΡΠ΅Ρ ΡΠ°Π±Π»ΠΎΠ½Π°, ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½Π½ΠΎΠ³ΠΎ Π½Π° Blazor? ΠΠ»Ρ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π½Π° ΡΡΠΎΡΠΎΠ½Π΅ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° ΡΡΠΎ ΡΠ°ΠΌΡΠΉ ΠΏΡΠΎΡΡΠΎΠΉ ΡΠΏΠΎΡΠΎΠ±:
Π’Π°ΠΊ ΡΡΠΎ Ρ Π½Π°Π΄Π΅ΡΡΡ, ΡΡΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½Π½ΡΠΉ ΡΠ°Π±Π»ΠΎΠ½ Π²ΡΠ΅ Π΅ΡΠ΅ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΈΡΡΡΡΡΠ²ΠΎΠ²Π°ΡΡ.
ΠΠ½Π΅ ΡΠ°ΠΊΠΆΠ΅ Π½ΡΠ°Π²ΠΈΡΡΡ ΡΡΠΎ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ Π² "Blazor". ΠΠ°Π½ΠΊΠΎΠΌΠ°ΡΡ Π³ΠΎΠ²ΠΎΡΡΡ Ρ Π»ΡΠ΄ΡΠΌΠΈ ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°Ρ Blazor ΠΈ Razor - ΡΡΠΎ ΠΏΡΠΎΡΡΠΎ ΠΏΡΡΠ°Π½ΠΈΡΠ°.
Blazor - ΡΡΠΎ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡ Ρ (ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ) Π΄Π²ΡΠΌΡ Ρ ΠΎΡΡΠΈΠ½Π³ΠΎΠ²ΡΠΌΠΈ ΠΌΠΎΠ΄Π΅Π»ΡΠΌΠΈ. ΠΡΠ°ΠΊ, ΠΌΠ½Π΅ Π½ΡΠ°Π²ΠΈΡΡΡ Blazor!
ΠΠ΄Π½ΠΎ ΠΈΠΌΡ, ΡΡΠΎΠ±Ρ ΠΏΡΠ°Π²ΠΈΡΡ ΠΈΠΌΠΈ Π²ΡΠ΅ΠΌΠΈ. ΠΠ΄ΠΈΠ½ Blazor Ρ Π΄Π²ΡΠΌΡ ΡΠ°Π·Π½ΡΠΌΠΈ ΠΌΠΎΠ΄Π΅Π»ΡΠΌΠΈ Ρ ΠΎΡΡΠΈΠ½Π³Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎ Π»ΡΡΡΠ΅. ΠΡΠΎ ΠΈΠ·Π±Π°Π²Π»ΡΠ΅Ρ ΠΎΡ ΠΌΠ½ΠΎΠ³ΠΈΡ Π½Π΅ΠΏΡΠΈΡΡΠ½ΠΎΡΡΠ΅ΠΉ Π² Π±ΡΠ΄ΡΡΠ΅ΠΌ.
Π― ΠΏΡΠΈΠ²Π΅ΡΡΡΠ²ΡΡ ΡΡΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅! ΠΠ½Π΅ ΠΊΠ°ΠΆΠ΅ΡΡΡ, ΡΡΠΎ Π½ΠΎΠ²ΠΎΠ΅ (ΠΈΠ»ΠΈ ΡΡΠ°ΡΠΎΠ΅) Π½Π°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ Π³ΠΎΡΠ°Π·Π΄ΠΎ ΠΌΠ΅Π½Π΅Π΅ Π·Π°ΠΏΡΡΠ°Π½Π½ΠΎ.
Π― ΡΠΎΠ³Π»Π°ΡΠ΅Π½ Ρ @vertonghenb, ΡΡΠΎ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°ΡΡ Π² .blazor
. Π ΡΡΠΎΠΌ Π³ΠΎΡΠ°Π·Π΄ΠΎ Π±ΠΎΠ»ΡΡΠ΅ ΡΠΌΡΡΠ»Π°. Π .cshtml
ΠΈ .razor
ΠΈΠΌΠ΅ΡΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ Π±ΡΠΈΡΠ²Ρ, Π½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠΌΠ΅ΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΠΊΠΎΠ΄ Blazor, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ΄Π΅Π»Π°Π΅Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»Π° .blazor
Π±ΠΎΠ»Π΅Π΅ ΡΠΎΡΠ½ΡΠΌ ΠΈ ΠΌΠ΅Π½Π΅Π΅ Π΄Π²ΡΡΠΌΡΡΠ»Π΅Π½Π½ΡΠΌ ΠΠΠ₯Π.
ΠΡΠ°ΡΠΊΠΈΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ: Ρ ΡΠΎΠ³Π»Π°ΡΠ΅Π½ Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΈΠΌΠ΅Π½ΠΈ Ρ _Razor Components_ Π½Π° _Server-side Blazor_.
ΠΠ»ΠΈΠ½Π½ΡΠΉ ΠΎΡΠ²Π΅Ρ: Ρ ΡΡΠΈΡΠ°Ρ, ΡΡΠΎ ΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈΠ΅, ΠΈ ΡΠ΅ΡΠ²Π΅ΡΠ½ΡΠ΅ Β«ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡΒ» Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΈΠΌΠ΅ΡΡ ΠΎΠ΄Π½ΠΎ ΠΈ ΡΠΎ ΠΆΠ΅ ΠΈΠΌΡ, ΠΊΠ°ΠΊΠΈΠΌ Π±Ρ ΠΎΠ½ΠΎ Π½ΠΈ Π±ΡΠ»ΠΎ: Blazor, Razor Components, ASP.NET Core Components. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, React ΠΈ React Native - ΡΡΠΎ Π³ΠΎΡΠ°Π·Π΄ΠΎ Π±ΠΎΠ»Π΅Π΅ ΡΠ°Π·Π½ΡΠ΅ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ, Π½ΠΎ Ρ Π½ΠΈΡ ΠΎΠ΄Π½ΠΎ ΠΈ ΡΠΎ ΠΆΠ΅ ΠΈΠΌΡ.
ΠΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²ΠΎ Π½Π°Π·Π²Π°Π½ΠΈΡ Blazor:
ΠΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²ΠΎ Π½Π°Π·Π²Π°Π½ΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² Razor:
Π ΡΡΠΎ ΠΊΠ°ΡΠ°Π΅ΡΡΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ, ΡΡΠΎ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΡΠΎΠ³ΠΎ, Π½Π°ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°ΡΡΠΈΡΡΠ΅ΠΌΠ° ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ Razor. ΠΡΠ»ΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π² Π±ΡΠ΄ΡΡΠ΅ΠΌ Π±ΡΠ΄ΡΡ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡΡΡ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΡΡΠ°Π½ΠΈΡΡ Razore ΡΠ°ΠΊΠΆΠ΅ Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ΠΌ .razor
ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ΡΠΌΠΎΠΆΠ΅Ρ ΡΠΏΡΠ°Π²ΠΈΡΡΡΡ Ρ ΡΡΠΈΠΌ, Ρ Π±Ρ ΠΎΡΡΠ°Π²ΠΈΠ» ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ .razor
. Π ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ, ΠΊΠ°ΠΊ .xaml
extension ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ, ΡΡΡΠ°Π½ΠΈΡ, ΡΠ΅ΡΡΡΡΠΎΠ², ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
Π― Π΄ΡΠΌΠ°Ρ, ΡΡΠΎ Π²ΠΏΠΎΠ»Π½Π΅ Π΄ΠΎΡΡΠΈΠΆΠΈΠΌΠΎ. Π― Π½Π΅ Π·Π½Π°Ρ, ΠΊΠ°ΠΊΠΎΠ² ΡΠ΅ΠΊΡΡΠΈΠΉ ΡΡΠ°ΡΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ ΠΊΠΎΠ΄Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠΉ ΡΠ°ΡΡΠΈ Π΄Π»Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² Razor. ΠΠ΄Π½Π°ΠΊΠΎ, Π΅ΡΠ»ΠΈ Π΅ΡΡΡ, ΡΠΎ ΠΊΠΎΠ΄ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠΉ ΡΠ°ΡΡΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ, ΡΠ½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ Π»ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ ΠΎΡ ComponentBase ΠΈΠ»ΠΈ ΡΠ΅Π³ΠΎ-ΡΠΎ Π΅ΡΠ΅. Π ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ, ΠΊΠ°ΠΊ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡΡΡ ΡΠ°ΠΉΠ» .razor
. Π Π±Π΅Π· Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π΄Π»Ρ ΠΊΠΎΠ΄Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠΉ ΡΠ°ΡΡΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ ComponentBase, ΠΈ Π² Π±ΡΠ΄ΡΡΠ΅ΠΌ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΡΠ²ΠΈΡΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ Π±Π°Π·ΠΎΠ²ΡΠΉ ΠΊΠ»Π°ΡΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ.
ΠΠ΄Π½Π°ΠΊΠΎ, Π΅ΡΠ»ΠΈ Π±ΡΠ΄ΡΡΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ Razor Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΠ΄ΡΡ ΠΈΠΌΠ΅ΡΡ Π΄ΡΡΠ³ΠΎΠ΅ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅, ΡΠΎΠ³Π΄Π° .blazor
Π΄Π»Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² Blazor Π±ΡΠ΄Π΅Ρ Π³ΠΎΡΠ°Π·Π΄ΠΎ Π»ΡΡΡΠΈΠΌ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠΌ.
Π― ΠΎΡΠ΅Π½Ρ ΠΏΡΠΈΠ²Π΅ΡΡΡΠ²ΡΡ ΡΡΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅! ΠΠ°Π·Π²Π°Π½ΠΈΠ΅ Β«ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ RazorΒ» Π²ΡΠ΅Π³Π΄Π° Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ±ΠΈΠ²Π°Π»ΠΎ Ρ ΡΠΎΠ»ΠΊΡ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΎΠΆΠΈΠ΄Π°Π»ΠΎΡΡ, ΡΡΠΎ ΡΡΠΎ Π±ΡΠ΄Π΅Ρ ΡΠΈΡΡΠΎ ΡΠ΅ΡΠ²Π΅ΡΠ½Π°Ρ Π²Π΅ΡΡ, ΠΊΠ°ΠΊ ΠΈ Π²ΡΠ΅ ΠΎΡΡΠ°Π»ΡΠ½ΠΎΠ΅, ΡΡΠΎ Π΄Π΅Π»Π°Π΅Ρ Razor. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΎΠΆΠΈΠ΄Π°Π»ΠΎΡΡ, ΡΡΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Razor, ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π² WPF, ΡΠ²Π»ΡΡΡΡΡ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ ΡΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΡ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ° Razor Π²ΠΌΠ΅ΡΡΠΎ ΠΊΠΎΠ΄Π° (ΠΊΠ°ΠΊ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΠΏΠΎΠΌΠΎΡΠ½ΠΈΠΊΠΈ ΡΠ΅Π³ΠΎΠ²).
ΠΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π² ΡΡΠΎ, ΡΡΠ° ΠΏΡΡΠ°Π½ΠΈΡΠ° ΠΈΡΡΠ΅Π·Π½Π΅Ρ, ββΠΈ Ρ Π½Π°Ρ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π΅ΡΡΡ ΡΠ°Π½Ρ Π² ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ ΠΏΡΠΈΠ΄ΡΠΌΠ°ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½ΡΠ΅ΠΌΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Razor Π½Π° ΡΡΠΎΡΠΎΠ½Π΅ ΡΠ΅ΡΠ²Π΅ΡΠ°.
Π§ΡΠΎ ΠΊΠ°ΡΠ°Π΅ΡΡΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ .razor
, Ρ ΡΡΠΈΡΠ°Ρ, ΡΡΠΎ, ΠΊΠ°ΠΊ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅, Π±ΡΠ»ΠΎ Π±Ρ ΡΠ°Π·ΡΠΌΠ½Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²ΠΌΠ΅ΡΡΠΎ Π½Π΅Π³ΠΎ .blazor
. ΠΠ°ΡΠΊΠΎΠ»ΡΠΊΠΎ Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ, ΡΡΠΈ ΡΠ°ΠΉΠ»Ρ ΠΌΠΎΠ³ΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ ΠΊΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ ΠΆΠΈΠ·Π½Π΅ΡΠΏΠΎΡΠΎΠ±Π΅Π½ ΡΠΎΠ»ΡΠΊΠΎ Π² ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅ Blazor, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π»ΠΎΠ³ΠΈΠΊΠ° Π³Π»ΡΠ±ΠΎΠΊΠΎ ΡΠ²ΡΠ·Π°Π½Π° Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠΌ. Π― Π½Π΅ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Ρ, ΡΡΠΎ ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅, ΠΎΡΠ»ΠΈΡΠ½ΠΎΠΌ ΠΎΡ Blazor. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π΅ΡΠ»ΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Blazor Π² ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠΌ ΠΈΡΠΎΠ³Π΅ Π±ΡΠ΄ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅, Ρ Π΄ΡΠΌΠ°Ρ, ΡΡΠΎ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ .blazor
ΡΠ²Π»ΡΠ΅ΡΡΡ Π»ΡΡΡΠ΅ΠΉ ΠΈΠ΄Π΅Π΅ΠΉ Π΄Π»Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² Blazor (ΠΊΠΎΡΠΎΡΡΠ΅ Π·Π°ΡΠ΅ΠΌ ΠΌΠΎΠ³ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΊΠ°ΠΊ Π½Π° ΡΡΠΎΡΠΎΠ½Π΅ ΡΠ΅ΡΠ²Π΅ΡΠ°, ΡΠ°ΠΊ ΠΈ Π½Π° ΡΡΠΎΡΠΎΠ½Π΅ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°) .
Π― Π·Π½Π°Ρ, ΡΡΠΎ @poke ΠΈ @duracellko ΠΌΠΈΠΌΠΎΡ ΠΎΠ΄ΠΎΠΌ ΡΠΏΠΎΠΌΠΈΠ½Π°Π»ΠΈ ΡΠ΅ΡΠΌΠΈΠ½ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ blazor, Π½ΠΎ ΠΌΠ½Π΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π½ΡΠ°Π²ΠΈΡΡΡ ΡΡΠΎ Π½Π°Π·Π²Π°Π½ΠΈΠ΅. Π ΠΊΠ°ΠΊ Π½Π°ΡΡΠ΅Ρ __Blazor Components__ Π²ΠΌΠ΅ΡΡΠΎ __Blazor (Π½Π° ΡΡΠΎΡΠΎΠ½Π΅ ΡΠ΅ΡΠ²Π΅ΡΠ°) __?
ΠΠΉ. ΠΈ Ρ Π΄ΡΠΌΠ°Ρ, ΡΡΠΎ .blazor
Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΈΠΌΠ΅Π½ΠΈ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ ΡΠΎΠΆΠ΅ Ρ
ΠΎΡΠΎΡΠ°Ρ ΠΈΠ΄Π΅Ρ.
@myty Π― Π΄ΡΠΌΠ°Ρ, ΡΡΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΡΠ°Π»ΡΠ½ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Π²ΡΠ΅Π³Π΄Π° Π±ΡΠ»ΠΈ Β«ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°ΠΌΠΈ BlazorΒ» (Ρ.Π΅. Π²Ρ ΡΠΎΠ·Π΄Π°Π΅ΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Blazor). Β«Blazor (Π½Π° ΡΡΠΎΡΠΎΠ½Π΅ ΡΠ΅ΡΠ²Π΅ΡΠ°)Β» ΠΈ Β«Blazor (Π½Π° ΡΡΠΎΡΠΎΠ½Π΅ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°)Β» - ΡΡΠΎ Π΄Π²Π΅ ΡΠ°Π·Π½ΡΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ Ρ ΠΎΡΡΠΈΠ½Π³Π°, Π² ΠΊΠΎΡΠΎΡΡΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΠΎΠ΄Π½ΠΈ ΠΈ ΡΠ΅ ΠΆΠ΅ (Ρ Π΄ΡΠΌΠ°Ρ?) ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Blazor. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠ°ΠΊ Β«ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ BlazorΒ», ΡΡΠΎΠ±Ρ ΠΎΠΏΠΈΡΠ°ΡΡ, ΡΡΠΎ Π²Ρ ΡΠΎΠ·Π΄Π°Π΅ΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ, ΡΠ°ΠΊ ΠΈ Β«ΡΠ΅ΡΠ²Π΅ΡΠ½ΡΠΉ BlazorΒ», ΡΡΠΎΠ±Ρ ΠΎΠΏΠΈΡΠ°ΡΡ, ΠΊΠ°ΠΊ Π²Ρ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Blazor.
@myty Π― Π΄ΡΠΌΠ°Ρ, ΡΡΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΡΠ°Π»ΡΠ½ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Π²ΡΠ΅Π³Π΄Π° Π±ΡΠ»ΠΈ Β«ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°ΠΌΠΈ BlazorΒ» (Ρ.Π΅. Π²Ρ ΡΠΎΠ·Π΄Π°Π΅ΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Blazor). Β«Blazor (Π½Π° ΡΡΠΎΡΠΎΠ½Π΅ ΡΠ΅ΡΠ²Π΅ΡΠ°)Β» ΠΈ Β«Blazor (Π½Π° ΡΡΠΎΡΠΎΠ½Π΅ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°)Β» - ΡΡΠΎ Π΄Π²Π΅ ΡΠ°Π·Π½ΡΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ Ρ ΠΎΡΡΠΈΠ½Π³Π°, Π² ΠΊΠΎΡΠΎΡΡΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΠΎΠ΄Π½ΠΈ ΠΈ ΡΠ΅ ΠΆΠ΅ (Ρ Π΄ΡΠΌΠ°Ρ?) ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Blazor. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠ°ΠΊ Β«ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ BlazorΒ», ΡΡΠΎΠ±Ρ ΠΎΠΏΠΈΡΠ°ΡΡ, ΡΡΠΎ Π²Ρ ΡΠΎΠ·Π΄Π°Π΅ΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ, ΡΠ°ΠΊ ΠΈ Β«ΡΠ΅ΡΠ²Π΅ΡΠ½ΡΠΉ BlazorΒ», ΡΡΠΎΠ±Ρ ΠΎΠΏΠΈΡΠ°ΡΡ, ΠΊΠ°ΠΊ Π²Ρ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Blazor.
Π’ΠΎΡ ΡΠ°ΠΊΡ, ΡΡΠΎ ΡΡΠΎ Π²ΡΠ΅Π³Π΄Π° Π±ΡΠ»ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Blazor, Π±ΡΠ» ΡΠ΅ΠΌ, ΡΡΠΎ ΠΌΠ½Π΅ ΠΏΠΎΠ½ΡΠ°Π²ΠΈΠ»ΠΎΡΡ. Π‘ΠΊΠ°ΠΆΠΈΡΠ΅, ΠΊΠ°ΠΊ Π΅ΡΡΡ, ΠΈ ΡΡΠΎ ΡΠΎΠΆΠ΅ Π·Π²ΡΡΠΈΡ ΠΊΡΡΡΠΎ. :)
... Π½ΠΎ Ρ ΡΠ°ΠΊΠΆΠ΅ Π²ΠΈΠΆΡ ΠΏΡΡΠ°Π½ΠΈΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ΅ΡΠ²Π΅ΡΠ½ΠΎΠΉ ΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΎΠΉ ΡΡΠΎΡΠΎΠ½ΠΎΠΉ. Π’ΡΡΠ΄Π½ΠΎ ΡΠ°ΡΡΠΊΠ°Π·Π°ΡΡ ΠΈΡΡΠΎΡΠΈΡ, Π½Π΅ Π½Π°Π·Π²Π°Π² ΠΈΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎ.
ΠΠ°! ΠΠ°ΠΊΠΎΠ½Π΅Ρ-ΡΠΎ :) ΠΠ»Π°Π·ΠΎΡ - Π½Π°ΡΡΠΎΡΡΠ΅Π΅ ΠΈΠΌΡ.
ΡΡ Π²ΠΎΠΎΠ±ΡΠ΅ ΠΏΡΠ»Π°Π΅ΡΡ?
Π΄Π°
ΠΠ»Ρ ΠΌΠ΅Π½Ρ Blazor = WASM.
Π’Π°ΠΊ ΡΡΠΎ Β«Razor ComponentsΒ» (SignarR!) - ΡΡΠΎ ΡΠΎΠ²ΡΠ΅ΠΌ Π΄ΡΡΠ³ΠΎΠ΅. ΠΠ±ΡΡΡΠ½ΠΈΡΡ ΡΠ°Π·Π½ΠΈΡΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ: Blazor - ΡΡΠΎ WASM.
ΠΠΠ₯Π.
ΠΡΠΎ ΠΎΠ΄Π½ΠΎΠ·Π½Π°ΡΠ½ΠΎ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅. ΠΠ°ΠΆΠ΅ ΠΏΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π±ΡΠ» Π²Π²Π΅Π΄Π΅Π½ Π½ΠΎΠ²ΡΠΉ ΡΠ΅ΡΠΌΠΈΠ½ Β«ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ RazorΒ», Ρ ΠΈ ΠΌΠΎΠΈ ΠΊΠΎΠ»Π»Π΅Π³ΠΈ ΠΏΠΎ-ΠΏΡΠ΅ΠΆΠ½Π΅ΠΌΡ Π½Π°Π·ΡΠ²Π°Π΅ΠΌ Π΅Π³ΠΎ ΡΠ΅ΡΠ²Π΅ΡΠ½ΡΠΌ Blazor. Π― ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠ΅Π΄ΠΏΠΎΡΠΈΡΠ°Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ .blazor ΠΈΠ»ΠΈ ΡΡΠΎ-ΡΠΎ Π²ΡΠΎΠ΄Π΅ .component. ΠΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ Π² MVC ΡΠ°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ razor, ΠΏΠΎΡΡΠΎΠΌΡ .razor Π²Π½ΠΎΡΠΈΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΏΡΡΠ°Π½ΠΈΡΡ.
Π― Π΄ΡΠΌΠ°Ρ, ΡΡΠΎ ΠΏΠΎΠ²ΠΎΡΠΎΡ ΠΊ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² Razor ΠΎΠ±ΡΠ°ΡΠ½ΠΎ Π² Blazor - ΡΡΠΎ Ρ ΠΎΡΠΎΡΠΎ.
Π― Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π΄ΡΠΌΠ°Ρ, ΡΡΠΎ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ .razor
ΠΊΠ°ΠΊ Π½Π°Π»ΠΈΡΠΈΠ΅ Π΄Π²ΡΡ
ΡΠ°Π·Π½ΡΡ
ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠΉ, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡΠΈΡ
ΡΠ°ΠΉΠ»Ρ razor, ΡΠ±ΠΈΠ²Π°Π΅Ρ Ρ ΡΠΎΠ»ΠΊΡ. ( .cshtml
ΠΈ .razor
)
Π― Π΄ΡΠΌΠ°Ρ, ΡΡΠΎ .blazor
ΠΈΠ»ΠΈ .component
Π±ΡΠ΄ΡΡ Π»ΡΡΡΠ΅ΠΉ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²ΠΎΠΉ, ΡΠ΅ΠΌ .razor
.
Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ, ΡΡΠΎ Π²Π΅ΡΠ½ΡΠ»ΠΈ ΡΡΠΎ ΠΈΠΌΡ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ½ΡΡ ΡΡΠΎΡΠΎΠ½Ρ Blazor . Π― ΡΠ°Π΄, Π΅ΡΠ»ΠΈ ΡΠ΅ΡΡΠ½ΠΎ. Π£ ΠΌΠ΅Π½Ρ Π±ΡΠ» ΠΌΠ°Π»Π΅Π½ΡΠΊΠΈΠΉ Π»ΠΎΠ»Π²ΡΡ? ΠΌΠΎΠΌΠ΅Π½Ρ, ΠΊΠΎΠ³Π΄Π° Ρ Π²ΠΏΠ΅ΡΠ²ΡΠ΅ ΡΡΠ»ΡΡΠ°Π» ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΡ Π½Π° Razor Components .
ΠΠΈΡΠ½ΠΎ Ρ ΡΡΠΈΡΠ°Ρ, ΡΡΠΎ ΡΠ»ΠΎΠ²ΠΎ Razor Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π³ΡΡΠΆΠ΅Π½ΠΎ:
//confusing much yet?
// just kidding :)
ΠΡ ΡΠΆΠ΅ ΡΡΠ»ΠΎΠΆΠ½ΠΈΠ»ΠΈ ΠΊΠΎΠΌΡ-ΡΠΎ Π½ΠΎΠ²ΠΈΡΠΊΡ, ΠΏΡΡΠ°ΡΡΡ ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°ΡΡΡΡ Π²ΠΎ Π²ΡΠ΅Ρ ΡΡΠΈΡ Π²Π΅ΡΠ°Ρ Razor, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΡΠ°Π»ΠΈΡΡ ΠΏΠΎΠ½ΡΡΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ Π²Π°ΡΠΈΠ°Π½Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ.
ΠΠ΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΎΡΡΠ²ΡΡΠ²ΠΈΠ΅ Π½ΠΎΠ²ΠΈΡΠΊΠ°ΠΌ, Π½ΠΎ ΠΈ ΠΏΠΎΠΏΡΡΠΊΠ° ΠΎΠ±ΡΡΡΠ½ΠΈΡΡ ΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ Β«ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΡΒ» ΡΠ΅ΡΠΌΠΈΠ½ΠΎΠ»ΠΎΠ³ΠΈΡ Π² Π±ΠΎΠ»ΡΡΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ ΠΏΡΠΈ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠΈ ΠΈ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΈΠΈ (ΠΊΠ°ΠΊ / ΠΊΠΎΠ³Π΄Π° / ΡΡΠΎ) ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ.
Blazor - Ρ ΠΎΡΠΎΡΠ΅Π΅ ΠΈΠΌΡ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΌΡ ΡΠΆΠ΅ ΠΏΡΠΈΠ²ΡΠΊΠ»ΠΈ ΠΊ Π΅Π³ΠΎ Π²Π°ΡΠΈΠ°Π½ΡΠ°ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ. ΠΠΎ, Π΄Π°ΠΆΠ΅ Razor Sockets Π±ΡΠ»ΠΎ Π±Ρ Π»ΡΡΡΠ΅, ΡΠ΅ΠΌ Razor Components . :ΡΠΎΠ»Π½Π΅ΡΠ½ΡΠ΅ ΠΎΡΠΊΠΈ:
ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Ρ ΡΡΠΈΡΠ°Ρ Ρ
ΠΎΡΠΎΡΠ΅ΠΉ ΠΈΠ΄Π΅Π΅ΠΉ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ .razor
Π² .blazor
.
ΠΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ»ΠΎΠΆΠ½ΠΎ.
ΠΡΠ΄ΡΡΠ΅ ΠΏΡΠΎΡΠ΅.
-ΠΡΠ°ΠΉΠ°Π½ :)
ΠΠ½ΡΠ΅ΡΠ΅Ρ ΠΊ Razor Components, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΎΠ½ Ρ
ΠΎΡΠΎΡΠΎ ΡΠΎΡΠ΅ΡΠ°Π΅ΡΡΡ Ρ ΠΌΠΎΠΈΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠΌ, ΠΏΡΠΈΠ²Π΅Π» ΠΌΠ΅Π½Ρ ΡΡΠ΄Π°.
Π― ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ, ΠΎ ΡΠ΅ΠΌ ΠΌΡ Π³ΠΎΠ²ΠΎΡΠΈΠΌ, Π½ΠΎ ΡΠΎΡ, ΠΊΡΠΎ ΡΠΎΠ»ΡΠΊΠΎ Π½Π°ΡΠΈΠ½Π°Π΅Ρ, ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ±ΠΈΡ Ρ ΡΠΎΠ»ΠΊΡ ΠΈΠ·-Π·Π° ΡΠΎΠ³ΠΎ, ΡΡΠΎ Π½Π°Ρ
ΠΎΠ΄ΠΈΡΡΡ ΠΏΠΎΠ΄ ΠΊΠ°ΠΏΠΎΡΠΎΠΌ, ΠΈΠ·-Π·Π° Π½Π°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΡ.
ΠΡΠ»ΠΈ ΡΠ΅Π»Ρ ΡΠΎΡΡΠΎΠΈΡ Π² ΡΠΎΠΌ, ΡΡΠΎΠ±Ρ ΠΏΠΎΡΡΠ°Π²Π»ΡΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Razor ΠΏΡΠΎΡΡΠΎ ΠΊΠ°ΠΊ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π·Π°ΠΌΠ΅Π½Ρ Π³ΡΡΠ΄ΡΡΠ΅ΠΌΡ Blazor, Ρ Π±Ρ Π½Π΅ Ρ
ΠΎΡΠ΅Π», ΡΡΠΎΠ±Ρ Π΅Π³ΠΎ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΡΠ»ΠΎΡΡ.
@Mitiko Π‘Π΅ΡΠ²Π΅ΡΠ½ΡΠΉ Blazor Π½Π΅ Π±ΡΠ΄Π΅Ρ Π·Π°Π²ΠΈΡΠ΅ΡΡ ΠΎΡ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ, ΠΊΠ°ΡΠ°ΡΡΠΈΡ ΡΡ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΎΠ³ΠΎ Blazor (Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ WebAssembly). ΠΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Ρ, ΡΡΠΎ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΡΡΠ΅Π½ Π² ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ, Π²Ρ Π²ΡΠ΅ ΡΠ°Π²Π½ΠΎ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ΅ΡΠ²Π΅ΡΠ½ΡΠΉ Blazor. ΠΠ±Π΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠΌΠΎΠ³ΡΡ ΡΠΎΠ²ΠΌΠ΅ΡΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ Π²Π΅ΡΠΈ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΈΠΌΠ΅Π΅Ρ ΡΠΌΡΡΠ» ΡΠ°ΠΊΠΆΠ΅ ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°ΡΡ ΠΈΡ Ρ ΠΈΡ ΠΈΠΌΠ΅Π½Π΅ΠΌ.
ΠΠΎΡ ΠΏΠΎΡΠ΅ΠΌΡ ΡΡΠΎ Π² ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠΌ ΠΈΡΠΎΠ³Π΅ ΡΠ±ΠΈΠ²Π°Π΅Ρ Ρ ΡΠΎΠ»ΠΊΡ. ΠΠΎΠ³Π΄Π° Ρ Π²Π°Ρ Π΅ΡΡΡ Π»ΠΎΠ³ΠΈΠΊΠ°, ΠΊΠΎΡΠΎΡΠΎΠΉ Π²ΡΠ΅ ΡΠ°Π²Π½ΠΎ, Π³Π΄Π΅ ΠΎΠ½Π° ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½Π°, ΠΊΠ°ΠΊ ΠΎΠ½Π° Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ? ΠΠ°ΡΠ΅ΠΌ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ Π²ΠΎΠ»ΡΠ΅Π±Π½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΌΠ΅Π½ΡΠ΅Ρ ΠΈΠΌΠ΅Π½Π° Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊΡΡ Β«ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΡΒ» Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅. ΠΡΠΎΡΡΠΎ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ ΡΠΌΡΡΠ»Π° ΠΈΠΌΠ΅ΡΡ Π΄Π²Π° ΠΈΠΌΠ΅Π½ΠΈ. ΠΠΎ ΠΏΠΎΠ²ΠΎΠ΄Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎ Π΄ΡΠΌΠ°Π΅Ρ @poke , ΡΠΌΠΎΡΡΠΈΡΠ΅ Π²ΠΈΠ΄Π΅ΠΎ Π½ΠΈΠΆΠ΅: @Mitiko
Π ΠΊΠ°ΠΊ Π½Π°ΡΡΠ΅Ρ ΡΠ°Π±Π»ΠΎΠ½Π°, ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½Π½ΠΎΠ³ΠΎ Π½Π° Blazor?
@ghidello ΠΡΠ΅ ΠΎΡΡΠ°Π΅ΡΡΡ ΠΊΠ°ΠΊ Π΅ΡΡΡ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π±ΡΠ΄Π΅Ρ ΡΡΠΈ ΡΠ°Π±Π»ΠΎΠ½Π° Blazor: Π°Π²ΡΠΎΠ½ΠΎΠΌΠ½ΡΠΉ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈΠΉ, ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½Π½ΡΠΉ Π½Π° ASP.NET Core ΠΈ ΡΠ΅ΡΠ²Π΅ΡΠ½ΡΠΉ.
Π― ΡΠ°Π΄ ΡΡΠΎ Π²ΠΈΠ΄Π΅ΡΡ. ΠΠ°ΠΊ Π²Ρ ΡΠΊΠ°Π·Π°Π»ΠΈ, Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΈ Π΄Π²ΠΈΠΆΡΡΡΡ ΡΠΈΠ»Ρ, ΠΈ Π΄Π»Ρ ΠΌΠ΅Π½Ρ ΠΎΠ½ΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΠΎΠ±Π΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΏΡΠΎΠ΄Π²ΠΈΠ³Π°ΡΡΡΡ Π²ΠΏΠ΅ΡΠ΅Π΄ ΠΏΡΠΈ ΡΠΈΠ»ΡΠ½ΠΎΠΉ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ΅.
ΠΠΠ, Π²Ρ ΡΠ°ΠΊΠΆΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ Π½Π°Π·Π²Π°ΡΡ ΠΈΠΌΡ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°, ΡΡΠΎΠ±Ρ ΡΡΡΠ»Π°ΡΡΡΡ Π½Π° Blazor, Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ / Π΄Π²ΠΈΠΆΠΎΠΊ Razor. ΠΡΠΎ ΠΏΡΠΎΡΡΠΎ ΡΠ΄Π΅Π»Π°Π»ΠΎ Π±Ρ Π΅Π³ΠΎ Π±ΠΎΠ»Π΅Π΅ ΡΠΏΠ»ΠΎΡΠ΅Π½Π½ΡΠΌ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΡΠΌ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ Ρ ΡΠ°Π·ΡΠΌΠ½ΡΠΌ Π½Π°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ.
Π§ΡΠΎ Π½Π°ΡΡΠ΅Ρ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΈΠΌΠ΅Π½ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ²? ΠΠ³ΠΎ ΡΠΎΠΆΠ΅ Π½Π°Π΄ΠΎ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°ΡΡ.
Π ΡΠ°ΠΉΠ»Ρ .razor Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ .blazor, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΠ½ΠΈ ΡΠ²ΡΠ·Π°Π½Ρ Ρ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠ΅ΠΉ Blazor. Π ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΈΡ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈ Π΄Π»Ρ ΠΎΠ±ΡΡΠ½ΠΎΠ³ΠΎ Razor Mvc.
ΠΡΠ΅ Π΅ΡΠ΅ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π·Π°ΠΏΡΡΠ°Π»ΡΡ Π² ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ²:
ΠΡΠ°ΠΊ, Π΅ΡΠ»ΠΈ Ρ ΡΠΎΠ·Π΄Π°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ², ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΊΠ°ΠΊ Ρ ΡΠ΅ΡΠ²Π΅ΡΠ½ΠΎΠΉ, ΡΠ°ΠΊ ΠΈ Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΎΠΉ ΡΡΠΎΡΠΎΠ½ΠΎΠΉ Blazor, ΠΌΠΎΠ³Ρ Π»ΠΈ Ρ Π½Π°Π·ΡΠ²Π°ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Β«ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°ΠΌΠΈ BlazorΒ» ΠΈΠ»ΠΈ Β«ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°ΠΌΠΈ RazorΒ»?
@egil ΠΡΡ ΠΎΠ΄Ρ ΠΈΠ· ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΡΠΊΠ°Π·Π°Π» ΠΡΠ½ Π ΠΎΡ Π²ΡΡΠ΅, ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ ΠΏΠΎ-ΠΏΡΠ΅ΠΆΠ½Π΅ΠΌΡ Π±ΡΠ΄Π΅Ρ Π½Π°Π·ΡΠ²Π°ΡΡΡΡ Razor Component.
ΠΡ ΠΏΠΎ-ΠΏΡΠ΅ΠΆΠ½Π΅ΠΌΡ Π±ΡΠ΄Π΅ΠΌ Π½Π°Π·ΡΠ²Π°ΡΡ ΠΌΠΎΠ΄Π΅Π»Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°ΠΌΠΈ Razor (Ρ.Π΅. ΡΠ°ΠΉΠ» .razor ΠΏΠΎ-ΠΏΡΠ΅ΠΆΠ½Π΅ΠΌΡ Π±ΡΠ΄Π΅Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠΌ Razor).
ΠΠΎΠ±Π°Π²Π»ΡΡ ΡΠ²ΠΎΠΉ Π³ΠΎΠ»ΠΎΡ ΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ΠΈΡ ΡΡΠΎΠ³ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ.
ΠΠ° ΠΌΠΎΠΉ Π²Π·Π³Π»ΡΠ΄, RazorComponent
- ΡΡΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ C #, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΠΉ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ° Razor ΠΈ ΠΊΠΎΠ΄Π° C #. ΠΡ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ RazorComponents
Π² ΡΠΈΡΠΎΠΊΠΎΠΌ ΡΠΏΠ΅ΠΊΡΡΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ², Π²ΠΊΠ»ΡΡΠ°Ρ Blectron
(ΠΊΠ°ΠΊ Π² Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠ°ΡΠΈΠΈ StorageExplorer), HTML-Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π»Ρ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΡΠ΅Π»Π° ΠΏΠΈΡΡΠΌΠ° ΡΠ°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ RazorGenerator Π΄Π΅Π»Π°Π΅Ρ Π΄Π»Ρ .cshtml
content. ΠΠ½ΠΈ Π½Π΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°ΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Blazor
.
ΠΠ°ΠΏΡΠΎΡΠΈΠ², Blazor
- ΡΡΠΎ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ RazorComponents
Π½Π° ΠΊΠ»ΠΈΠ΅Π½ΡΠ΅, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π΄Π²Π΅ ΡΠ°Π·Π½ΡΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ Ρ
ΠΎΡΡΠΈΠ½Π³Π° (WebAssembly ΠΈ ΡΠ΅ΡΠ²Π΅ΡΠ½ΡΡ).
Π― Π΄ΠΎΠ±Π°Π²ΠΈΠ» Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΌΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΠΊΠ°ΠΊ Ρ ΡΡΠΎ Π²ΠΈΠΆΡ .. ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΏΡΠΈΠ²Π΅ΡΡΡΠ²ΡΡΡΡΡ
Blazor (Π½Π° ΡΡΠΎΡΠΎΠ½Π΅ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° Ρ WASM) ΠΈ Blazor (Π½Π° ΡΡΠΎΡΠΎΠ½Π΅ ΡΠ΅ΡΠ²Π΅ΡΠ° Ρ .NET Core) Π·Π²ΡΡΠΈΡ Π²Π΅Π»ΠΈΠΊΠΎΠ»Π΅ΠΏΠ½ΠΎ!
ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Razor Π΄Π»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΠΎΠ±ΠΎΠΈΡ , Ρ Blazor Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΎΡΠ½ΠΎΠ²Ρ Π΄Π»Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ. ΠΡΠΎΡΡΠΎ, ΡΠΈΡΡΠΎ, ΠΈ, ΠΊΠ°ΠΊ ΡΠΊΠ°Π·Π°Π» Π±Ρ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΌΠΎΠΈΡ Π»ΡΠ±ΠΈΠΌΡΡ ΠΊΠΎΠΌΠΈΠΊΠΎΠ² .... GIT R DONE!
ΠΠ»ΠΈΠ΅Π½ΡΡΠΊΠ°Ρ ΠΈ ΡΠ΅ΡΠ²Π΅ΡΠ½Π°Ρ ΡΡΠΎΡΠΎΠ½Ρ Blazor Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ Ρ
ΠΎΡΠΎΡΠΈ.
Π Π½ΠΎΠ²ΠΈΡΠΊΠ°ΠΌ Π»Π΅Π³ΡΠ΅ ΠΏΠΎΠ½ΡΡΡ ΡΠ°Π·Π½ΠΈΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΎΠΉ ΠΈ ΡΠ΅ΡΠ²Π΅ΡΠ½ΠΎΠΉ ΡΠ°ΡΡΡΡ.
ΠΠ°ΠΊ ΡΠΆΠ΅ Π³ΠΎΠ²ΠΎΡΠΈΠ»ΠΈ Π΄ΡΡΠ³ΠΈΠ΅, Π΅ΡΡΡ Π²Π΅ΡΠΊΠΈΠ΅ ΠΏΡΠΈΡΠΈΠ½Ρ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅ΡΡ .blazor
(ΠΈ ΠΈΠΌΡ Β«ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° BlazorΒ»). ΠΠΎΠΆΠ½ΠΎ Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΠ΅ ΠΎΠ±ΡΡΡΠ½Π΅Π½ΠΈΠ΅ ΡΠΎΡ
ΡΠ°Π½Π΅Π½ΠΈΡ .razor
(ΠΈ Π΅Π³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ "ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° Razor")?
ΠΠΎ ΡΠΈΡ ΠΏΠΎΡ Ρ ΠΌΠΎΠ³ Π½Π°ΠΉΡΠΈ ΡΠ°ΠΊΠΎΠ΅ ΠΎΠ±ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈΠ΅:
ΠΡ ΠΏΠ»Π°Π½ΠΈΡΡΠ΅ΠΌ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ .razor Π΄Π»Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ². ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΠΎΡΠ½ΠΎΠ²Π°Π½Ρ Π½Π° ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ 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 ΠΠ΅Π½Ρ Π±Π΅ΡΠΏΠΎΠΊΠΎΠΈΡ ΡΠΎ, ΡΡΠΎ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ Razor ΠΏΡΠΈΡΡΡΡΡΠ²ΡΠ΅Ρ ΠΊΠ°ΠΊ Π² ΡΠ°ΠΉΠ»Π°Ρ .cshtml, ΡΠ°ΠΊ ΠΈ .razor. Π― Π΄ΡΠΌΠ°Ρ, Π²ΠΎΠ·Π½ΠΈΠΊΠ½Π΅Ρ ΠΏΡΡΠ°Π½ΠΈΡΠ°, ΠΊΠ°ΠΊΠΎΠ΅ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΠΊΠ°ΠΊΠΎΠ³ΠΎ Π²ΠΈΠ΄Π° Razor Page / Component / MVC.
ΠΡΡΠ°Π»ΡΠ½ΡΠ΅ Π΄Π²Π° ΠΏΡΠ½ΠΊΡΠ° Π²ΠΏΠΎΠ»Π½Π΅ ΡΠΏΡΠ°Π²Π΅Π΄Π»ΠΈΠ²Ρ.
@ danroth27
ΠΠ°Π·Π²Π°Π½ΠΈΠ΅ ΠΏΠΎ-ΠΏΡΠ΅ΠΆΠ½Π΅ΠΌΡ ΡΠΎΡΠ½ΠΎΠ΅ ΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠ²Π½ΠΎΠ΅. Π€Π°ΠΉΠ» .razor - ΡΡΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΠΉ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ° Razor.
Π ΡΡΠΎΠΌ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ΅ ΠΌΠ΅Π½Ρ Π±Π΅ΡΠΏΠΎΠΊΠΎΠΈΡ ΡΠΎ, ΡΡΠΎ ΡΠ°ΠΉΠ» .razor
ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠ°ΠΊΠΈΠ΅ Π²Π΅ΡΠΈ, ΠΊΠ°ΠΊ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΡΠΎΠ±ΡΡΠΈΠΉ, ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΆΠΈΠ·Π½Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠΈΠΊΠ»Π° ΠΈΠ»ΠΈ ΠΏΡΠΈΠ²ΡΠ·ΠΊΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
. ΠΡΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΈ ΠΎΡΠ΅Π½Ρ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½Ρ Π΄Π»Ρ Blazor ΠΈ Π½Π΅ Π±ΡΠ΄ΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π²Π½Π΅ Π΅Π³ΠΎ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Ρ
ΠΎΡΡ ΡΡΠΎ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ Razor, ΡΡΠΎ ΠΎΡΠ΅Π½Ρ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΠ°Π·Π½ΠΎΠ²ΠΈΠ΄Π½ΠΎΡΡΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π»ΠΎΠ³ΠΈΠΊΡ Π½Π° ΡΡΠΎΡΠΎΠ½Π΅ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°.
ΠΡΠΈ Π²Π΅ΡΠΈ Π½Π΅ Π±ΡΠ΄ΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π΄Π»Ρ Β«ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² RazorΒ» ΠΈΡΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π½Π° ΡΡΠΎΡΠΎΠ½Π΅ ΡΠ΅ΡΠ²Π΅ΡΠ° ΠΈ Ρ ΡΠ΅Π½Π΄Π΅ΡΠΈΠ½Π³ΠΎΠΌ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅, ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π³ΠΈΠΏΠΎΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΡΠ²Π»Π΅Π½ΠΈΠ΅ΠΌ Π² Π±ΡΠ΄ΡΡΠ΅ΠΌ (ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠ°Π³ΠΌΠ΅Π½ΡΡ ΡΠ΅Π½Π΄Π΅ΡΠΈΠ½Π³Π° Π±ΡΠ΄ΡΡ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ Ρ ΠΎΡΠΎΡΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΈ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅).
ΠΠΎΡΡΠΎΠΌΡ ΠΌΡ Π±Π»ΠΎΠΊΠΈΡΡΠ΅ΠΌ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»Π° .razor
ΠΈ ΠΈΠΌΡ Β«ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ RazorΒ» Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π²Π°ΡΠΈΠ°Π½ΡΠ° Razor, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² ΡΠΎ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΌ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ Π½Π° ΡΡΠΎΡΠΎΠ½Π΅ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°.
@ danroth27 ΠΠΎΡΡΠΈ Π²ΡΠ΅ (Π²ΠΊΠ»ΡΡΠ°Ρ ΠΌΠ΅Π½Ρ) Ρ
ΠΎΡΡΡ, ΡΡΠΎΠ±Ρ ΡΡΠΎ .blazor
Π²ΠΌΠ΅ΡΡΠΎ .razor
ΡΠΎΠ³Π΄Π° ΠΏΠΎΡΠ΅ΠΌΡ Π²Ρ Ρ
ΠΎΡΠΈΡΠ΅ ΠΏΡΠΈΠ΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ .razor
ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡΠ°Π»ΡΠ½ΠΎ. ΠΡΡΡ Π»ΠΈ ΠΊΠ°ΠΊΠΈΠ΅-Π½ΠΈΠ±ΡΠ΄Ρ ΡΠ΅Ρ
Π½ΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ, ΡΡΠΎΠ±Ρ ΡΡΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ? ΠΈΠ»ΠΈ ΡΡΠΎ ΠΏΡΠ΅Π΄ΠΏΠΎΡΡΠ΅Π½ΠΈΠ΅ Π²Ρ ΠΈ Π²Π°ΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π°?
Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ.
ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ @ danroth27 ΡΠΏΠΎΠΌΡΠ½ΡΠ» ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΈΡ Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ, Ρ ΠΌΠΎΠ³Ρ Π΄ΡΠΌΠ°ΡΡ ΠΎ VS Team, Razor team team, ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΊΡΡΠΎΠΊ ΡΠ°Π±ΠΎΡΡ, Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΡΠ°Π·Π½ΡΠ΅ ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΡ ΠΏΠΎ Π·Π°Π΄Π°ΡΠ°ΠΌ.
Π― ΠΌΠΎΠ³Ρ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠΊΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ .razor
Π΅ΡΠ»ΠΈ ΡΡΠΎ Π±ΡΠ΄Π΅Ρ Π±ΠΎΠ»Π΅Π΅ ΠΎΠ±ΡΠ°Ρ Π²Π΅ΡΡ, ΠΎΠΏΠΈΡΡΠ²Π°ΡΡΠ°Ρ Π»ΡΠ±ΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΠ΅ Π² Razor, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠ°ΠΊ .xaml
ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ Π΄Π»Ρ ΡΠ΅ΡΡΡΡΠΎΠ², ΡΠ°ΠΊ ΠΈ Π΄Π»Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π² ΠΌΠΈΡΠ΅ ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ ΡΡΠΎΠ»Π°.
Π‘ΠΊΠ°ΠΆΠ΅ΠΌ, Π΅ΡΠ»ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π² Π±ΡΠ΄ΡΡΠ΅ΠΌ Π²Ρ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ UWP / xaml
ΡΠΎΠ·Π΄Π°Π½Π½ΡΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ razor, Π° Π½Π΅ html
ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ»Π΅ΠΊΡΡΠΎΠ½ΠΎΠ², Π° ΡΠΈΡΡΠΎ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠ΅, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΈΠΌΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΡΠΉ ΡΡΠΈΠ»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ razor ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ±Π΅Π΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²ΠΎΠΉ Π΄Π»Ρ .xaml's
Π’Π΅ΠΊΡΡΠΈΠΉ Π΄Π΅ΠΊΠ»Π°ΡΠ°ΡΠΈΠ²Π½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± Π΄Π΅Π»Π°ΡΡ ΡΡΠΎ-ΡΠΎ (ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° razor Π΄Π»Ρ ΠΏΠΎΡΠΎΠΊΠΎΠ² ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ C #).
ΠΡΠΎ ΡΠ΅ΠΎΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΏΡΠΈΠΌΠ΅Ρ, Ρ ΠΎΡΡ Π½Π° ΡΡΠΎΠΌ ΡΡΠ°ΠΏΠ΅ Π²Ρ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ ΡΠΊΠ°Π·Π°ΡΡ, ΡΡΠΎ ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Razor, Π½ΠΎ Π½Π΅ Π² ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅ Blazor, Π° Π² ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠΌ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅, ΡΠ°ΠΊΠΎΠΌ ΠΊΠ°ΠΊ React Native, Π³Π΄Π΅ Π²Π΅ΡΠΈ ΠΌΠΎΠ³ΡΡ ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ°Π·Π½ΡΠ΅ ΠΏΡΠΈΠ²ΡΠ·ΠΊΠΈ ΡΠΎΠ±ΡΡΠΈΠΉ, Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π°ΡΡΠΈΠ±ΡΡΡ Blazor Π½Π΅ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠΌΡ. ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅...
Π― ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Ρ Blazor ΠΊΠ°ΠΊ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Razor ( .razor
), Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠ°ΠΊ React ΠΊΠ°ΠΊ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ .jsx/.tsx
Π΄Π»Ρ ΡΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ², ΠΈ ΠΊΠ°ΠΊ .jsx/.tsx
, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΡΡΠΎ Π±ΡΠ΄Π΅Ρ ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π² Π΄ΡΡΠ³ΠΈΡ
ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ
ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ°Ρ
, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠ°ΠΊ Vue ΠΈ TKO ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ .jsx/.tsx
ΠΏΡΡΠ΅ΠΌ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΡΠΈΡΡΠ΅ΠΌΠ° ΡΠ±ΠΎΡΠΊΠΈ Π΄Π΅Π»Π°Π΅Ρ Ρ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ .jsx/.tsx
.
Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ Π²ΡΠ΅ΠΌ Π·Π° ΠΎΡΠ·ΡΠ²Ρ ΠΏΠΎ ΡΡΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ΅. ΠΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² Razor ΠΎΠ±ΡΠ°ΡΠ½ΠΎ Π² ΡΠ΅ΡΠ²Π΅ΡΠ½ΠΎΠ΅ Blazor Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΎ!
ΠΡ ΡΠ΅ΡΠΈΠ»ΠΈ ΠΎΡΡΠ°Π²ΠΈΡΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ .razor ΠΊΠ°ΠΊ Π΅ΡΡΡ ΠΏΠΎ ΠΏΡΠΈΡΠΈΠ½Π°ΠΌ, ΡΠΊΠ°Π·Π°Π½Π½ΡΠΌ Π²ΡΡΠ΅ . Π£ Π½Π°Ρ Π΅ΡΡΡ ΡΠ°Π·Π½ΡΠ΅ ΠΎΡΠ·ΡΠ²Ρ ΠΎΠ± ΡΡΠΎΠΌ ΡΠ΅ΡΠ΅Π½ΠΈΠΈ. Π₯ΠΎΡΡ ΠΌΡ ΡΠ΅Π½ΠΈΠΌ ΠΆΠ΅Π»Π°Π½ΠΈΠ΅ Blazor Π²ΡΠ΅ Π²Π΅ΡΠΈ, ΠΌΡ ΡΡΠΈΡΠ°Π΅ΠΌ, ΡΡΠΎ ΡΠ΅ΠΊΡΡΠ΅Π΅ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ ΡΠ²Π»ΡΠ΅ΡΡΡ Π°Π΄Π΅ΠΊΠ²Π°ΡΠ½ΡΠΌ, ΠΈ ΠΏΡΠ΅Π΄ΠΏΠΎΡΠΈΡΠ°Π΅ΠΌ ΡΠΎΡΡΠ΅Π΄ΠΎΡΠΎΡΠΈΡΡ Π½Π°ΡΠΈ ΡΡΠΈΠ»ΠΈΡ Π½Π° ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠ΅ Blazor ΠΊ Π²ΡΠΏΡΡΠΊΡ, Π° Π½Π΅ Π½Π° Π²Π·Π±Π°Π»ΡΡΠ²Π°Π½ΠΈΠΈ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ ΡΠ°ΠΉΠ»Π°. Π£ΡΠΈΡΡΠ²Π°Ρ ΡΡΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅, Ρ ΡΠΎΠ±ΠΈΡΠ°ΡΡΡ Π·Π°ΠΊΡΡΡΡ ΡΡΠΎΡ Π²ΠΎΠΏΡΠΎΡ.
Π’Π°ΠΊΠΆΠ΅ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΡΠΉΡΠ΅ ΠΌΠ΅ΡΠΊΡ feature-Components Π² feature-Blazor.
Π£Π²Π°ΠΆΠ°Π΅ΠΌΡΠ΅, Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ vs 2019, Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠ» ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ Π²Π΅ΡΡΠΈΡ Blazor, Ρ ΠΌΠ΅Π½Ρ Π΅ΡΡΡ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΠΏΡΠΎΡΠΌΠΎΡΡ ΡΠ΄ΡΠ° 3 4, Ρ ΡΠΎΠ·Π΄Π°Π» ΠΏΡΠΎΠ΅ΠΊΡ Blazor, Π²ΡΠ΅ ΡΡΡΠ°Π½ΠΈΡΡ ΡΠ΅ΠΏΠ΅ΡΡ Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ΠΌ .razor Π²ΠΌΠ΅ΡΡΠΎ .cshtml, Ρ Π·Π°ΠΏΡΡΡΠΈΠ» ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π½ΠΎ Π΄Π°Π» ΠΌΠ½Π΅ ΠΠ°Π³ΡΡΠ·ΠΊΠ° ... Π±Π΅Π· ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Π° Π½Π° ΡΡΡΠ°Π½ΠΈΡΡ Index.razor, ΠΏΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, ΠΏΠΎΠΌΠΎΠ³ΠΈΡΠ΅. ΠΠ°ΡΠ°Π½Π΅Π΅ ΡΠΏΠ°ΡΠΈΠ±ΠΎ.
@ImadMichaelAyoub ΠΡΡΡ Π»ΠΈ Ρ Π²Π°Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ°Ρ Π² ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ? ΠΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ Blazor Π½Π° ΡΡΠΎΡΠΎΠ½Π΅ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° ΠΈΠ»ΠΈ Π½Π° ΡΡΠΎΡΠΎΠ½Π΅ ΡΠ΅ΡΠ²Π΅ΡΠ°?
Π― Π±Ρ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠ», ΡΡΠΎ ΡΡΠΎ, Π²Π΅ΡΠΎΡΡΠ½ΠΎ, Π½Π΅ Π»ΡΡΡΠ΅Π΅ ΠΌΠ΅ΡΡΠΎ Π΄Π»Ρ ΠΎΠ±ΡΡΠΆΠ΄Π΅Π½ΠΈΡ. ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π»ΡΡΡΠ΅ Π²ΡΠ΅Π³ΠΎ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡΡΡΡ ΠΊ ΠΊΠ°Π½Π°Π»Ρ Blazor Gitter (https://gitter.im/aspnet/Blazor), ΠΈ ΠΌΡ ΡΠΌΠΎΠΆΠ΅ΠΌ Π²Π°ΠΌ ΠΏΠΎΠΌΠΎΡΡ.
Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ Π·Π° ΠΎΡΠ²Π΅Ρ. Π― ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈΠΉ Blazor. ΠΠ°ΠΆΠ΅ΡΡΡ, ΡΡΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π·Π°ΠΏΡΡΠΊΠ°Π΅Ρ ΡΠ°ΠΉΠ» index.html Π² wwwroot ΠΈ Π½Π΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°Π΅ΡΡΡ Π² index.cshtml Π² ΠΏΠ°ΠΏΠΊΠ΅ ΡΡΡΠ°Π½ΠΈΡ.
Π― Π½ΠΎΠ²ΠΈΡΠΎΠΊ Π² Razor ΠΈ Blazor. ΠΡΠΎ ΡΠ±ΠΈΠ²Π°Π΅Ρ Ρ ΡΠΎΠ»ΠΊΡ, ΠΊΠΎΠ³Π΄Π° Π²Ρ ΠΈΡΠ΅ΡΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π² ΠΠ½ΡΠ΅ΡΠ½Π΅ΡΠ΅, Π²Ρ ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΠ΅ ΡΠΎΠ½Π½Ρ Π±ΡΠΈΡΠ²Ρ ΠΈΠ»ΠΈ ΡΡΠ°ΡΡΡ Π²Π΅ΡΠ΅ΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ, ΡΡΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ Π±ΠΎΠ»ΡΡΠ΅ ΠΏΡΡΠ°Π½ΠΈΡΡ. Π― Π²ΡΡΠΎΠΊΠΎ ΠΎΡΠ΅Π½ΠΈΠ²Π°Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π½ΠΈ Π½Π° Π½ΠΎΠ²ΠΎΠ΅ (Π΄Π°ΠΆΠ΅ Π½Π° .blazor), ΡΡΠΎΠ±Ρ ΠΌΡ ΠΌΠΎΠ³Π»ΠΈ ΠΈΡΠΊΠ°ΡΡ ΠΈ ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΡΡΠΈ.
ΠΡ ΠΏΠ»Π°Π½ΠΈΡΡΠ΅ΠΌ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ .razor Π΄Π»Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ². ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΠΎΡΠ½ΠΎΠ²Π°Π½Ρ Π½Π° ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ Razor, Π½ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠΎΠΌ Razor ΠΏΠΎ-ΡΠ°Π·Π½ΠΎΠΌΡ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΈΠΌ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π΄ΡΡΠ³ΠΎΠ΅ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»Π°.
ΠΠ·Π½Π°ΡΠ°Π΅Ρ Π»ΠΈ ΡΡΠΎ - Β«ΠΠ»Π°Π½ΠΈΡΡΠ΅ΡΡΡ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ ΡΠ°ΠΊΠΎΠ΅ ΠΆΠ΅ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ .razor ... Π½ΠΎ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π΄ΡΡΠ³ΠΎΠ΅ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅, ΡΠ΅ΠΌ .razor, Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ ΠΎΠ½ΠΎ Π½Π΅ ΠΏΠ»Π°Π½ΠΈΡΡΠ΅ΡΡΡΒ»?
Β«ΠΠ΅Π»ΠΈΠΊΠΈΠ΅ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΡΠΎΠΏΡΠΎΠ²ΠΎΠΆΠ΄Π°ΡΡΡΡ Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΏΡΡΠ°Π½ΠΈΡΠ΅ΠΉ Π² Π½Π°Π·Π²Π°Π½ΠΈΡΡ Β»
Π‘Π°ΠΌΡΠΉ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ
Π― ΡΡΠΈΡΠ°Ρ, ΡΡΠΎ ΡΡΠΎ Ρ ΠΎΡΠΎΡΠΈΠΉ Ρ ΠΎΠ΄. ΠΠ΅ Π±ΡΠ»ΠΎ ΠΊΠΎΠ½ΡΠ° ΠΏΡΡΠ°Π½ΠΈΡΠ΅ Π² ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠΈ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠΉ ΠΌΠ΅ΠΆΠ΄Ρ Razor Components ΠΈ Blazor. ΠΠΎ ΡΠ°ΠΊΠΎΠΉ ΡΡΠ΅ΠΏΠ΅Π½ΠΈ, ΡΡΠΎ Π»ΡΠ΄ΠΈ Π΄ΡΠΌΠ°Π»ΠΈ, ΡΡΠΎ ΠΎΠ½ΠΈ ΡΠ°Π·Π½ΡΠ΅ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΈ, Π° Π½Π΅ ΠΏΡΠΎΡΡΠΎ ΡΠ°Π·Π½ΡΠ΅ ΡΠΏΠΎΡΠΎΠ±Ρ ΡΠ΅Π½Π΄Π΅ΡΠΈΠ½Π³Π°.
Π ΡΠΎΠΌΡ ΠΆΠ΅, Π½Π° ΠΌΠΎΠΉ Π²Π·Π³Π»ΡΠ΄, Blazor - ΠΊΠ»Π°ΡΡΠ½ΠΎΠ΅ ΠΈΠΌΡ.