Maui: [рд╕рдВрдкрд╛рджрд┐рдд] рдХреНрдпрд╛ рдПрдорд╡реАрдпреВ-рд╕реНрдЯрд╛рдЗрд▓ рдХреЛрдбреЗрдб-рдпреВрдЖрдИ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рд╣реИ?

рдХреЛ рдирд┐рд░реНрдорд┐рдд 29 рдордИ 2020  ┬╖  16рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: dotnet/maui

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдПрдордПрдпреВрдЖрдИ рдХреЛ рдпреВрдЖрдИ рдбрд┐рдЬрд╛рдЗрди рдХрд░рдиреЗ рдХреЗ рдХреЗрд╡рд▓ рдПрдХ рд╣реА рддрд░реАрдХреЗ рд╕реЗ рд░рд╣рдирд╛ рдЪрд╛рд╣рд┐рдП, рд╡рд╣ рд╣реИ: рдПрдХреНрд╕рдПрдПрдордПрд▓

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

_[рдЕрджреНрдпрддрди]_
image

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

@davidortinau рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рджреВрд╕рд░реЗ рд╕реВрддреНрд░ рдореЗрдВ рдХрд╣рд╛ рдерд╛ред MAUI рдмреНрд▓реЙрдЧ рдкреЛрд╕реНрдЯ рдиреЗ рдмрдбрд╝реЗ рдкреИрдорд╛рдиреЗ рдкрд░ рднреНрд░рдо рдкреИрджрд╛ рдХрд┐рдпрд╛ред рд▓реЛрдЧреЛрдВ рдХреЛ рдЕрдм рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдПрдорд╡реАрдпреВ = рдХреЛрдб/рдбреАрдПрд╕рдПрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рджреЗрдЦреЗрдВред
рд▓реЗрдХрд┐рди рдпрд╣ рдПрдорд╡реАрдпреВ рдХреНрдпрд╛ рд╣реИ, рдЗрд╕рд╕реЗ рдкреВрд░реА рддрд░рд╣ рд╕реНрд╡рддрдВрддреНрд░ рд╣реИред рдПрдХреНрд╕рдПрдПрдордПрд▓ рдХреЗ рд╕рд╛рде рдПрдорд╡реАрдпреВ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдВрднрд╡ рд╣реИред рдЗрд╕рд╕реЗ рдХреЛрдИ рд▓реЗрдирд╛-рджреЗрдирд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЖрдк рджреГрд╢реНрдп рдХреИрд╕реЗ рд▓рд┐рдЦрддреЗ рд╣реИрдВред
рдпрд╣ рдХреЗрд╡рд▓ рдПрдХ рдЕрдкрд░рд┐рд╡рд░реНрддрдиреАрдп рдореЙрдбрд▓ + рдЕрджреНрдпрддрди рдлрд╝рдВрдХреНрд╢рди рдмрдирд╛рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИ рдЬреЛ рдПрдХ рдореЙрдбрд▓ рдФрд░ рд╕рдВрджреЗрд╢ рд▓реЗрддрд╛ рд╣реИ рдФрд░ рдПрдХ рдирдпрд╛ рдореЙрдбрд▓ рдмрдирд╛рддрд╛ рд╣реИ рдФрд░ рдПрдХ рджреГрд╢реНрдп рдлрд╝рдВрдХреНрд╢рди рднреА рдмрдирд╛рддрд╛ рд╣реИ рдЬреЛ рд╕реАрдзреЗ рдореЙрдбрд▓ рдХреЛ рдЙрддреНрдкрд░рд┐рд╡рд░реНрддрд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдмрд▓реНрдХрд┐ рдЕрдкрдбреЗрдЯ рд▓реВрдк рдореЗрдВ рдирдП рдЖрджреЗрд╢ (рд╕рдВрджреЗрд╢) рднреЗрдЬрддрд╛ рд╣реИред

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

рд╕реНрдкрдВрджрди рдХрд╛ рдПрдХ рд╕рдВрдкреВрд░реНрдг рдкреГрд╖реНрда рд╣реИ рдЬреЛ Xamarin.Forms рдХреЗ рд▓реЛрдЧреЛрдВ рдХреЛ рдЖрдХрд░реНрд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдкрд┐рдд рд╣реИред рдЖрдк рдХрд╣ рд░рд╣реЗ рд╣реИрдВ рдХрд┐ рд╣рдореЗрдВ рдкреНрд░рддрд┐рд╕реНрдкрд░реНрдзрд╛ рдХреЛ рдирдЬрд░рдЕрдВрджрд╛рдЬ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рд╕рдЪрдореБрдЪ?

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

@davidortinau рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рджреВрд╕рд░реЗ рд╕реВрддреНрд░ рдореЗрдВ рдХрд╣рд╛ рдерд╛ред MAUI рдмреНрд▓реЙрдЧ рдкреЛрд╕реНрдЯ рдиреЗ рдмрдбрд╝реЗ рдкреИрдорд╛рдиреЗ рдкрд░ рднреНрд░рдо рдкреИрджрд╛ рдХрд┐рдпрд╛ред рд▓реЛрдЧреЛрдВ рдХреЛ рдЕрдм рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдПрдорд╡реАрдпреВ = рдХреЛрдб/рдбреАрдПрд╕рдПрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рджреЗрдЦреЗрдВред
рд▓реЗрдХрд┐рди рдпрд╣ рдПрдорд╡реАрдпреВ рдХреНрдпрд╛ рд╣реИ, рдЗрд╕рд╕реЗ рдкреВрд░реА рддрд░рд╣ рд╕реНрд╡рддрдВрддреНрд░ рд╣реИред рдПрдХреНрд╕рдПрдПрдордПрд▓ рдХреЗ рд╕рд╛рде рдПрдорд╡реАрдпреВ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдВрднрд╡ рд╣реИред рдЗрд╕рд╕реЗ рдХреЛрдИ рд▓реЗрдирд╛-рджреЗрдирд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЖрдк рджреГрд╢реНрдп рдХреИрд╕реЗ рд▓рд┐рдЦрддреЗ рд╣реИрдВред
рдпрд╣ рдХреЗрд╡рд▓ рдПрдХ рдЕрдкрд░рд┐рд╡рд░реНрддрдиреАрдп рдореЙрдбрд▓ + рдЕрджреНрдпрддрди рдлрд╝рдВрдХреНрд╢рди рдмрдирд╛рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИ рдЬреЛ рдПрдХ рдореЙрдбрд▓ рдФрд░ рд╕рдВрджреЗрд╢ рд▓реЗрддрд╛ рд╣реИ рдФрд░ рдПрдХ рдирдпрд╛ рдореЙрдбрд▓ рдмрдирд╛рддрд╛ рд╣реИ рдФрд░ рдПрдХ рджреГрд╢реНрдп рдлрд╝рдВрдХреНрд╢рди рднреА рдмрдирд╛рддрд╛ рд╣реИ рдЬреЛ рд╕реАрдзреЗ рдореЙрдбрд▓ рдХреЛ рдЙрддреНрдкрд░рд┐рд╡рд░реНрддрд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдмрд▓реНрдХрд┐ рдЕрдкрдбреЗрдЯ рд▓реВрдк рдореЗрдВ рдирдП рдЖрджреЗрд╢ (рд╕рдВрджреЗрд╢) рднреЗрдЬрддрд╛ рд╣реИред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдПрдордПрдпреВрдЖрдИ рдХреЛ рдпреВрдЖрдИ рдбрд┐рдЬрд╛рдЗрди рдХрд░рдиреЗ рдХреЗ рдХреЗрд╡рд▓ рдПрдХ рд╣реА рддрд░реАрдХреЗ рд╕реЗ рд░рд╣рдирд╛ рдЪрд╛рд╣рд┐рдП, рд╡рд╣ рд╣реИ: рдПрдХреНрд╕рдПрдПрдордПрд▓

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

рдпрд╣ C# рдФрд░ .NET dev рдХреЗ рд▓рд┐рдП рд╣реИред

@sim756

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдПрдордПрдпреВрдЖрдИ рдХреЛ рдпреВрдЖрдИ рдбрд┐рдЬрд╛рдЗрди рдХрд░рдиреЗ рдХреЗ рдХреЗрд╡рд▓ рдПрдХ рд╣реА рддрд░реАрдХреЗ рд╕реЗ рд░рд╣рдирд╛ рдЪрд╛рд╣рд┐рдП, рд╡рд╣ рд╣реИ: рдПрдХреНрд╕рдПрдПрдордПрд▓

рдпрд╣ рдХрднреА рдПрдХ рд╣реА рд░рд╛рд╕реНрддрд╛ рдирд╣реАрдВ рд░рд╣рд╛ред рдХреЛрдб-рдЖрдзрд╛рд░рд┐рдд UI рдХреЛ рд╢реБрд░реВ рд╕реЗ рд╣реА Xamarin.Forms рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рдорд░реНрдерд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЗрд╕реЗ рдФрд░ рдЕрдзрд┐рдХ рд╕реБрд▓рдн рдмрдирд╛рдирд╛ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИред рдФрд░ рд╡реИрд╕реЗ: рдПрдорд╡реАрдпреВ рдХреЛ рдПрдХреНрд╕рдПрдПрдордПрд▓ ( wpf ) рдХреЗ рд╕рд╛рде рдЖрд╕рд╛рдиреА рд╕реЗ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

@ рд╣реИрдкреНрдкреАрдкрд┐рдЧ375

рд╕реНрдкрдВрджрди рдХрд╛ рдПрдХ рд╕рдВрдкреВрд░реНрдг рдкреГрд╖реНрда рд╣реИ рдЬреЛ Xamarin.Forms рдХреЗ рд▓реЛрдЧреЛрдВ рдХреЛ рдЖрдХрд░реНрд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдкрд┐рдд рд╣реИред рдЖрдк рдХрд╣ рд░рд╣реЗ рд╣реИрдВ рдХрд┐ рд╣рдореЗрдВ рдкреНрд░рддрд┐рд╕реНрдкрд░реНрдзрд╛ рдХреЛ рдирдЬрд░рдЕрдВрджрд╛рдЬ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рд╕рдЪрдореБрдЪ?

рдЦреИрд░, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдмреЗрд╣рддрд░ рд╣реИ " Xamarin for Flutter devs " рдкреЗрдЬ!

@rohanbojja

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

рд╕рдм рдХреБрдЫ рдЗрд╕ рдЫреЛрдбрд╝рдХрд░ рдареАрдХ рд╣реИ, рдФрд░ _this_ рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдореИрдВ рд╕реНрдкрдВрджрди рдирд╛рдкрд╕рдВрдж:
image
рдЫрд╡рд┐ 0

@forki

@davidortinau рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рджреВрд╕рд░реЗ рд╕реВрддреНрд░ рдореЗрдВ рдХрд╣рд╛ рдерд╛ред MAUI рдмреНрд▓реЙрдЧ рдкреЛрд╕реНрдЯ рдиреЗ рдмрдбрд╝реЗ рдкреИрдорд╛рдиреЗ рдкрд░ рднреНрд░рдо рдкреИрджрд╛ рдХрд┐рдпрд╛ред рд▓реЛрдЧреЛрдВ рдХреЛ рдЕрдм рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдПрдорд╡реАрдпреВ = рдХреЛрдб/рдбреАрдПрд╕рдПрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рджреЗрдЦреЗрдВред
рд▓реЗрдХрд┐рди рдпрд╣ рдПрдорд╡реАрдпреВ рдХреНрдпрд╛ рд╣реИ, рдЗрд╕рд╕реЗ рдкреВрд░реА рддрд░рд╣ рд╕реНрд╡рддрдВрддреНрд░ рд╣реИред рдПрдХреНрд╕рдПрдПрдордПрд▓ рдХреЗ рд╕рд╛рде рдПрдорд╡реАрдпреВ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдВрднрд╡ рд╣реИред рдЗрд╕рд╕реЗ рдХреЛрдИ рд▓реЗрдирд╛-рджреЗрдирд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЖрдк рджреГрд╢реНрдп рдХреИрд╕реЗ рд▓рд┐рдЦрддреЗ рд╣реИрдВред
рдпрд╣ рдХреЗрд╡рд▓ рдПрдХ рдЕрдкрд░рд┐рд╡рд░реНрддрдиреАрдп рдореЙрдбрд▓ + рдЕрджреНрдпрддрди рдлрд╝рдВрдХреНрд╢рди рдмрдирд╛рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИ рдЬреЛ рдПрдХ рдореЙрдбрд▓ рдФрд░ рд╕рдВрджреЗрд╢ рд▓реЗрддрд╛ рд╣реИ рдФрд░ рдПрдХ рдирдпрд╛ рдореЙрдбрд▓ рдмрдирд╛рддрд╛ рд╣реИ рдФрд░ рдПрдХ рджреГрд╢реНрдп рдлрд╝рдВрдХреНрд╢рди рднреА рдмрдирд╛рддрд╛ рд╣реИ рдЬреЛ рд╕реАрдзреЗ рдореЙрдбрд▓ рдХреЛ рдЙрддреНрдкрд░рд┐рд╡рд░реНрддрд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдмрд▓реНрдХрд┐ рдЕрдкрдбреЗрдЯ рд▓реВрдк рдореЗрдВ рдирдП рдЖрджреЗрд╢ (рд╕рдВрджреЗрд╢) рднреЗрдЬрддрд╛ рд╣реИред

рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рднреНрд░рдорд┐рдд рд╣реВрдБ !! рдзрдиреНрдпрд╡рд╛рдж, рдЖрдкрдиреЗ рдЕрднреА рдЗрд╕реЗ рд╕реНрдкрд╖реНрдЯ рдХрд░ рджрд┐рдпрд╛ рд╣реИ, рдкреЛрд╕реНрдЯ рднрдпрд╛рд╡рд╣ рд░реВрдк рд╕реЗ рднреНрд░рдорд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓реА рд╣реИ:
image
рдЫрд╡рд┐ 1

@saint4eva

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

рдпрд╣ C# рдФрд░ .NET dev рдХреЗ рд▓рд┐рдП рд╣реИред

" рдпрд╣ рд╕реА # рдФрд░ .NET рджреЗрд╡ рдХреЗ рд▓рд┐рдП рд╣реИред ", рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЗрд╕реЗ рд╕реНрдкрдВрджрди рд╕реЗ рдкреНрд░рднрд╛рд╡рд┐рдд рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП (рдореБрдЭреЗ рдбрд░ рд╣реИ рдХрд┐ рдпрд╣ рд╣реИ ..)ред

@aspnetde

@sim756

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдПрдордПрдпреВрдЖрдИ рдХреЛ рдпреВрдЖрдИ рдбрд┐рдЬрд╛рдЗрди рдХрд░рдиреЗ рдХреЗ рдХреЗрд╡рд▓ рдПрдХ рд╣реА рддрд░реАрдХреЗ рд╕реЗ рд░рд╣рдирд╛ рдЪрд╛рд╣рд┐рдП, рд╡рд╣ рд╣реИ: рдПрдХреНрд╕рдПрдПрдордПрд▓

рдпрд╣ рдХрднреА рдПрдХ рд╣реА рд░рд╛рд╕реНрддрд╛ рдирд╣реАрдВ рд░рд╣рд╛ред рдХреЛрдб-рдЖрдзрд╛рд░рд┐рдд UI рдХреЛ рд╢реБрд░реВ рд╕реЗ рд╣реА Xamarin.Forms рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рдорд░реНрдерд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЗрд╕реЗ рдФрд░ рдЕрдзрд┐рдХ рд╕реБрд▓рдн рдмрдирд╛рдирд╛ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИред рдФрд░ рд╡реИрд╕реЗ: рдПрдорд╡реАрдпреВ рдХреЛ рдПрдХреНрд╕рдПрдПрдордПрд▓ ( wpf ) рдХреЗ рд╕рд╛рде рдЖрд╕рд╛рдиреА рд╕реЗ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдореИрдВ рдЬрд╛рдирддрд╛ рд╣реВрдБред рдХрднреА-рдХрднреА рд╣рдо new Button() { .... } рд▓рд┐рдЦрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЗрд╕ рдкреЛрд╕реНрдЯ ( рдЫрд╡рд┐ 1 ) рдиреЗ рдореБрдЭреЗ рднреНрд░рдорд┐рдд рдХрд┐рдпрд╛, рдФрд░ рдХрдИ рдЕрдиреНрдп, рдореБрдЭреЗ рд╡рд┐рд╢реНрд╡рд╛рд╕ рд╣реИред

@ рд╣реИрдкреНрдкреАрдкрд┐рдЧ375

рд╕реНрдкрдВрджрди рдХрд╛ рдПрдХ рд╕рдВрдкреВрд░реНрдг рдкреГрд╖реНрда рд╣реИ рдЬреЛ Xamarin.Forms рдХреЗ рд▓реЛрдЧреЛрдВ рдХреЛ рдЖрдХрд░реНрд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдкрд┐рдд рд╣реИред рдЖрдк рдХрд╣ рд░рд╣реЗ рд╣реИрдВ рдХрд┐ рд╣рдореЗрдВ рдкреНрд░рддрд┐рд╕реНрдкрд░реНрдзрд╛ рдХреЛ рдирдЬрд░рдЕрдВрджрд╛рдЬ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рд╕рдЪрдореБрдЪ?

рдЦреИрд░, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдмреЗрд╣рддрд░ рд╣реИ " Xamarin for Flutter devs " рдкреЗрдЬ!

рдЬрд╝реЛрд░ - рдЬрд╝реЛрд░ рд╕реЗ рд╣рдВрд╕рдирд╛ред "WPF devs рдХреЗ рд▓рд┐рдП рд╡рд┐рдВрдбреЛрдЬрд╝ рдлреЙрд░реНрдо" рдХреЛ рд╕рдорд░реНрдкрд┐рдд рдПрдХ рдкреГрд╖реНрда рдХреА рдХрд▓реНрдкрдирд╛ рдХрд░реЗрдВред

рдПрдХреНрд╕рдПрдПрдордПрд▓ рдСрдмреНрдЬреЗрдХреНрдЯ рдореЙрдбрд▓ рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рд╕рд┐рд░реНрдл рдПрдХ "рдЯреВрд▓" рд╣реИ ... рдЖрдк xaml, c# рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЖрдк рдПрдорд╡реАрд╡реАрдПрдо (рдПрдХреНрд╕рдПрдПрдордПрд▓ рдХреЗ рд╕рд╛рде рдпрд╛ рдмрд┐рдирд╛) рдпрд╛ рдПрдорд╡реАрдпреВ рдХреЗ рд╕рд╛рде рдЕрдкрдиреЗ рдРрдк рдХреЛ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ (рдирд┐рд╖реНрдкрдХреНрд╖ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рджрд╛рди рдХрд┐рдП рдЧрдП рдЙрджрд╛рд╣рд░рдг "рд╡рд╛рд╕реНрддрд╡рд┐рдХ" рдПрдорд╡реАрдпреВ рдирд╣реАрдВ рдереЗ рд▓реЗрдХрд┐рди рдпрд╣ рдПрдХ рдФрд░ рд╡рд┐рд╖рдп рд╣реИ)ред

рдпрджрд┐ рдЖрдкрдХреЛ рдХреЛрдбрд┐рдд ui рдпрд╛ MVU рджреГрд╖реНрдЯрд┐рдХреЛрдг рдкрд╕рдВрдж рдирд╣реАрдВ рд╣реИ рддреЛ рдЗрд╕реЗ рдЕрдирджреЗрдЦрд╛ рдХрд░реЗрдВ :) рдЗрд╕реЗ рдкреАрдЫреЗ рдзрдХреЗрд▓рдиреЗ рдХреА рдХреЛрдИ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред

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

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

@GiampaoloGabba
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореБрдЭреЗ рдпрд╣ рд╕реНрдкрд╖реНрдЯ рдХрд░ рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдореИрдВ рдХреЛрдбреЗрдб-рдпреВрдЖрдИ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдПрдорд╡реАрдпреВ рдХреЗ рдЦрд┐рд▓рд╛рдл рдХрдо рд╣реВрдВред рдореИрдВ рдЙрд╕ рдкреЛрд╕реНрдЯ рд╕реЗ рдЙрд▓рдЭрди рдореЗрдВ рд╣реВрдВ рдХрд┐ рдореБрдЭреЗ рдбрд░ рд╣реИ рдХрд┐ рдХреЛрдбрд┐рдд-рдпреВрдЖрдИ рдпреВрдЖрдИ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рддрд░реАрдХрд╛ рд╣реЛрдЧрд╛ (... рдореБрдЭреЗ рдПрдХреНрд╕рдПрдПрдордПрд▓ рдЦреЛрдиреЗ рдХрд╛ рдбрд░ рд╣реИ)ред

рдареАрдХ рд╣реИ, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ .designer.cs рд╣реИ , рд▓реЗрдХрд┐рди рд╣рдореЗрдВ рд╡рд╣рд╛рдВ рдХреЛрдб рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рдереА, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХрдИ рд╡рд┐рдВрдбреЛрдЬрд╝ рдлреЙрд░реНрдо рдбреЗрд╡рд▓рдкрд░реНрд╕ рдиреЗ рдХрднреА рднреА .designer.cs рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рдирд╣реАрдВ рджреЗрдЦрд╛ред рд▓реЗрдХрд┐рди рдпрд╣рд╛рдВ, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ _capable_ GUI рд╕рдВрдкрд╛рджрдХ рд╣реИ рдХрд┐ рд╣рдореЗрдВ _.designer.cs_ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдХреЛрдбрд┐рдд-рдпреВрдЖрдИ рдХреЛрдб рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЪрд┐рдВрддрд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред

рдореИрдВ рдЗрд╕ рдореБрджреНрджреЗ рдХреЗ рд╢реАрд░реНрд╖рдХ рдХреЛ рдмреЗрд╣рддрд░ рдврдВрдЧ рд╕реЗ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рддрд╛ рд╣реВрдВред

рдореИрдВ рдХреНрдпрд╛ рдХрд╣рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛:

рдХреНрдпрд╛ рд╣рдо рджреГрд╢реНрдп рд╕реНрдЯреВрдбрд┐рдпреЛ рдХреЗ рд▓рд┐рдП рдорд┐рд╢реНрд░рдг рдХреА рддрд░рд╣ рдПрдХ рдЬреАрдпреВрдЖрдИ рд╕рдВрдкрд╛рджрдХ рдХреЗ рд╕рд╛рде рд╕реНрдкрдВрджрди / рд╕реНрд╡рд┐рдлреНрдЯ / рдХреЛрдбрд┐рдд-рдпреВрдЖрдИ рдмрд╛рдд рдФрд░ WPF / XAML рдХреЗ рдмреАрдЪ рдЪрдпрди рд╣реЛрдЧрд╛?

@sim756

рдореИрдВ рдЬрд╛рдирддрд╛ рд╣реВрдБред рдХрднреА-рдХрднреА рд╣рдо рдирдпрд╛ Button() {...} рд▓рд┐рдЦрддреЗ рд╣реИрдВ

рдХрднреА-рдХрднреА рд▓реЛрдЧ XAML рдХреЛ рдЫреБрдП рдмрд┐рдирд╛ рд╕рдВрдкреВрд░реНрдг XF рдРрдкреНрд╕ рд▓рд┐рдЦрддреЗ рд╣реИрдВ - рдФрд░ рд╡реЗ рдЗрд╕рд╕реЗ рдЦреБрд╢ рд╣реЛрддреЗ рд╣реИрдВ ;-)ред

@sim756

рдореИрдВ рдЬрд╛рдирддрд╛ рд╣реВрдБред рдХрднреА-рдХрднреА рд╣рдо рдирдпрд╛ Button() {...} рд▓рд┐рдЦрддреЗ рд╣реИрдВ

рдХрднреА-рдХрднреА рд▓реЛрдЧ XAML рдХреЛ рдЫреБрдП рдмрд┐рдирд╛ рд╕рдВрдкреВрд░реНрдг XF рдРрдкреНрд╕ рд▓рд┐рдЦрддреЗ рд╣реИрдВ - рдФрд░ рд╡реЗ рдЗрд╕рд╕реЗ рдЦреБрд╢ рд╣реЛрддреЗ рд╣реИрдВ ;-)ред

@aspnetde

рдореИрдВ рдЖрд╢реНрдЪрд░реНрдпрдЪрдХрд┐рдд рд╣реВрдБ..!! рдореИрдВ

рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЙрдирдХреЗ рд▓рд┐рдП рдирд╣реАрдВ, рдмрд▓реНрдХрд┐ рдореЗрд░реЗ рдЬреИрд╕реЗ рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП, рдЬреЛ Xamarin/MAUI рдХреЗ рд▓рд┐рдП рдмреНрд▓реЗрдВрдб рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рджреБрдЦреА рд╣реИрдВ:

рдПрдВрдбреНрд░реЙрдЗрдб рд╕реНрдЯреВрдбрд┐рдпреЛ рдореЛрд╢рди рдПрдбрд┐рдЯрд░

https://developer.android.com/studio/write/motion-editor

image

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

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

рдареАрдХ рд╣реИ, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ .designer.cs рд╣реИ, рд▓реЗрдХрд┐рди рд╣рдореЗрдВ рд╡рд╣рд╛рдВ рдХреЛрдб рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рдереА, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХрдИ рд╡рд┐рдВрдбреЛрдЬ рдлреЙрд░реНрдо рдбреЗрд╡рд▓рдкрд░реНрд╕ рдиреЗ рдХрднреА рднреА .designer.cs рдлрд╛рдЗрд▓реЛрдВ рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рдирд╣реАрдВ рджреЗрдЦрд╛ред

@ sim756 - рдЬрдмрдХрд┐ рдПрдХ рд╕рдХреНрд╖рдо рдбрд┐рдЬрд╛рдЗрдирд░ рдПрдХ рдорд╣рд╛рди рдЙрддреНрдкрд╛рджрдХрддрд╛ рдЙрдкрдХрд░рдг рдХреА рддрд░рд╣ рд▓рдЧрддрд╛ рд╣реИ, рдпрджрд┐ рдЖрдк рдереЛрдбрд╝реА рджреЗрд░ рдХреЗ рд▓рд┐рдП рдЖрд╕рдкрд╛рд╕ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдЖрдкрдиреЗ "рд╡рд┐рд░рд╛рд╕рдд" рдХреЛрдбрдмреЗрд╕ рдкрд░ рдХрд╛рдо рдХрд┐рдпрд╛ рд╣реЛрдЧрд╛, рдЬрд╣рд╛рдВ рдбрд┐рдЬрд╛рдЗрдирд░ рдЯреВрдЯ рдЧрдпрд╛ рд╣реИ рдФрд░ рдХреБрдЫ рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЛ рд╡рд╛рдкрд╕ рдХрд╛рдо рдХрд░рдирд╛ рдмрдВрдж рдХрд░ рджрд┐рдпрд╛ рд╣реИ, рдФрд░ рдЖрдкрдХреЛ .designer.cs рдореЗрдВ рд╣рдЬрд╝рд╛рд░реЛрдВ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЛ рд╣рд╛рде рд╕реЗ рд╕рдордЭрдирд╛ рдФрд░ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдЪреВрдВрдХрд┐ рдЗрд╕ рддрд░рд╣ рдХреЗ рдХреЛрдбрдмреЗрд╕ рдореЗрдВ рд╕рдмрд╕реЗ рдЫреЛрдЯрд╛ рдкрд░рд┐рд╡рд░реНрддрди (рдЬреИрд╕реЗ рдПрдХ рдмрдЯрди рдХреЛ рд╕рдВрд░реЗрдЦрд┐рдд рдХрд░рдирд╛) рдореЗрдВ рдПрдХ рдпрд╛ рджреЛ рджрд┐рди рд▓рдЧ рд╕рдХрддреЗ рд╣реИрдВ - рдЙрди рд╕рднреА рдЙрддреНрдкрд╛рджрдХрддрд╛ рд▓рд╛рднреЛрдВ рдкрд░ рдкреБрдирд░реНрд╡рд┐рдЪрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред (рдкрд╣рд▓реЗ WinForms рдФрд░ WebForms рджреЛрдиреЛрдВ рдХреЗ рд╕рд╛рде рд╡реЗ рдЕрдиреБрднрд╡ рдереЗ)ред

рдЬрдм рдПрдХреНрд╕рдПрдПрдордПрд▓ рдХреА рдмрд╛рдд рдЖрддреА рд╣реИ, рддреЛ рдлреИрдмреБрд▓рд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЗрд╕ рдмрд╛рдд рдореЗрдВ рднрд╛рд░реА рдЯреВрд▓рд┐рдВрдЧ рдкрд░ рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ

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