рдХреЙрдкреА-рдкреЗрд╕реНрдЯ рд╕реЗ рдШрдЯрдХреЛрдВ рддрдХ: рд╡рд┐рднрд┐рдиреНрди рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ рдХреЛрдб рдХрд╛ рдкреБрди: рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛



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

рдкреНрд░рддреНрдпреЗрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рд╡рд┐рдХрд╛рд╕ рдЕрдкрдиреЗ рддрд░реАрдХреЗ рд╕реЗ рд╣реБрдЖред рдХреЛрдб рдЖрдзрд╛рд░ рди рдХреЗрд╡рд▓ рд╡рд┐рднрд┐рдиреНрди рд╕рдордп рд╕реАрдорд╛ рдФрд░ рдЙрддреНрдкрд╛рдж рд╕рдорд╛рдзрд╛рдиреЛрдВ рд╕реЗ рдкреНрд░рднрд╛рд╡рд┐рдд рдерд╛, рдмрд▓реНрдХрд┐ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреА рджреГрд╖реНрдЯрд┐ рд╕реЗ рднреА рдкреНрд░рднрд╛рд╡рд┐рдд рдерд╛ред рдЕрдВрдд рдореЗрдВ, рд╣рдордиреЗ рджреЗрдЦрд╛ рдХрд┐ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рд╕рдорд╛рди рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рд╣реИ, рдЬреЛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдореЗрдВ рдореМрд▓рд┐рдХ рд░реВрдк рд╕реЗ рднрд┐рдиреНрди рд╣реИред

рдлрд┐рд░ рд╣рдордиреЗ рдПрдХ рд╕рдВрд░рдЪрдирд╛ рдореЗрдВ рдЖрдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛, рдЬреЛ рд╣рдореЗрдВ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рдмреАрдЪ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХрд╛ рдкреБрди: рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдЕрд╡рд╕рд░ рджреЗрдЧрд╛ред рдЕрдм, рд╡реНрдпрдХреНрддрд┐рдЧрдд рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп, рд╣рдо рд╕рд╛рдорд╛рдиреНрдп рдШрдЯрдХ рдмрдирд╛рддреЗ рд╣реИрдВ рдЬреЛ рд╕рднреА рдЙрддреНрдкрд╛рджреЛрдВ рдореЗрдВ рдПрдХреАрдХреГрдд рд╣реЛрддреЗ рд╣реИрдВред рдпрджрд┐ рдЖрдк рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ рдХрд┐ рд╣рдо рдЗрд╕рдореЗрдВ рдХреИрд╕реЗ рдЖрдП, рддреЛ рдмрд┐рд▓реНрд▓реА рдХрд╛ рд╕реНрд╡рд╛рдЧрдд рдХрд░реЗрдВред

рд▓реЗрдХрд┐рди рдкрд╣рд▓реЗ, рдЖрдЗрдП рдЙрди рд╕рдорд╕реНрдпрд╛рдУрдВ рдкрд░ рдзреНрдпрд╛рди рджреЗрдВ, рдЬрд┐рдирдХреЗ рд╕рдорд╛рдзрд╛рди рд╕реЗ рд╕рд╛рдорд╛рдиреНрдп рдШрдЯрдХреЛрдВ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рд╣реБрдЖред рдЙрдирдореЗрдВ рд╕реЗ рдХрдИ рдереЗ:

  • рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рдмреАрдЪ рдХреЙрдкреА-рдкреЗрд╕реНрдЯ;
  • рдкреНрд░рдХреНрд░рд┐рдпрд╛рдПрдВ рдЬреЛ рдкрд╣рд┐рдпреЛрдВ рдореЗрдВ рдЪрд┐рдкрдХ рдЬрд╛рддреА рд╣реИрдВ;
  • рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреА рд╡рд┐рднрд┐рдиреНрди рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ред



рдпрд╣ рд▓реЗрдЦ AppsConf 2019 рдХреЗ рд╕рд╛рде рдореЗрд░реА рд░рд┐рдкреЛрд░реНрдЯ рдХрд╛ рдПрдХ рдкрд╛рда рд╕рдВрд╕реНрдХрд░рдг рд╣реИ, рдЬрд┐рд╕реЗ рдпрд╣рд╛рдВ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ ред

рд╕рдорд╕реНрдпрд╛: рдХреЙрдкреА рдкреЗрд╕реНрдЯ


рдХреБрдЫ рд╕рдордп рдкрд╣рд▓реЗ, рдЬрдм рдкреЗрдбрд╝ рдореБрд░рдЭрд╛рдпреЗ рд╣реБрдП рдереЗ, рдШрд╛рд╕ рдХреА рд╣рд░рд┐рдпрд╛рд▓реА рдереА, рдФрд░ рдореИрдВ рдПрдХ рд╕рд╛рд▓ рдЫреЛрдЯрд╛ рдерд╛, рд╣рдо рдЕрдХреНрд╕рд░ рдирд┐рдореНрди рд╕реНрдерд┐рддрд┐ рд░рдЦрддреЗ рдереЗред

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

рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рд╣рдорд╛рд░реЗ рд╕рднреА рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╡рд┐рднрд┐рдиреНрди рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рд╣реИрдВред



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

рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдЖрдВрджреНрд░реЗрдИ рдпрд╛ рддреЛ рдЕрдкрдирд╛ рдирд┐рд░реНрдгрдп (рдЬреЛ рдХрд┐ 80% рдорд╛рдорд▓реЛрдВ рдореЗрдВ рд╣реЛрддрд╛ рд╣реИ) рд▓рд┐рдЦреЗрдЧрд╛ рдпрд╛ рд▓рд╛рдпреЛрд╢рд╛ рдХреЗ рд╕рдорд╛рдзрд╛рди рдХреЛ рдХреЙрдкреА-рдкреЗрд╕реНрдЯ рдХрд░реЗрдЧрд╛ рдФрд░ рдЗрд╕рдореЗрдВ рд╕рдм рдХреБрдЫ рдмрджрд▓ рджреЗрдЧрд╛ рддрд╛рдХрд┐ рдпрд╣ рдЙрд╕рдХреЗ рдЖрд╡реЗрджрди, рдХрд╛рд░реНрдп рдпрд╛ рдордиреЛрджрд╢рд╛ рдкрд░ рдлрд┐рдЯ рдмреИрдареЗред



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

рдпрд╣ рд╕реНрдерд┐рддрд┐ рдХрдИ рд╕рдорд╕реНрдпрд╛рдПрдВ рд▓рд╛рддреА рд╣реИред

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

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

рддреАрд╕рд░рд╛, рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдмрд╣реБрдд рдЕрд▓рдЧ рд╣реИ: рдПрдорд╡реАрдкреА рд╕реЗ рдПрдорд╡реАрдЖрдИ рддрдХ, рдИрд╢реНрд╡рд░ рдЧрддрд┐рд╡рд┐рдзрд┐ рд╕реЗ рдПрдХрд▓ рдЧрддрд┐рд╡рд┐рдзрд┐ рддрдХред

рдареАрдХ рд╣реИ, "рдХрд╛рд░реНрдпрдХреНрд░рдо рдХрд╛ рдореБрдЦреНрдп рдЖрдХрд░реНрд╖рдг": рдЖрд╡реЗрджрди рд╡рд┐рднрд┐рдиреНрди рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рд╣реИрдВ, рдкреНрд░рддреНрдпреЗрдХ рдХреА рдЕрдкрдиреА рдкреНрд░рдХреНрд░рд┐рдпрд╛рдПрдВ рд╣реИрдВред

рдЗрди рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рдЦрд┐рд▓рд╛рдл рд▓рдбрд╝рд╛рдИ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ, рд╣рдо рд╕рднреА рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рдмреАрдЪ рд╣рдорд╛рд░реА рд╕рд░реНрд╡реЛрддреНрддрдо рдкреНрд░рдерд╛рдУрдВ (рддрд░реНрдХ рдФрд░ UI рджреЛрдиреЛрдВ) рдХрд╛ рдкреБрди: рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдВрддрд┐рдо рд▓рдХреНрд╖реНрдп рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВред

рдирд┐рд░реНрдгрдп: рд╣рдо рдкреНрд░рдХреНрд░рд┐рдпрд╛рдПрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╣реИрдВ


рдЙрдкрд░реЛрдХреНрдд рд╕рдорд╕реНрдпрд╛рдУрдВ рдореЗрдВ рд╕реЗ, рджреЛ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИрдВ:

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

рдЖрдЗрдП рдкрд╣рд▓реЗ рд╕реЗ рд╢реБрд░реВ рдХрд░реЗрдВ: рд╣рдо рдПрдХ рд╣реА рдореЙрдбреНрдпреВрд▓ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╕рд╛рде рджреЛ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВред рд╕реИрджреНрдзрд╛рдВрддрд┐рдХ рд░реВрдк рд╕реЗ, рд╣рдо git-subtree рдпрд╛ рдЗрд╕реА рддрд░рд╣ рдХреЗ рд╕рдорд╛рдзрд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЖрдо рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЙрдбреНрдпреВрд▓ рдХреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рдбрд╛рд▓ рд╕рдХрддреЗ рд╣реИрдВред



рд╕рдВрд╢реЛрдзрди рдХреЗ рджреМрд░рд╛рди рд╕рдорд╕реНрдпрд╛ рд╣реЛрддреА рд╣реИред рдУрдкрди-рд╕реЛрд░реНрд╕ рдкреНрд░реЛрдЬреЗрдХреНрдЯреНрд╕ рдХреЗ рд╡рд┐рдкрд░реАрдд, рдЬрд┐рдирдХреЗ рдкрд╛рд╕ рд╕реНрдерд┐рд░ рдПрдкреАрдЖрдИ рд╣реИ рдФрд░ рдмрд╛рд╣рд░реА рд╕реНрд░реЛрддреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╡рд┐рддрд░рд┐рдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рдЕрдХреНрд╕рд░ рдЖрдВрддрд░рд┐рдХ рдШрдЯрдХреЛрдВ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рд╣реЛрддреЗ рд╣реИрдВ рдЬреЛ рд╕рдм рдХреБрдЫ рддреЛрдбрд╝ рджреЗрддреЗ рд╣реИрдВред рд╕рдмрдЯреНрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп, рдЗрд╕ рддрд░рд╣ рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░рд╡рд╛рд╕ рдореЗрдВ рджрд░реНрдж рд╣реЛрддрд╛ рд╣реИред

IOS рдЯреАрдо рдХреЗ рдореЗрд░реЗ рд╕рд╣рдпреЛрдЧрд┐рдпреЛрдВ рдХреЗ рдкрд╛рд╕ рднреА рдРрд╕рд╛ рд╣реА рдЕрдиреБрднрд╡ рд╣реИ, рдФрд░ рдпрд╣ рдмрд╣реБрдд рд╕рдлрд▓ рдирд╣реАрдВ рд╣реБрдЖ, рдХреНрдпреЛрдВрдХрд┐ рдПрдВрдЯреЛрди рд╢реБрдХрд┐рди рдиреЗ рдкрд┐рдЫрд▓реЗ рд╕рд╛рд▓ рдореЛрдмрд┐рдпрд╕ рд╕рдореНрдореЗрд▓рди рдореЗрдВ рдмрд╛рдд рдХреА рдереАред

рдЕрдзреНрдпрдпрди рдХрд░рдиреЗ рдФрд░ рдЙрдирдХреЗ рдЕрдиреБрднрд╡ рдХреЛ рд╕рдордЭрдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдордиреЗ рдПрдХ рдПрдХрд▓ рднрдВрдбрд╛рд░ рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд┐рдпрд╛ред рд╕рднреА Android рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЕрдм рдПрдХ рд╣реА рд╕реНрдерд╛рди рдкрд░ рд╣реИрдВ, рдЬрд┐рд╕рд╕реЗ рд╣рдореЗрдВ рдХреБрдЫ рд▓рд╛рдн рдорд┐рд▓рддреЗ рд╣реИрдВ:

  • рдЖрдк рд╕реБрд░рдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рдЧреНрд░реЗрдб рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХреЛрдб рдХрд╛ рдкреБрди: рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ;
  • рд╣рдо рдмрд┐рд▓реНрдб рдФрд░ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реАрдЖрдИ рдкрд░ рдЯреВрд▓рдХрд┐рди рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдореЗрдВ рдХрд╛рдордпрд╛рдм рд░рд╣реЗ;
  • рдЗрди рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдиреЗ рдЯреАрдореЛрдВ рдХреЗ рдмреАрдЪ рд╢рд╛рд░реАрд░рд┐рдХ рдФрд░ рдХреБрдЫ рдорд╛рдирд╕рд┐рдХ рдЕрд╡рд░реЛрдз рдХреЛ рд╣рдЯрд╛ рджрд┐рдпрд╛, рдХреНрдпреЛрдВрдХрд┐ рдЕрдм рд╣рдо рдПрдХ-рджреВрд╕рд░реЗ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдФрд░ рд╕рдорд╛рдзрд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рддрдВрддреНрд░ рд╣реИрдВред

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

рджреВрд╕рд░реА рд╕рдорд╕реНрдпрд╛ - рдЯреАрдореЛрдВ рдХреЗ рдмреАрдЪ рдмрд╛рддрдЪреАрдд - рдХрдИ рднрд╛рдЧреЛрдВ рд╕реЗ рдорд┐рд▓рдХрд░ рдмрдиреА:

  • рд╕реНрдерд╛рдкрд┐рдд рд╕рдВрдЪрд╛рд░ рдХреЗ рдмрд┐рдирд╛ рдЕрд▓рдЧ рдЯреАрдореЛрдВ;
  • рд╕рд╛рдорд╛рдиреНрдп рдореЙрдбреНрдпреВрд▓ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░реА рдХрд╛ рдЕрдкреНрд░рддреНрдпрдХреНрд╖ рд╡рд┐рддрд░рдг;
  • рдЙрддреНрдкрд╛рдж рдЯреАрдореЛрдВ рдХреА рд╡рд┐рднрд┐рдиреНрди рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВред

рдЗрд╕реЗ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдордиреЗ рдЯреАрдореЛрдВ рдХрд╛ рдЧрдарди рдХрд┐рдпрд╛ рдЬреЛ рдкреНрд░рддреНрдпреЗрдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдХреБрдЫ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдореЗрдВ рд▓рдЧреЗ рд╣реБрдП рд╣реИрдВ: рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЪреИрдЯ рдпрд╛ рдкрдВрдЬреАрдХрд░рдгред рд╡рд┐рдХрд╛рд╕ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╡реЗ рдЗрди рдШрдЯрдХреЛрдВ рдХреЛ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдореЗрдВ рдПрдХреАрдХреГрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рднреА рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИрдВред

рдЙрддреНрдкрд╛рдж рдЯреАрдореЛрдВ рдХреЗ рдкрд╛рд╕ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЙрдирдХреЗ рд╣рд╛рде рдореЗрдВ рдореМрдЬреВрджрд╛ рдШрдЯрдХ рд╣реИрдВ, рдЙрдиреНрд╣реЗрдВ рд╕реБрдзрд╛рд░рдиреЗ рдФрд░ рдХрд┐рд╕реА рд╡рд┐рд╢реЗрд╖ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреА рдЬрд░реВрд░рддреЛрдВ рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред

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

рд╕рдорд╛рдзрд╛рди: рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдХреЛ рд╕реБрд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рдирд╛


рдкреБрди: рдЙрдкрдпреЛрдЧ рдХреА рджрд┐рд╢рд╛ рдореЗрдВ рд╣рдорд╛рд░рд╛ рдЕрдЧрд▓рд╛ рдХрджрдо рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдХреЛ рд╕реБрд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рдирд╛ рдерд╛ред рд╣рдордиреЗ рдРрд╕рд╛ рдХреНрдпреЛрдВ рдХрд┐рдпрд╛?

рд╣рдорд╛рд░рд╛ рдХреЛрдб рдЖрдзрд╛рд░ рдХрдИ рд╡рд░реНрд╖реЛрдВ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХреА рдРрддрд┐рд╣рд╛рд╕рд┐рдХ рд╡рд┐рд░рд╛рд╕рдд рдХреЛ рд╡рд╣рди рдХрд░рддрд╛ рд╣реИред рд╕рдордп рдФрд░ рд▓реЛрдЧреЛрдВ рдХреЗ рд╕рд╛рде, рджреГрд╖реНрдЯрд┐рдХреЛрдг рдмрджрд▓ рдЧрдПред рдЗрд╕рд▓рд┐рдП рд╣рдордиреЗ рдЦреБрдж рдХреЛ рд╡рд╛рд╕реНрддреБрд╢рд┐рд▓реНрдк рдХреЗ рдкреВрд░реЗ рдЪрд┐рдбрд╝рд┐рдпрд╛рдШрд░ рдХреЗ рд╕рд╛рде рдПрдХ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдкрд╛рдпрд╛, рдЬрд┐рд╕рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рдорд╕реНрдпрд╛рдПрдВ рдереАрдВ:

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

рдЕрдВрдд рдореЗрдВ, рд╣рдо рдПрдорд╡реАрдЖрдИ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдкрд░ рдмрд╕ рдЧрдП, рдЬрд┐рд╕реЗ рд╣рдордиреЗ рдЕрдкрдиреЗ рдПрдорд╡реАрдЖрдИрд╕реА рд▓рд╛рдЗрдмреНрд░реЗрд░реА (рдЧрд┐рдЯрд╣рдм) рдореЗрдВ рд╕рдВрд░рдЪрд┐рдд рдХрд┐рдпрд╛ред рд╣рдо рдЗрд╕рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рдереЗ - рдкрд░рдорд╛рдгреБ рд░рд╛рдЬреНрдп рдЕрдкрдбреЗрдЯ, рдЬреЛ рд╣рдореЗрд╢рд╛ рд╡реИрдзрддрд╛ рдХреА рдЧрд╛рд░рдВрдЯреА рджреЗрддреЗ рд╣реИрдВред рд╣рдо рдереЛрдбрд╝рд╛ рдЖрдЧреЗ рдмрдврд╝ рдЧрдП рдФрд░ рддрд╛рд░реНрдХрд┐рдХ рдФрд░ рдкреНрд░рд╕реНрддреБрддрд┐ рдкрд░рддреЛрдВ рдХреЗ рд░рд╛рдЬреНрдпреЛрдВ рдХреЛ рдЬреЛрдбрд╝ рджрд┐рдпрд╛, рд╡рд┐рдЦрдВрдбрди рдХреЛ рдХрдо рдХрд┐рдпрд╛ред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рд╣рдо рдПрдХ рдРрд╕реА рд╕рдВрд░рдЪрдирд╛ рдореЗрдВ рдЖрддреЗ рд╣реИрдВ рдЬрд╣рд╛рдВ рддрд░реНрдХ рдХреЗ рд▓рд┐рдП рдПрдХрдорд╛рддреНрд░ рдЗрдХрд╛рдИ рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИ, рдФрд░ рдХреЗрд╡рд▓ рд░рд╛рдЬреНрдп рд╕реЗ рдмрдирд╛рдП рдЧрдП рдореЙрдбрд▓ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИред



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

рдЖрдЗрдП рдПрдХ рд╕рд╛рдзрд╛рд░рдг рд╕реНрдХреНрд░реАрди рдХреЗ рдЙрджрд╛рд╣рд░рдг рдХреЛ рджреЗрдЦреЗрдВ рдХрд┐ рдпрд╣ рд╡рд╛рд╕реНрддрд╡рд┐рдХрддрд╛ рдореЗрдВ рдХреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИред



рд╣рдо рдореВрд▓ RxJava рдЗрдВрдЯрд░рдлреЗрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЙрди рддрддреНрд╡реЛрдВ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░рддреЗ рд╣реИрдВ рдЬрд┐рдирдХреЗ рд╕рд╛рде рддрддреНрд╡ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдЗрдирдкреБрдЯ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдЙрдкрднреЛрдХреНрддрд╛ <рдЯреА>, рдЖрдЙрдЯрдкреБрдЯ - рдСрдмреНрдЬрд░реНрд╡реЗрдмрд▓ рд╕реЛрд░реНрд╕ <рдЯреА> рджреНрд╡рд╛рд░рд╛ рджрд░реНрд╢рд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред

// input = Consumer<ViewModel> // output = ObservableSource<Event> class View( val events: PublishRelay<Event> ): ObservableSource<Event> by events, Consumer<ViewModel> { val button: Button val textView: TextView init { button.setOnClickListener { events.accept(Event.ButtonClick) } } override fun accept(model: ViewModel) { textView.text = model.text } } 

рдЗрди рдЗрдВрдЯрд░рдлреЗрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рд╣рдо View рдХреЛ Consumer <ViewModel> рдФрд░ ObservableSource <Event> рдХреЗ рд░реВрдк рдореЗрдВ рд╡реНрдпрдХреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ ViewModel рдореЗрдВ рдХреЗрд╡рд▓ рд╕реНрдХреНрд░реАрди рдХреА рд╕реНрдерд┐рддрд┐ рд╣реЛрддреА рд╣реИ рдФрд░ рдЗрд╕рдХрд╛ MVVM рдХреЗ рд╕рд╛рде рдмрд╣реБрдд рдХрдо рд╕рдВрдмрдВрдз рд╣реЛрддрд╛ рд╣реИред рдореЙрдбрд▓ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдо рдЗрд╕рд╕реЗ рдбреЗрдЯрд╛ рджрд┐рдЦрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдЬрдм рд╣рдо рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рдИрд╡реЗрдВрдЯ рднреЗрдЬрддреЗ рд╣реИрдВ, рдЬреЛ рдмрд╛рд╣рд░ рдкреНрд░рд╕рд╛рд░рд┐рдд рд╣реЛрддрд╛ рд╣реИред

 // input = Consumer<Wish> // output = ObservableSource<State> class Feature: ReducerFeature<Wish, State>( initialState = State(counter = 0), reducer = ReducerImpl() ) { class ReducerImpl: Reducer<Wish, State> { override fun invoke(state: State, wish: Wish) = when (wish) { is Increment -> state.copy(counter = state.counter + 1) } } } 

рд╕реБрд╡рд┐рдзрд╛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдСрдмреНрдЬрд░реНрд╡реЗрдмрд▓ рд╕реЛрд░реНрд╕ рдФрд░ рдЙрдкрднреЛрдХреНрддрд╛ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддреА рд╣реИ; рд╣рдореЗрдВ рд╡рд╣рд╛рдВ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдЕрд╡рд╕реНрдерд╛ (0 рдХреЗ рдмрд░рд╛рдмрд░ рдХрд╛рдЙрдВрдЯрд░) рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдФрд░ рдЗрдВрдЧрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдХреЛ рдХреИрд╕реЗ рдмрджрд▓рдирд╛ рд╣реИред

рд╡рд┐рд╢ рдкрд╛рд╕ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, Reducer рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рдЕрдВрддрд┐рдо рд╕реНрдерд┐рддрд┐ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдПрдХ рдирдпрд╛ рдмрдирд╛рддрд╛ рд╣реИред Reducer рдХреЗ рдЕрд▓рд╛рд╡рд╛, рддрд░реНрдХ рдХреЛ рдЕрдиреНрдп рдШрдЯрдХреЛрдВ рджреНрд╡рд╛рд░рд╛ рд╡рд░реНрдгрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЖрдк рдпрд╣рд╛рдВ рдЙрдирдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рди рд╕рдХрддреЗ рд╣реИрдВред

рджреЛ рддрддреНрд╡реЛрдВ рдХреЛ рдмрдирд╛рдиреЗ рдХреЗ рдмрд╛рдж, рдЙрдиреНрд╣реЗрдВ рдЬреЛрдбрд╝рдирд╛ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рд╢реЗрд╖ рд╣реИред


 val eventToWish: (Event) -> Wish = { when (it) { is ButtonClick -> Increment } } val stateToModel: (State) -> ViewModel = { ViewModel(text = state.counter.toString()) } Binder().apply { bind(view to feature using eventToWish) bind(feature to view using stateToModel) } 

рдкрд╣рд▓реЗ, рд╣рдо рдЗрдВрдЧрд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рд╣рдо рдПрдХ рдкреНрд░рдХрд╛рд░ рдХреЗ рддрддреНрд╡ рдХреЛ рджреВрд╕рд░реЗ рдореЗрдВ рдХреИрд╕реЗ рдмрджрд▓рддреЗ рд╣реИрдВред рддреЛ, ButtonClick Increment рдмрди рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рд░рд╛рдЬреНрдп рдХрд╛ рдХрд╛рдЙрдВрдЯрд░ рдлрд╝реАрд▓реНрдб рдЯреЗрдХреНрд╕реНрдЯ рдореЗрдВ рдЪрд▓рд╛ рдЬрд╛рддрд╛ рд╣реИред

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

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



рдЕрдВрдЧ


рдЕрдВрдд рдореЗрдВ, рд╣рдо рдШрдЯрдХреЛрдВ рдкрд░ рдЪрд▓рддреЗ рд╣реИрдВред рд╡реЗ рдХреНрдпрд╛ рдкрд╕рдВрдж рд╣реИрдВ?

рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рд╕реНрдХреНрд░реАрди рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ рдФрд░ рдЗрд╕реЗ рддрд╛рд░реНрдХрд┐рдХ рднрд╛рдЧреЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░реЗрдВред



рдЗрд╕реЗ рдкреНрд░рддрд┐рд╖реНрдард┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:

  • рд╢реАрд░реНрд╖ рдкрд░ рд▓реЛрдЧреЛ рдФрд░ рдмрдЯрди рдХреЗ рд╕рд╛рде рдЯреВрд▓рдмрд╛рд░;
  • рдПрдХ рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓ рдФрд░ рд▓реЛрдЧреЛ рдХреЗ рд╕рд╛рде рдПрдХ рдХрд╛рд░реНрдб;
  • рдЗрдВрд╕реНрдЯрд╛рдЧреНрд░рд╛рдо рд╕реЗрдХреНрд╢рдиред

рдЗрди рднрд╛рдЧреЛрдВ рдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдмрд╣реБрдд рд╣реА рдШрдЯрдХ рд╣реИ рдЬрд┐рд╕реЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрд▓рдЧ рд╕рдВрджрд░реНрдн рдореЗрдВ рдкреБрди: рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рддреЛ, рдЗрдВрд╕реНрдЯрд╛рдЧреНрд░рд╛рдо рдЕрдиреБрднрд╛рдЧ рдПрдХ рдЕрдиреНрдп рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓ рд╕рдВрдкрд╛рджрди рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рдмрди рд╕рдХрддрд╛ рд╣реИред



рд╕рд╛рдорд╛рдиреНрдп рдорд╛рдорд▓реЗ рдореЗрдВ, рдПрдХ рдШрдЯрдХ рдХрдИ рд╡реНрдпреВ, рд▓реЙрдЬрд┐рдХ рддрддреНрд╡ рдФрд░ рдиреЗрд╕реНрдЯреЗрдб рдШрдЯрдХ рд╣реИрдВ, рдЬреЛ рд╕рд╛рдорд╛рдиреНрдп рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рджреНрд╡рд╛рд░рд╛ рдПрдХрдЬреБрдЯ рд╣реЛрддреЗ рд╣реИрдВред рдФрд░ рддреБрд░рдВрдд рд╕рд╡рд╛рд▓ рдЙрдарддрд╛ рд╣реИ: рдЙрдиреНрд╣реЗрдВ рдПрдХ рд╕рдорд░реНрдерд┐рдд рд╕рдВрд░рдЪрдирд╛ рдореЗрдВ рдХреИрд╕реЗ рдЗрдХрдЯреНрдард╛ рдХрд┐рдпрд╛ рдЬрд╛рдП?

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

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

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

 object SomeScopedComponent : ScopedComponent<SomeComponent>() { override fun create(): SomeComponent { return DaggerSomeComponent.builder() .build() } override fun SomeComponent.subscribe(): Array<Disposable> = arrayOf( Binder().apply { bind(feature().news to otherFeature()) bind(feature() to view()) } ) } 

рдПрдХ рд╕рд╛рде рджреЛ рд╕реНрдерд╛рдиреЛрдВ рдкрд░ рд╕рдорд╕реНрдпрд╛рдПрдВ рд╢реБрд░реВ рд╣реБрдИрдВ:

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

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



рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдордиреЗ рддрддреНрд╡реЛрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЬрд┐рдореНрдореЗрджрд╛рд░реА рд╕рд╛рдЭрд╛ рдХреАред рд▓реЗрдХрд┐рди рд╣рдордиреЗ рдЕрднреА рднреА рд╕реНрдХреНрд░реАрди рдкрд░ рдШрдЯрдХреЛрдВ рдХреЛ рд╕рд╛рдЭрд╛ рдХрд┐рдпрд╛ рд╣реИ, рдЬреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рд╣рд╛рде рдореЗрдВ рдирд╣реАрдВ рдерд╛, рдЬрд┐рд╕рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдПрдХ рд╣реА рд╕реНрдерд╛рди рдкрд░ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдирд┐рд░реНрднрд░рддрд╛рдПрдВ рдереАрдВред

 @Scope internal class ComponentImpl @Inject constructor( private val params: ScreenParams, news: NewsRelay, @OnDisposeAction onDisposeAction: () -> Unit, globalFeature: GlobalFeature, conversationControlFeature: ConversationControlFeature, messageSyncFeature: MessageSyncFeature, conversationInfoFeature: ConversationInfoFeature, conversationPromoFeature: ConversationPromoFeature, messagesFeature: MessagesFeature, messageActionFeature: MessageActionFeature, initialScreenFeature: InitialScreenFeature, initialScreenExplanationFeature: InitialScreenExplanationFeature?, errorFeature: ErrorFeature, conversationInputFeature: ConversationInputFeature, sendRegularFeature: SendRegularFeature, sendContactForCreditsFeature: SendContactForCreditsFeature, screenEventTrackingFeature: ScreenEventTrackingFeature, messageReadFeature: MessageReadFeature?, messageTimeFeature: MessageTimeFeature?, photoGalleryFeature: PhotoGalleryFeature?, onlineStatusFeature: OnlineStatusFeature?, favouritesFeature: FavouritesFeature?, isTypingFeature: IsTypingFeature?, giftStoreFeature: GiftStoreFeature?, messageSelectionFeature: MessageSelectionFeature?, reportingFeature: ReportingFeature?, takePhotoFeature: TakePhotoFeature?, giphyFeature: GiphyFeature, goodOpenersFeature: GoodOpenersFeature?, matchExpirationFeature: MatchExpirationFeature, private val pushIntegration: PushIntegration ) : AbstractMviComponent<UiEvent, States>( 

рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╕рд╣реА рд╕рдорд╛рдзрд╛рди рдШрдЯрдХ рдХреЛ рддреЛрдбрд╝рдирд╛ рд╣реИред рдЬреИрд╕рд╛ рдХрд┐ рд╣рдордиреЗ рдКрдкрд░ рджреЗрдЦрд╛, рдкреНрд░рддреНрдпреЗрдХ рд╕реНрдХреНрд░реАрди рдореЗрдВ рдХрдИ рддрд╛рд░реНрдХрд┐рдХ рддрддреНрд╡ рд╣реЛрддреЗ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рд╣рдо рд╕реНрд╡рддрдВрддреНрд░ рднрд╛рдЧреЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдереЛрдбрд╝рд╛ рдкреНрд░рддрд┐рдмрд┐рдВрдм рдХреЗ рдмрд╛рдж, рд╣рдо рдПрдХ рдкреЗрдбрд╝ рдХреА рд╕рдВрд░рдЪрдирд╛ рдореЗрдВ рдЖрдП рдФрд░, рдореМрдЬреВрджрд╛ рдШрдЯрдХреЛрдВ рд╕реЗ рднреЛрд▓реЗрдкрди рд╕реЗ рдЗрд╕рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд┐рдпрд╛, рд╣рдореЗрдВ рдпрд╣ рдпреЛрдЬрдирд╛ рдорд┐рд▓реА:



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



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

рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдкрд┐рдЫрд▓реЗ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐рдпреЛрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ, рд╣рдореЗрдВ рдпрд╣ рдорд┐рд▓рддрд╛ рд╣реИ:

  • рдПрдХ рдШрдЯрдХ рдХреЗ рдЕрдВрджрд░ рд╕рдордЭрд╛рдпрд╛ рддрд░реНрдХ;
  • рдШреЛрдВрд╕рд▓реЗ рдХреЗ рд╢рд┐рдХрд╛рд░ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди, рдЬреЛ рд╕реНрдХреНрд░реАрди рдХреЛ рднрд╛рдЧреЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рдмрдирд╛рддрд╛ рд╣реИ;
  • MVICore рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдХреЗ рд╕рд╛рде рдЗрдирдкреБрдЯ / рдЖрдЙрдЯрдкреБрдЯ рд╕реЗ рдПрдХ рд╕рдЦреНрдд рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЕрдиреНрдп рдШрдЯрдХреЛрдВ рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд;
  • рдШрдЯрдХ рдирд┐рд░реНрднрд░рддрд╛ рдХрд╛ рд╕рдВрдХрд▓рди-рд╕рдордп рд╕реБрд░рдХреНрд╖рд┐рдд рдХрдиреЗрдХреНрд╢рди (рдбреАрдЖрдИрдЬреА рдХреЗ рд░реВрдк рдореЗрдВ рдбреИрдЧрд░ рдкрд░ рдирд┐рд░реНрднрд░)ред

рдмреЗрд╢рдХ, рдпрд╣ рд╕рднреА рд╕реЗ рджреВрд░ рд╣реИред GitHub рдкрд░ рднрдВрдбрд╛рд░ рдореЗрдВ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддреГрдд рдФрд░ рдЕрджреНрдпрддрд┐рдд рд╡рд┐рд╡рд░рдг рд╢рд╛рдорд┐рд▓ рд╣реИред

рдФрд░ рдпрд╣рд╛рдБ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдЖрджрд░реНрд╢ рджреБрдирд┐рдпрд╛ рд╣реИред рдЗрд╕рдореЗрдВ рдРрд╕реЗ рдШрдЯрдХ рд╣реИрдВ рдЬрд┐рдирд╕реЗ рд╣рдо рдПрдХ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдкреБрди: рдкреНрд░рдпреЛрдЬреНрдп рдкреЗрдбрд╝ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рд▓реЗрдХрд┐рди рд╣рдо рдПрдХ рдЕрдкреВрд░реНрдг рджреБрдирд┐рдпрд╛ рдореЗрдВ рд░рд╣рддреЗ рд╣реИрдВред

рд╡рд╛рд╕реНрддрд╡рд┐рдХрддрд╛ рдореЗрдВ рдЖрдкрдХрд╛ рд╕реНрд╡рд╛рдЧрдд рд╣реИ!


рдЕрдкреВрд░реНрдг рджреБрдирд┐рдпрд╛ рдореЗрдВ, рдЪреАрдЬреЛрдВ рдХрд╛ рдПрдХ рдЧреБрдЪреНрдЫрд╛ рд╣реЛрддрд╛ рд╣реИ, рдЬрд┐рдиреНрд╣реЗрдВ рд╣рдореЗрдВ рдЕрдкрдиреЗ рд╕рд╛рде рд░рдЦрдирд╛ рд╣реЛрддрд╛ рд╣реИред рд╣рдо рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЪрд┐рдВрддрд┐рдд рд╣реИрдВ:

  • рд╡рд┐рднрд┐рдиреНрди рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛рдУрдВ: рд╕рднреА рдПрдХреАрдХрд░рдг рдХреЗ рдмрд╛рд╡рдЬреВрдж, рд╣рдо рдЕрднреА рднреА рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЗ рд╕рд╛рде рд╡реНрдпрдХреНрддрд┐рдЧрдд рдЙрддреНрдкрд╛рджреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ;
  • рд╕рдорд░реНрдерди: рдП / рдмреА рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рддрд╣рдд рдирдИ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЗ рдмрд┐рдирд╛ рдХреИрд╕реЗ?
  • рд╡рд┐рд░рд╛рд╕рдд (рд╡рд╣ рд╕рдм рдХреБрдЫ рдЬреЛ рд╣рдорд╛рд░реА рдирдИ рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рд╕реЗ рдкрд╣рд▓реЗ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдерд╛)ред

рд╕рдорд╛рдзрд╛рдиреЛрдВ рдХреА рдЬрдЯрд┐рд▓рддрд╛ рддреЗрдЬреА рд╕реЗ рдмрдврд╝ рдЬрд╛рддреА рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдХреБрдЫ рдХреЛ рд╕рд╛рдорд╛рдиреНрдп рдШрдЯрдХреЛрдВ рдореЗрдВ рдЬреЛрдбрд╝рддрд╛ рд╣реИред

рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдШрдЯрдХ рдХреЗ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рдкрдВрдЬреАрдХрд░рдг рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ рдЬреЛ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ рдПрдХреАрдХреГрдд рд╣реЛрддрд╛ рд╣реИред рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдкрдВрдЬреАрдХрд░рдг рдЙрди рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЗ рд╕рд╛рде рд╕реНрдХреНрд░реАрди рдХреА рдПрдХ рд╢реНрд░реГрдВрдЦрд▓рд╛ рд╣реИ рдЬреЛ рдкреВрд░реЗ рдкреНрд░рд╡рд╛рд╣ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддреЗ рд╣реИрдВред рдкреНрд░рддреНрдпреЗрдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреА рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╕реНрдХреНрд░реАрди рдФрд░ рд╕реНрд╡рдпрдВ рдХрд╛ UI рд╣реИред рдЕрдВрддрд┐рдо рд▓рдХреНрд╖реНрдп рдПрдХ рд▓рдЪреАрд▓рд╛ рдкреБрди: рдкреНрд░рдпреЛрдЬреНрдп рдШрдЯрдХ рдмрдирд╛рдирд╛ рд╣реИ, рдЬреЛ рд╣рдореЗрдВ рдЙрдкрд░реЛрдХреНрдд рд╕реВрдЪреА рд╕реЗ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдореЗрдВ рднреА рдорджрдж рдХрд░реЗрдЧрд╛ред



рд╡рд┐рд╡рд┐рдз рдЖрд╡рд╢реНрдпрдХрддрд╛рдПрдВ


рдкреНрд░рддреНрдпреЗрдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреА рдЕрдкрдиреА рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкрдВрдЬреАрдХрд░рдг рд╡рд┐рд╡рд┐рдзрддрд╛рдПрдВ рд╣реЛрддреА рд╣реИрдВ, рджреЛрдиреЛрдВ рддрд░реНрдХ рдкрдХреНрд╖ рдФрд░ UI рдкрдХреНрд╖ рдХреА рдУрд░ рд╕реЗред рдЗрд╕рд▓рд┐рдП, рд╣рдо рдПрдХ рдиреНрдпреВрдирддрдо рдореЗрдВ рдШрдЯрдХ рдореЗрдВ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЛ рд╕рд╛рдорд╛рдиреНрдп рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ: рдбреЗрдЯрд╛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдХреЗ рдФрд░ рд╕рдВрдкреВрд░реНрдг рдкреНрд░рд╡рд╛рд╣ рдХреЛ рд░реВрдЯ рдХрд░рдХреЗред



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

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

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



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

рд╕рдорд░реНрдерди


рджреГрд╢реНрдп рддрддреНрд╡реЛрдВ рдХреА рднрд┐рдиреНрдирддрд╛ рдХреЗ рд▓рд┐рдП рдП / рдмреА рдкрд░реАрдХреНрд╖рдг рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рд╣рдорд╛рд░рд╛ рддрд░реНрдХ рдирд╣реАрдВ рдмрджрд▓рддрд╛ рд╣реИ, рдЬреЛ рд╣рдореЗрдВ рдСрдмреНрдЬрд╝рд░реНрд╡рдмрд▓ рд╕реЛрд░реНрд╕ рдФрд░ рдЙрдкрднреЛрдХреНрддрд╛ рд╕реЗ рдореМрдЬреВрджрд╛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рд▓рд┐рдП рдПрдХ рдФрд░ рджреГрд╢реНрдп рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХрд╛ рд╡рд┐рдХрд▓реНрдк рджреЗрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред



рдмреЗрд╢рдХ, рдХрднреА-рдХрднреА рдирдИ рдЖрд╡рд╢реНрдпрдХрддрд╛рдПрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд▓рд┐рдЦрд┐рдд рддрд░реНрдХ рдХреЗ рд╡рд┐рдкрд░реАрдд рд╣реЛрддреА рд╣реИрдВред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╣рдо рд╣рдореЗрд╢рд╛ рдореВрд▓ рдпреЛрдЬрдирд╛ рдкрд░ рд▓реМрдЯ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд╣рд╛рдВ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдкреВрд░реА рд╕реНрдХреНрд░реАрди рдХреА рдЖрдкреВрд░реНрддрд┐ рдХрд░рддрд╛ рд╣реИред рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдпрд╣ рдПрдХ рдкреНрд░рдХрд╛рд░ рдХрд╛ "рдмреНрд▓реИрдХ рдмреЙрдХреНрд╕" рд╣реИ, рдФрд░ рдХрдВрдЯреЗрдирд░ рдХреЗ рд▓рд┐рдП рдпрд╣ рдорд╛рдпрдиреЗ рдирд╣реАрдВ рд░рдЦрддрд╛ рд╣реИ рдХрд┐ рд╡реЗ рдЗрд╕рдХреЗ рдкрд╛рд╕ рдХреНрдпрд╛ рдХрд░рддреЗ рд╣реИрдВ, рдЬрдм рддрдХ рдХрд┐ рдЗрд╕рдХрд╛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╕рдореНрдорд╛рди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред

рдПрдХреАрдХрд░рдг


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

рдПрдХрд▓ рдЧрддрд┐рд╡рд┐рдзрд┐ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП, рдмрд╣реБрдд рдХреБрдЫ рдирд╣реАрдВ рдмрджрд▓рддрд╛ рд╣реИред рд▓рдЧрднрдЧ рд╕рднреА рдЪреМрдЦрдЯреЗ рдЕрдкрдиреЗ рдореВрд▓ рддрддреНрд╡реЛрдВ рдХреА рдкреЗрд╢рдХрд╢ рдХрд░рддреЗ рд╣реИрдВ рдЬрд┐рд╕рдореЗрдВ рдЖрд░рдЖрдИрдмреА рдШрдЯрдХ рдЦреБрдж рдХреЛ рд▓рдкреЗрдЯрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВред

рдЕрдВрдд рдореЗрдВ


рдЗрди рдЪрд░рдгреЛрдВ рдХреЛ рдкрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдордиреЗ рдЕрдкрдиреА рдХрдВрдкрдиреА рдХреА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рдмреАрдЪ рдХреЛрдб рдкреБрди: рдЙрдкрдпреЛрдЧ рдХреЗ рдкреНрд░рддрд┐рд╢рдд рдореЗрдВ рдХрд╛рдлреА рд╡реГрджреНрдзрд┐ рдХреА рд╣реИред рдлрд┐рд▓рд╣рд╛рд▓, рдШрдЯрдХреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ 100 рдХреЗ рдХрд░реАрдм рдкрд╣реБрдВрдЪ рд░рд╣реА рд╣реИ, рдФрд░ рдЙрдирдореЗрдВ рд╕реЗ рдЕрдзрд┐рдХрд╛рдВрд╢ рдПрдХ рд╕рд╛рде рдХрдИ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╣реИрдВред

рд╣рдорд╛рд░рд╛ рдЕрдиреБрднрд╡ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐:

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

рдореЗрд░реЗ рд╕рд╣рдпреЛрдЧреА Zsolt Kocsi рдиреЗ рдкрд╣рд▓реЗ MVICore рдФрд░ рдЗрд╕рдХреЗ рдкреАрдЫреЗ рдХреЗ рд╡рд┐рдЪрд╛рд░реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд▓рд┐рдЦрд╛ рдерд╛ред рдореИрдВ рдЙрдирдХреЗ рд▓реЗрдЦреЛрдВ рдХреЛ рдкрдврд╝рдиреЗ рдХреА рдЕрддреНрдпрдзрд┐рдХ рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдВ, рдЬрд┐рдирдХрд╛ рд╣рдордиреЗ рдЕрдкрдиреЗ рдмреНрд▓реЙрдЧ ( 1 , 2 , 3 ) рдкрд░ рдЕрдиреБрд╡рд╛рдж рдХрд┐рдпрд╛ рд╣реИред

рдЖрд░рдЖрдИрдмреА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ, рдЖрдк рдЙрдмрд░ рдХрд╛ рдореВрд▓ рд▓реЗрдЦ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВред рдФрд░ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдЬреНрдЮрд╛рди рдХреЗ рд▓рд┐рдП, рдореИрдВ рд╣рдорд╕реЗ (рдЕрдВрдЧреНрд░реЗрдЬреА рдореЗрдВ) рдХреБрдЫ рд╕рдмрдХ рд▓реЗрдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдВред

Source: https://habr.com/ru/post/hi466049/


All Articles