рдЖрдЬ Xamarin рдбреЗрд╡рд▓рдкрд░ рд╕рдорд┐рдЯ рдореЗрдВ, рд╣рдордиреЗ Xamarin.Forms рдХреЗ рд▓рд┐рдП XAML Hot Reload рдХреА рдШреЛрд╖рдгрд╛ рдХреА, рдЬреЛ рдЖрдкрдХреЛ рдЕрдкрдиреЗ XAML UI рдореЗрдВ рдмрджрд▓рд╛рд╡ рдХрд░рдиреЗ рдФрд░ рдХрд┐рд╕реА рдЕрдиреНрдп рдирд┐рд░реНрдорд╛рдг рдФрд░ рддреИрдирд╛рддреА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рдмрд┐рдирд╛, рдЙрдиреНрд╣реЗрдВ рдкрд░рд┐рд▓рдХреНрд╖рд┐рдд рд▓рд╛рдЗрд╡ рджреЗрдЦрдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдмрдирд╛рддрд╛ рд╣реИред
XAMarin рдХреЗ рд▓рд┐рдП XAML Hot Reload.orm рдЖрдкрдХреЗ рд╡рд┐рдХрд╛рд╕ рдХреЛ рдЧрддрд┐ рджреЗрддрд╛ рд╣реИ рдФрд░ рдЖрдкрдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдкрд░ рдирд┐рд░реНрдорд╛рдг, рдкреНрд░рдпреЛрдЧ рдФрд░ рдкреБрдирд░рд╛рд╡реГрддрд┐ рдХреЛ рдЖрд╕рд╛рди рдмрдирд╛рддрд╛ рд╣реИред рдФрд░ рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЕрдм рдЖрдкрдХреЛ рдЕрдкрдиреЗ рдпреВрдЖрдИ рдХреЛ рд╣рд░ рдмрд╛рд░ рдЕрдкрдиреЗ рдРрдк рдХреЛ рдлрд┐рд░ рд╕реЗ рдмрдирд╛рдирд╛ рд╣реЛрдЧрд╛ - рдпрд╣ рддреБрд░рдВрдд рдЖрдкрдХреЗ рдЪрд▓рдиреЗ рд╡рд╛рд▓реЗ рдРрдк рдореЗрдВ рдЖрдкрдХреЗ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рджрд┐рдЦрд╛рддрд╛ рд╣реИ!
рдЬрдм рдЖрдкрдХрд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди XAML рд╣реЙрдЯ рд░реАрд▓реЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рд╕рднреА рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдФрд░ рддреАрд╕рд░реЗ рдкрдХреНрд╖ рдХреЗ рдирд┐рдпрдВрддреНрд░рдг рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдЖрдИрдУрдПрд╕ рдФрд░ рдПрдВрдбреНрд░реЙрдЗрдб рдХреЗ рд▓рд┐рдП рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ 2019 рдФрд░ рдореИрдХ рдХреЗ рд▓рд┐рдП рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ 2019 рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реЛрдЧрд╛ред рдпрд╣ рд╕рднреА рдорд╛рдиреНрдп рддреИрдирд╛рддреА рд▓рдХреНрд╖реНрдп рдкрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рд╕рд┐рдореБрд▓реЗрдЯрд░, рдПрдореБрд▓реЗрдЯрд░ рдФрд░ рднреМрддрд┐рдХ рдЙрдкрдХрд░рдг рд╢рд╛рдорд┐рд▓ рд╣реИрдВред
XAML Hot Reload 2019 рдореЗрдВ рдмрд╛рдж рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рдЖрдк рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди рдЪрд░рдг рдореЗрдВ рднрд╛рдЧ рд▓реЗрдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд╛рдЗрди рдЕрдк рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
рдЕрдм рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди рдХреЗ рд▓рд┐рдП рд╕рд╛рдЗрди рдЕрдк рдХрд░реЗрдВрд╕рдорд░реНрдерд┐рдд рдХреНрдпрд╛ рд╣реИ?
XAMarin рдХреЗ рд▓рд┐рдП XAML Hot Reloadред рдЖрдкрдХреЗ рд╕рдордп рдХреЛ рдмрдЪрд╛рдиреЗ рдФрд░ рдЖрдкрдХреЛ рдЕрдзрд┐рдХ рдЙрддреНрдкрд╛рджрдХ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЗ рдореМрдЬреВрджрд╛ рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рдореЗрдВ рдкреНрд▓рдЧ рд▓рдЧрд╛рддрд╛ рд╣реИред рдЖрдЬ, рдЬрдм рдЖрдк рдЕрдкрдиреЗ рдПрдХреНрд╕рдПрдПрдордПрд▓ рдореЗрдВ рдмрджрд▓рд╛рд╡ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдлрд┐рд░ рд╕реЗ рдирд┐рд░реНрдорд╛рдг, рддреИрдирд╛рддреА рдФрд░ рдбрд┐рдмрдЧ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдЕрдм, рдмрд╕ рдЕрдкрдиреА XAML рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╕рд╣реЗрдЬреЗрдВ рдФрд░ рдЙрди рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рдЕрдкрдиреЗ рдкрд░рд┐рдирд┐рдпреЛрдЬрди рд▓рдХреНрд╖реНрдп рдкрд░ рд▓рд╛рдЗрд╡ рджреЗрдЦреЗрдВ, рдЬреЛ рдЖрдкрдХреЛ рдХрдо рд╕рдордп рдирд┐рд░реНрдорд╛рдг рдФрд░ рддреИрдирд╛рддреА рдФрд░ рдЕрдзрд┐рдХ рд╕рдордп рдореЛрдмрд╛рдЗрд▓ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдмрдирд╛рддреЗ рд╣реИрдВред
рд╣реЙрдЯ рд░реАрд▓реЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдХреБрдЫ рд╡рд┐рд╢реЗрд╖ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ; рдХреЛрдИ рдЕрддрд┐рд░рд┐рдХреНрдд рдкреИрдХреЗрдЬ рдпрд╛ рдордЪрд╛рди рдХреЛрдб рдирд╣реАрдВ рд╣реИрдВред рдореИрдХ рдХреЗ рд▓рд┐рдП рдПрдХ рдЖрдИрдУрдПрд╕ рдпрд╛ рдПрдВрдбреНрд░реЙрдЗрдб рдПрдореБрд▓реЗрдЯрд░, рд╕рд┐рдореНрдпреБрд▓реЗрдЯрд░, рдпрд╛ рднреМрддрд┐рдХ рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗ рд░реВрдк рдореЗрдВ рдЖрдк рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдЕрдкрдиреЗ рд╕реНрдЯреВрдбрд┐рдпреЛ рдХреЛ рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рдпрд╛ рд╡рд┐рдЬрд╝реБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рдореЗрдВ рдмрдирд╛рдПрдВрдЧреЗ рдФрд░ рдЕрдкрдиреЗ рдРрдк рдХреЛ рдмрдирд╛рдПрдВрдЧреЗред рдХреНрдпреЛрдВрдХрд┐ XAMarin рдХреЗ рд▓рд┐рдП XAML Hot Reload.orm рдбрд┐рдмрдЧрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдиреЗрдЯрд╡рд░реНрдХ рдХрдиреЗрдХреНрд╢рди рдХрд╛ рдирд╣реАрдВ, рдпрд╣ рдЬрдЯрд┐рд▓ рдПрдВрдЯрд░рдкреНрд░рд╛рдЗрдЬрд╝ рдиреЗрдЯрд╡рд░реНрдХ рдпрд╛ рдиреЛ-рдХрдиреЗрдХреНрдЯрд┐рд╡рд┐рдЯреА рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдпрддрд╛ рдХрд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдЕрдкрдиреЗ XAML рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ рдФрд░ рд╕рд╣реЗрдЬреЗрдВ рдХреЛ рд╣рд┐рдЯ рдХрд░реЗрдВред рдкреБрдирдГ рд▓реЛрдб рдХрд░рдиреЗ рдкрд░, рдЖрдкрдХреА рдиреЗрд╡рд┐рдЧреЗрд╢рди рд╕реНрдерд┐рддрд┐ рдмрдиреА рд░рд╣реЗрдЧреАред рдпрджрд┐ рдЖрдк MVVM рдкреИрдЯрд░реНрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЗ рджреГрд╢реНрдп рдореЙрдбрд▓ рдХреЗ рд▓рд┐рдП рдмрд╛рдзреНрдп UI рд╕реНрдерд┐рддрд┐ рдкреБрдирдГ рд▓реЛрдб рдХреЗ рджреМрд░рд╛рди рдмрд░рдХрд░рд╛рд░ рд░рд╣реЗрдЧреАред

рдпрд╣ рдШреЛрд╖рдгрд╛ рдкреЗрдЬ, рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдФрд░ рд╢реЗрд▓ рд╕рд╣рд┐рдд рд╕рднреА рдорд╛рдиреНрдп XAML рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЗ рдЕрдкрдбреЗрдЯ рдХрд╛ рднреА рд╕рдорд░реНрдерди рдХрд░рддреА рд╣реИред рдпрджрд┐ рдЖрдк MyControl.xaml рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рд╕рд╣реЗрдЬрддреЗ рд╣реИрдВ, рддреЛ рд╕рднреА рдкреГрд╖реНрда рдЬреЛ рдЙрд╕ рд╕рдВрджрд░реНрдн рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдП рдЧрдП рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░реЗрдЧрд╛ред
XAML рд╣реЙрдЯ рд░реАрд▓реЛрдб рдХреЛрдб-рдкреАрдЫреЗ рдмрджрд▓рдиреЗ рд╡рд╛рд▓реЗ рдЗрдВрдЯреЗрд▓реАрд╕реЗрди рддреНрд╡рд░рд┐рдд рдХрд╛рд░реНрдпреЛрдВ рдХреА рддрд░рд╣ рдЯрд╛рдЗрдкреЛрд╕ рдФрд░ рдЕрд╕рдорд░реНрдерд┐рдд рд╕рдВрдкрд╛рджрди рдХреЗ рд▓рд┐рдП рд▓рдЪреАрд▓рд╛ рд╣реИред рдЕрдкрдиреЗ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рдкреБрдирдГ рд▓реЛрдб рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рд╡рд┐рдЬрд╝реБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдХрд┐рдП рдЧрдП рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рдорд╛рдиреНрдп рдмрдирд╛рддрд╛ рд╣реИред рдпрджрд┐ рдЖрдкрдХреЗ рд╕рдВрдкрд╛рджрди рдореЗрдВ рдЕрдорд╛рдиреНрдп рдкрд░рд┐рд╡рд░реНрддрди рд╣реИрдВ, рддреЛ рдкрд░рд┐рд╡рд░реНрддрди рдЖрдкрдХреЗ рдРрдк рдореЗрдВ рд▓рд╛рдЧреВ рдирд╣реАрдВ рд╣реЛрдЧрд╛ рдФрд░ XAML рд╕рдВрдкрд╛рджрдХ рдЖрдкрдХреЛ рдмрддрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдХреНрд╡реАрдЧрд▓реНрд╕ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдЧрд╛ред рдЖрдк рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рднреА рдЬрд╛рдВрдЪ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЖрдкрдХрд╛ рдкреБрдирдГ рд▓реЛрдб рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рдореЗрдВ рдЖрдЙрдЯрдкреБрдЯ рд╡рд┐рдВрдбреЛ рдореЗрдВ рд╕рдлрд▓ рд░рд╣рд╛ рдпрд╛ рдирд╣реАрдВред
рдпрд╣ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХрд┐ XAMarin рдХреЗ рд▓рд┐рдП XAML Hot Reload.Forms рд╕рднреА рдкреНрд░рдХрд╛рд░ рдХреЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдЬрдЯрд┐рд▓рддрд╛ рдХреА рдкрд░рд╡рд╛рд╣ рдХрд┐рдП рдмрд┐рдирд╛ред рд╣рдордиреЗ рдирд┐рдпрдВрддреНрд░рдг рд╡рд┐рдХреНрд░реЗрддрд╛рдУрдВ рдФрд░ рдУрдкрди рд╕реЛрд░реНрд╕ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВрдЯреЗрдирд░реНрд╕ рдЬреИрд╕реЗ рдХрд┐ рдЯреЗрд▓рд░рд┐рдХ, рдЗрдВрдлреНрд░рд╛рдЧреЙрд╕реНрдЯрд┐рдХреНрд╕, рдЧреНрд░рд┐рд▓ рдпреВрдЖрдИ рдХрд┐рдЯ, рдкреНрд░рд┐рдЬрд╝реНрдо рдФрд░ рд╕рд┐рдВрдХрдлрд╝реНрдпреВрдЬрд╝рди рдХреЗ рд╕рд╛рде рднрд╛рдЧреАрджрд╛рд░реА рдХреА рд╣реИ рддрд╛рдХрд┐ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рд╣реЛ рд╕рдХреЗ рдХрд┐ рдЖрдкрдХреЛ рдПрдХреНрд╕рдПрдПрдордПрд▓рдЖрд░ рдХреЗ рд╕рд╛рде рдПрдХреНрд╕рдПрдПрдордПрд▓ рд╣реЙрдЯ рд░реАрд▓реЛрдб рдХреЗ рд╕рд╛рде рдЗрди рдкреНрд░реЛрдЬреЗрдХреНрдЯреНрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХрд╛ рд╢рд╛рдирджрд╛рд░ рдЕрдиреБрднрд╡ рд╣реЛред
рдЖрдкрдХреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рджреНрд╡рд╛рд░рд╛ рдкреНрд░реЗрд░рд┐рдд
рд╢реБрд░реБрдЖрдд рд╕реЗ, рдЖрдкрдХреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдиреЗ рдЗрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХреЛ рдкреНрд░реЗрд░рд┐рдд рдХрд┐рдпрд╛ рд╣реИред рдкрд┐рдЫрд▓реЗ рд╡рд░реНрд╖ рдореЗрдВ, рдЬрд╝рд╛рдорд░реАрди рдЙрддреНрдкрд╛рдж рдЯреАрдо рдиреЗ 30 рд╕реЗ рдЕрдзрд┐рдХ рд╕рд░реНрд╡реЗрдХреНрд╖рдг рд╡рд┐рддрд░рд┐рдд рдХрд┐рдП рд╣реИрдВ, 3,000 рд╕реЗ рдЕрдзрд┐рдХ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд╕рд░реНрд╡реЗрдХреНрд╖рдг рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рдПрдХрддреНрд░ рдХрд┐рдпрд╛ рд╣реИ, рдФрд░ рдЖрдк рдЬреИрд╕реЗ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд╕рд╛рде 275 рд╕реЗ рдЕрдзрд┐рдХ рд╕рд╛рдХреНрд╖рд╛рддреНрдХрд╛рд░ рдЖрдпреЛрдЬрд┐рдд рдХрд┐рдП рд╣реИрдВред рдЖрдкрдиреЗ рд╣рдореЗрдВ рдмрддрд╛рдпрд╛ рдХрд┐ рдЯреВрд▓реАрдВрдЧ рд╕реНрдерд┐рд░, рдкреНрд░рджрд░реНрд╢рди рдпреЛрдЧреНрдп рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП, рдФрд░ рдЖрдкрдХреЛ рдЕрдзрд┐рдХ рдЙрддреНрдкрд╛рджрдХ рднрд╡рди рдмрдирд╛рдиреЗ рдореЗрдВ рд╕рд╣рд╛рдпрддрд╛ рдХрд░реЗрдЧреАред
рдХрдИ рд╕рд░реНрд╡реЗрдХреНрд╖рдгреЛрдВ рдФрд░ рд╕рд╛рдХреНрд╖рд╛рддреНрдХрд╛рд░реЛрдВ рдореЗрдВ, рдЖрдкрдиреЗ рд╣рдореЗрдВ рдмрддрд╛рдпрд╛ рдХрд┐ рдЖрдкрдХреЛ рдЕрдзрд┐рдХ рдЙрддреНрдкрд╛рджрдХ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдкреНрд░рднрд╛рд╡реА рддрд░реАрдХрд╛ "рдЖрдВрддрд░рд┐рдХ рд╡рд┐рдХрд╛рд╕ рдкрд╛рд╢" рдореЗрдВ рдмрд┐рддрд╛рдП рд╕рдордп рдХреА рдорд╛рддреНрд░рд╛ рдХреЛ рдХрдо рдХрд░рдирд╛ рд╣реИ - рдпрд╛ рдкреНрд░рддреНрдпреЗрдХ рдкрд░рд┐рд╡рд░реНрддрди рдХреЛ рдмрдирд╛рдиреЗ, рддреИрдирд╛рдд рдХрд░рдиреЗ, рдФрд░ рдбрд┐рдмрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдЦрд░реНрдЪ рдХреА рдЧрдИ рд░рд╛рд╢рд┐ред ред рдЬрдм рд╣рдо рдЗрд╕ рдмрд╛рдд рдкрд░ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдЖрдкрдиреЗ рдХрд┐рд╕ рдкреНрд░рдХрд╛рд░ рдХреЗ рдкрд░рд┐рд╡рд░реНрддрди рдХрд┐рдП рд╣реИрдВ, рддреЛ рд╣рдордиреЗ рд╕реБрдирд╛ рд╣реИ рдХрд┐ XAML рдореЗрдВ рдЖрдкрдХреЗ Xamarin.Forms UI рдХреЛ рдЯреНрд╡рд┐рдХ рдХрд░рдирд╛ рд╕рдмрд╕реЗ рд▓реЛрдХрдкреНрд░рд┐рдп рдерд╛ред
рд╣рдордиреЗ XAMarin рдХреЗ рд▓рд┐рдП XAML Hot Reload рдкрд░ рдЖрдкрдХреЗ рд╕рд╛рде 50 рд╕реЗ рдЕрдзрд┐рдХ рдЕрд╡рдзрд╛рд░рдгрд╛-рдореВрд▓реНрдп рдкрд░реАрдХреНрд╖рдг рдХрд┐рдПред рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддреЗ рд╣реБрдП рдХрд┐ рдЕрд╡рдзрд╛рд░рдгрд╛ рдЖрдкрдХреЗ рдЖрдВрддрд░рд┐рдХ рд╡рд┐рдХрд╛рд╕ рд▓реВрдк рдХреЛ рдЕрдзрд┐рдХ рдЙрддреНрдкрд╛рджрдХ рдмрдирд╛рдПрдЧреАред рд╣рдордиреЗ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдпрд╣ рдЕрдиреБрднрд╡ рдЖрдкрдХреА рдЕрдкреЗрдХреНрд╖рд╛рдУрдВ рдХреЛ рдкреВрд░рд╛ рдХрд░рддрд╛ рд╣реИ, рд╣рдордиреЗ рдХрдИ рдмрдбрд╝реЗ рдЬрд╝рд╛рдорд░реАрди рдЧреНрд░рд╛рд╣рдХреЛрдВ, рд╡рд┐рдЬрд╝реБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рднрд╛рдЧреАрджрд╛рд░реЛрдВ рдФрд░ рдЬрд╝рд╛рдорд░реАрди рдПрдорд╡реАрдкреА рдХреЗ рд╕рд╛рде рд╕рд╛рдЭреЗрджрд╛рд░реА рдХреАред рдЕрдВрдд рдореЗрдВ, рд╣рдо Xamarin рдХреЗ рд▓рд┐рдП XAML Hot Reload рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд┐рдПрдЯрд▓ рдореЗрдВ рд╣рдорд╛рд░реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЕрдиреБрднрд╡ рдкреНрд░рдпреЛрдЧрд╢рд╛рд▓рд╛ рдореЗрдВ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рд▓рд╛рдПред рд╕рднреА рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд▓рд┐рдП рдЕрдиреБрднрд╡ рдХреЛ рдорд╛рдиреНрдп рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдлрд╝реЙрд░реНрдо рдХреЛ рдорд╛рдиреНрдп рдХрд░реЗрдВред
рдПрдХ рд╕рд░реНрд╡реЗрдХреНрд╖рдг рдкрд░ рджрд╕ рдорд┐рдирдЯ рдЦрд░реНрдЪ рдХрд░рдиреЗ рд╕реЗ рд▓реЗрдХрд░ рд╕рд╛рдХреНрд╖рд╛рддреНрдХрд╛рд░ рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░реА рдЯреАрдо рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛрдиреЗ рддрдХ рд╣рдорд╛рд░реА рдЯреАрдо рдХреЛ рдмрд╣реБрдореВрд▓реНрдп рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рдпрд╣ рдлреАрдбрдмреИрдХ рди рдХреЗрд╡рд▓ рдЖрдкрдХреЗ рд▓рд┐рдП рд╕рдорд╕реНрдпрд╛ рд╕реЗ рд╕рдорд╛рдзрд╛рди рддрдХ рдирдИ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рддрд╛ рд╣реИ рдмрд▓реНрдХрд┐ рд╕рдордЧреНрд░ рдЙрддреНрдкрд╛рдж рд░реЛрдбрдореИрдк рдХреЛ рдЖрдХрд╛рд░ рджреЗрдиреЗ рдореЗрдВ рднреА рдорджрдж рдХрд░рддрд╛ рд╣реИред рдЕрдЧрд▓реА рдмрд╛рд░ рд╣рдо рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рдЕрдиреБрд░реЛрдз рдХреЗ рд╕рд╛рде рдкрд╣реБрдБрдЪрддреЗ рд╣реИрдВ, рдХреГрдкрдпрд╛ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рджреЗрдВ; рд╣рдо рд╕реБрди рд░рд╣реЗ рд╣реИрдВред
рдЖрдЧреЗ рдХреНрдпрд╛ рд╣реИ?
рд╣рдорд╛рд░реЗ рдирд┐рдЬреА рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди рдЪрд░рдг рдХреЗ рджреМрд░рд╛рди, рд╣рдо рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП XAML рд╣реЙрдЯ рд░реАрд▓реЛрдб рдкрд░ рдЪрд▓рдирд╛ рдЬрд╛рд░реА рд░рдЦреЗрдВрдЧреЗ рдХрд┐ рдпрд╣ рдЖрдкрдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдФрд░ рдЧреБрдгрд╡рддреНрддрд╛ рдФрд░ рдкреНрд░рджрд░реНрд╢рди рдЬреИрд╕реЗ рдмреБрдирд┐рдпрд╛рджреА рдмрд╛рддреЛрдВ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреА рдЕрдкреЗрдХреНрд╖рд╛рдУрдВ рдХреЛ рдкреВрд░рд╛ рдХрд░рддрд╛ рд╣реИред рдЬрдм рдЖрдк рд╣рдореЗрдВ рдмрддрд╛рддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рддреИрдпрд╛рд░ рд╣реИ, рддреЛ рдЗрд╕реЗ рдореИрдХ рд░рд┐рд▓реАрдЬрд╝ рдХреЗ рд▓рд┐рдП рднрд╡рд┐рд╖реНрдп рдХреЗ рд╡рд┐рдЬрд╝реБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рдФрд░ рд╡рд┐рдЬрд╝реБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рдореЗрдВ рдмрдирд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХрд┐ рд╣рдо рдЧреБрдгрд╡рддреНрддрд╛ рдФрд░ рдкреНрд░рджрд░реНрд╢рди рд▓рдХреНрд╖реНрдпреЛрдВ рдХреЛ рдкреВрд░рд╛ рдХрд░рддреЗ рд╣реИрдВ, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЖрдЗрдЯрдо рд╣рдорд╛рд░реЗ XAML рд╣реЙрдЯ рд░реАрд▓реЛрдб рдХреЗ рд░реЛрдбрдореИрдк рдкрд░ рднреА рд╣реИрдВ:
- рд╡реГрджреНрдзрд┐рд╢реАрд▓ рдкреБрди: рд▓реЛрдбрд┐рдВрдЧ: рдХреЗрд╡рд▓ рдЙрди рдирд┐рдпрдВрддреНрд░рдгреЛрдВ рдпрд╛ рдЧреБрдгреЛрдВ рдХреЛ рдкреБрдирдГ рд▓реЛрдб рдХрд░реЗрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ
- рдПрдХ рд╕рд╛рде рд░реАрд▓реЛрдб: рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рдХрдИ рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдХреЗ рдбреАрдмрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд░реАрд▓реЛрдб XAML
- рдмреЗрд╣рддрд░ рд╕реНрдерд┐рддрд┐ рдХреА рдирд┐рдЧрд░рд╛рдиреА: "рдЕрд╕рднреНрдп" рд╕рдВрдкрд╛рджрди рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдмреЗрд╣рддрд░ UX, рдпрд╛ рд╕рдВрдкрд╛рджрди рдЬрд┐рд╕рдореЗрдВ рдкреБрдирдГ рд▓реЛрдб рдХреЗ рд▓рд┐рдП рдЕрдорд╛рдиреНрдп рдкрд░рд┐рд╡рд░реНрддрди рд╣реИрдВ
- рд╕реАрдПрд╕рдПрд╕: рд╕реНрдЯрд╛рдЗрд▓ рд╢реАрдЯ рдХреЛ рдХреИрд╕реНрдХреЗрдбрд┐рдВрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдЯрд╛рдЗрд▓рд┐рдВрдЧ рдЕрдкрдбреЗрдЯ рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛
XAML Xamarin рдХреА рд╣реЙрдЯ рд░реАрд▓реЛрдб рдХрд╣рд╛рдиреА рдХреА рд╢реБрд░реБрдЖрдд рд╣реИред рд╣рдо рдЕрдкрдиреЗ рд░реЛрдбрдореИрдк рдХреЛ рдЙрди рд╡рд╕реНрддреБрдУрдВ рдкрд░ рдХреЗрдВрджреНрд░рд┐рдд рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦреЗрдВрдЧреЗ рдЬреЛ рдЖрдк рд╣рдореЗрдВ рдмрддрд╛рддреЗ рд╣реИрдВ рдХрд┐ рдЖрдкрдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИрдВред рдЬрдм рдЖрдкрдиреЗ рд╣рдорд╕реЗ рдХрд╣рд╛ рдерд╛ рдХрд┐ XAML Hot Reload рдХрд╛ рд░рд╛рд╕реНрддрд╛ рд╣реЛрдЧрд╛, рддреЛ рд╣рдо рдЖрдкрдХреА рдЙрддреНрдкрд╛рджрдХрддрд╛ Xamarin рдирд┐рд░реНрдорд╛рдг рдореЗрдВ рддреБрд░рдВрдд рд▓рд╛рднрд╛рдиреНрд╡рд┐рдд рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред Visual Studio рдореЗрдВ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рддреЗ рд╣реИрдВ, рд╣рдо рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рдореЗрдВ рдЖрдкрдХреА рдЙрддреНрдкрд╛рджрдХрддрд╛ рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдЖрдЬ рд╣реА рдкрдВрдЬреАрдХрд░рдг рдХрд░реЗрдВ
рд╣рдо рдЖрдкрдХреЛ рдирд┐рдЬреА рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди рдХреЗ рд▓рд┐рдП рд╕рд╛рдЗрди рдЕрдк рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдордВрддреНрд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рдЖрдк XAMarin рдХреЗ рд▓рд┐рдП XAML рд╣реЙрдЯ рд░реАрд▓реЛрдб рдХреЛ рдЖрдЬрд╝рдорд╛ рд╕рдХреЗрдВред рд╣рдо рд╕рд╛рдкреНрддрд╛рд╣рд┐рдХ "рд░рд┐рдВрдЧ" рд░рд┐рд▓реАрдЬ рдореЗрдВ рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди рдХрд╛рд░реНрдпрдХреНрд░рдо рдореЗрдВ рдирдП рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦреЗрдВрдЧреЗ, рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддреЗ рд╣реБрдП рдХрд┐ рдЙрддреНрдкрд╛рдж рд╡рд┐рд╢реНрд╡рд╕рдиреАрдпрддрд╛ рдФрд░ рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдФрд░ рдЕрдзрд┐рдХ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд░реВрдк рдореЗрдВ рдмрдирд╛рдП рд░рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИ рд╣реЙрдЯ рд░реАрд▓реЛрдбред рдирд┐рдЬреА рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди рдореЗрдВ рд╕реНрд╡реАрдХрд╛рд░ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рд▓реЛрдЧ рд╣рдорд╛рд░реА рдЯреАрдо рд╕реЗ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдкреВрдЫ рд╕рдХрддреЗ рд╣реИрдВ; рд╣рдо рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдЖрдкрдХреА рдЙрдореНрдореАрджреЛрдВ рдкрд░ рдЦрд░рд╛ рдЙрддрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдФрд░ рдЕрдкрдиреА рдкреНрд░рд╛рдердорд┐рдХрддрд╛рдУрдВ рдХреЛ рдкреНрд░рддрд┐рдмрд┐рдВрдмрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП Xamarin.Forms рдХреЗ рд▓рд┐рдП XAML Hot Reload рдХрд░реЗрдВ, рдЗрд╕рд▓рд┐рдП рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдХреГрдкрдпрд╛ рдЕрдкрдиреЗ рджрд┐рди рд╕реЗ рдХреБрдЫ рдорд┐рдирдЯ рдХрд╛ рд╕рдордп рдирд┐рдХрд╛рд▓реЗрдВред рдЖрдкрдХреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рднрд╡рд┐рд╖реНрдп рдореЗрдВ Xamarin рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рдЕрдирдЧрд┐рдирдд рдШрдВрдЯреЗ рдмрдЪрд╛рдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдЧреА!
рдпрджрд┐ рдЖрдкрдХреЗ рдХреЛрдИ рдкреНрд░рд╢реНрди рд╣реИрдВ, рддреЛ Xamarin рдХреЗ рд▓рд┐рдП XAML Hot Reload рдкрд░ рдкрд╣реБрдВрдЪрдиреЗ рдореЗрдВ рд╕рдВрдХреЛрдЪ рди рдХрд░реЗрдВред
hotsload-team@microsoft.com рдкрд░ рдЯреАрдо
рдмрдирд╛рддрд╛ рд╣реИ ред
рдЦреБрд╢ рдкреБрдирдГ рд▓реЛрдб рд╣реЛ рд░рд╣рд╛ рд╣реИ!