рдХреЛрдЯрд▓рд┐рдирдордзреАрд▓ RxSwift рдЖрдгрд┐ coroutines - AGIMA рдЖрдгрд┐ GeekBrains рдХрдбреВрди рдореЛрдмрд╛рдЗрд▓ рдбреЗрд╡реНрд╣рд▓рдкрдореЗрдВрдЯрдордзреАрд▓ рдПрдХ рдкрд░реНрдпрд╛рдпреА

рдХреЛрдЯрд▓рд┐рдирдордзреАрд▓ RxSwift рдЖрдгрд┐ coroutines - AGIMA рдЖрдгрд┐ GeekBrains рдХрдбреВрди рдореЛрдмрд╛рдЗрд▓ рдбреЗрд╡реНрд╣рд▓рдкрдореЗрдВрдЯрдордзреАрд▓ рдПрдХ рдкрд░реНрдпрд╛рдпреА

рдЬреНрдЮрд╛рди рдЪрд╛рдВрдЧрд▓реЗ рдЖрд╣реЗ, рдлрдХреНрдд рдорд╣рд╛рди рдЖрд╣реЗ. рдкрд░рдВрддреБ рд╕рд░рд╛рд╡ рджреЗрдЦреАрд▓ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ рдЬреЗрдгреЗрдХрд░реБрди рддреБрдореНрд╣реА рдкреНрд░рд╛рдкреНрдд рдХреЗрд▓реЗрд▓рд╛ рдбреЗрдЯрд╛ рд╡рд╛рдкрд░реВ рд╢рдХрддрд╛, рддреНрдпрд╛рдВрдирд╛ "рдкреЕрд╕рд┐рд╡реНрд╣ рд╕реНрдЯреЛрд░реЗрдЬ" рд╕реНрдерд┐рддреАрддреВрди "рд╕рдХреНрд░рд┐рдп рд╡рд╛рдкрд░" рд╕реНрдерд┐рддреАрдд рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░реВ рд╢рдХрддрд╛. рд╕реИрджреНрдзрд╛рдВрддрд┐рдХ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдХрд┐рддреАрд╣реА рдЪрд╛рдВрдЧрд▓реЗ рдЕрд╕рд▓реЗ рддрд░реАрд╣реА, тАЬрдХреНрд╖реЗрддреНрд░рд╛рддтАЭ рдХрд╛рдо рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ. рдЙрдкрд░реЛрдХреНрдд рдЕрднреНрдпрд╛рд╕рд╛рдЪреНрдпрд╛ рдЬрд╡рд│рдЬрд╡рд│ рдХреЛрдгрддреНрдпрд╛рд╣реА рдХреНрд╖реЗрддреНрд░рд╛рдд рд▓рд╛рдЧреВ рд╣реЛрддреЗ, рдЕрд░реНрдерд╛рддрдЪ, рд╕реЙрдлреНрдЯрд╡реЗрдЕрд░ рд╡рд┐рдХрд╛рд╕рд╛рд╕рд╣.

рдпрд╛ рд╡рд░реНрд╖реА, GeekBrains, GeekUniversity рдСрдирд▓рд╛рдЗрди рд╡рд┐рджреНрдпрд╛рдкреАрдард╛рдЪреНрдпрд╛ рдореЛрдмрд╛рдЗрд▓ рдбреЗрд╡реНрд╣рд▓рдкрдореЗрдВрдЯ рдлреЕрдХрд▓реНрдЯреАрдЪрд╛ рдПрдХ рднрд╛рдЧ рдореНрд╣рдгреВрди, рдкрд░рд╕реНрдкрд░рд╕рдВрд╡рд╛рджреА рдПрдЬрдиреНрд╕реА AGIMA рд╕реЛрдмрдд рдХрд╛рдо рдХрд░рдгреНрдпрд╛рд╕ рд╕реБрд░реБрд╡рд╛рдд рдХреЗрд▓реА, рдЬреНрдпрд╛рдЪрд╛ рдХрд╛рд░реНрдпрд╕рдВрдШ рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рд╡рд┐рдХрд╛рд╕рдХ рдЖрд╣реЗ (рддреЗ рдЬрдЯрд┐рд▓ рдЙрдЪреНрдЪ-рд▓реЛрдб рдкреНрд░рдХрд▓реНрдк, рдХреЙрд░реНрдкреЛрд░реЗрдЯ рдкреЛрд░реНрдЯрд▓ рдЖрдгрд┐ рдореЛрдмрд╛рдЗрд▓ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рддрдпрд╛рд░ рдХрд░рддрд╛рдд, рдЗрддрдХреЗрдЪ). AGIMA рдЖрдгрд┐ GeekBrains рдиреЗ рдореЛрдмрд╛рдИрд▓ рдНрдкреНрд▓рд┐рдХреЗрд╢рди рдбреЗрд╡реНрд╣рд▓рдкрдореЗрдВрдЯрдЪреНрдпрд╛ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд╕рдорд╕реНрдпрд╛рдВрдордзреНрдпреЗ рдЦреЛрд▓рд╡рд░ рдЬрд╛рдгреНрдпрд╛рд╕рд╛рдареА рдПрдХ рдкрд░реНрдпрд╛рдп рддрдпрд╛рд░ рдХреЗрд▓рд╛ рдЖрд╣реЗ.

рджреБрд╕рд░реНтАНрдпрд╛ рджрд┐рд╡рд╢реА рдЖрдореНрд╣реА iOS рддрдЬреНрдЮ рдЗрдЧреЛрд░ рд╡реЗрджреЗрдирд┐рд╡реНрд╣ рдЖрдгрд┐ Android рдордзреНрдпреЗ рддрдЬреНрдЮ рдЕрд╕рд▓реЗрд▓реЗ рдЕрд▓реЗрдХреНрдЭрд╛рдВрдбрд░ рдЯрд┐рдЭрд┐рдХ рдпрд╛рдВрдЪреНрдпрд╛рд╢реА рдмреЛрд▓рд▓реЛ. рддреНрдпрд╛рдВрдЪреЗ рдЖрднрд╛рд░, рдореЛрдмрд╛рдЗрд▓ рд╡рд┐рдХрд╛рд╕рд╛рд╡рд░реАрд▓ рдирд┐рд╡рдбрдХ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХрддреЗрдиреЗ рд╕рдореГрджреНрдз рдЭрд╛рд▓реЗ RxSwift рдлреНрд░реЗрдорд╡рд░реНрдХ рд╡рд░ рд╡рд┐рд╢реЗрд╖ рдХреЛрд░реНрд╕ ╨╕ рдХреЛрдЯрд▓рд┐рди рдордзреАрд▓ рдХреЙрд░реЛрдЯрд┐рдиреНрд╕. рдпрд╛ рд▓реЗрдЦрд╛рдд, рд╡рд┐рдХрд╛рд╕рдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░рд╕рд╛рдареА рдкреНрд░рддреНрдпреЗрдХ рдХреНрд╖реЗрддреНрд░рд╛рдЪреЗ рдорд╣рддреНрддреНрд╡ рдмреЛрд▓рддрд╛рдд.

рдПрдХ рдЙрджрд╛рд╣рд░рдг рдореНрд╣рдгреВрди RxSwift рд╡рд╛рдкрд░реВрди iOS рдордзреНрдпреЗ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рд╢реАрд▓ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ

рдХреЛрдЯрд▓рд┐рдирдордзреАрд▓ RxSwift рдЖрдгрд┐ coroutines - AGIMA рдЖрдгрд┐ GeekBrains рдХрдбреВрди рдореЛрдмрд╛рдЗрд▓ рдбреЗрд╡реНрд╣рд▓рдкрдореЗрдВрдЯрдордзреАрд▓ рдПрдХ рдкрд░реНрдпрд╛рдпреА
рдирд┐рд╡рдбрдХ рд╢рд┐рдХреНрд╖рдХ рдЗрдЧреЛрд░ рд╡реЗрджреЗрдиреЗрд╡реНрд╣: "RxSwift рд╕рд╣, рддреБрдордЪрд╛ рдЕрд░реНрдЬ рдЙрдбреЗрд▓"

рдирд┐рд╡рдбреАрдЪреНрдпрд╛ рдХрд╛рд│рд╛рдд рд╡рд┐рджреНрдпрд╛рд░реНрдереНрдпрд╛рдВрдирд╛ рдХреЛрдгрддреА рдорд╛рд╣рд┐рддреА рдорд┐рд│рддреЗ?

рдЖрдореНрд╣реА рдХреЗрд╡рд│ рдлреНрд░реЗрдорд╡рд░реНрдХрдЪреНрдпрд╛ рдХреНрд╖рдорддреЗрдмрджреНрджрд▓рдЪ рдмреЛрд▓рдд рдирд╛рд╣реА, рддрд░ рдХреНрд▓рд╛рд╕рд┐рдХ MVVM + RxSwift рд╕рдВрдпреЛрдЬрдирд╛рдд рддреЗ рдХрд╕реЗ рд╡рд╛рдкрд░рд╛рдпрдЪреЗ рддреЗ рджреЗрдЦреАрд▓ рджрд╛рдЦрд╡рддреЛ. рдЕрдиреЗрдХ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдЙрджрд╛рд╣рд░рдгреЗ рджреЗрдЦреАрд▓ рдЪрд░реНрдЪрд╛ рдХреЗрд▓реА рдЖрд╣реЗрдд. рдкреНрд░рд╛рдкреНрдд рдХреЗрд▓реЗрд▓рд╛ рдбреЗрдЯрд╛ рдПрдХрддреНрд░рд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рдЖрдореНрд╣реА рдлреАрд▓реНрдб рдСрдкрд░реЗрдЯрд┐рдВрдЧ рдкрд░рд┐рд╕реНрдерд┐рддреАрдЪреНрдпрд╛ рд╢рдХреНрдп рддрд┐рддрдХреНрдпрд╛ рдЬрд╡рд│ рдЕрд╕рд▓реЗрд▓рд╛ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд▓рд┐рд╣рд┐рддреЛ. рд╣реЗ рд╡рд╛рдкрд░реВрди рдПрдХ рд╕рдВрдЧреАрдд рд╢реЛрдз рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдЕрд╕реЗрд▓ iTunes рд╢реЛрдз API. рддреЗрдереЗ рдЖрдореНрд╣реА рд╕рд░реНрд╡ рд╕рд░реНрд╡реЛрддреНрддрдо рдкрджреНрдзрддреА рд▓рд╛рдЧреВ рдХрд░реВ, рддрд╕реЗрдЪ MVC рдкреЕрд░рд╛рдбрд╛рдЗрдордордзреНрдпреЗ RxSwift рд╡рд╛рдкрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╕реЛрдкреНрдпрд╛ рдкрд░реНрдпрд╛рдпрд╛рдЪрд╛ рд╡рд┐рдЪрд╛рд░ рдХрд░реВ.

RxSwift - iOS рдкреНрд░реЛрдЧреНрд░рд╛рдорд░рд▓рд╛ рдпрд╛ рдлреНрд░реЗрдорд╡рд░реНрдХрдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХрд╛ рдЖрд╣реЗ, рддреЗ рд╡рд┐рдХрд╕рдХрд╛рдЪреЗ рдЬреАрд╡рди рдХрд╕реЗ рд╕реЛрдкреЗ рдХрд░рддреЗ?

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

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

рдЗрддрд░рд╛рдВрдкреЗрдХреНрд╖рд╛ рд╣реЗ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдлреНрд░реЗрдорд╡рд░реНрдХ рдХрд╛ рдирд┐рд╡рдбрд╛рдпрдЪреЗ?

RxSwift рдордзреНрдпреЗ рд╕рд░реНрд╡рд╛рдд рдореЛрдард╛ рд╕рдореБрджрд╛рдп рдЖрд╣реЗ. рдореНрд╣рдгрдЬреЗрдЪ, рд╡рд┐рдХрд╕рдХрд╛рд▓рд╛ рднреЗрдбрд╕рд╛рд╡рдд рдЕрд╕рд▓реЗрд▓реА рд╕рдорд╕реНрдпрд╛ рдХреЛрдгреАрддрд░реА рдЖрдзреАрдЪ рд╕реЛрдбрд╡рд▓реА рдЕрд╕рдгреНрдпрд╛рдЪреА рд╢рдХреНрдпрддрд╛ рдЬрд╛рд╕реНрдд рдЖрд╣реЗ. рддрд╕реЗрдЪ рдмреЙрдХреНрд╕рдЪреНрдпрд╛ рдмрд╛рд╣реЗрд░ рдореЛрдареНрдпрд╛ рдкреНрд░рдорд╛рдгрд╛рдд рдмрд╛рдЗрдВрдбрд┐рдВрдЧреНрдЬ. рд╢рд┐рд╡рд╛рдп, RxSwift ReactiveX рдЪрд╛ рднрд╛рдЧ рдЖрд╣реЗ. рдпрд╛рдЪрд╛ рдЕрд░реНрде рдЕрд╕рд╛ рдЖрд╣реЗ рдХреА Android рд╕рд╛рдареА рдПрдХ рдЕреЕрдирд╛рд▓реЙрдЧ рдЖрд╣реЗ, рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде (RxJava, RxKotlin), рдЖрдгрд┐ рдХрд╛рд░реНрдпрд╢рд╛рд│реЗрддреАрд▓ рд╕рд╣рдХрд╛рд░реА рдПрдХрдореЗрдХрд╛рдВрд╢реА рд╕рдорд╛рди рднрд╛рд╖рд╛ рдмреЛрд▓реВ рд╢рдХрддрд╛рдд, рдЬрд░реА рдХрд╛рд╣реА iOS рд╕рд╣ рдХрд╛рд░реНрдп рдХрд░рддрд╛рдд, рдЗрддрд░ Android рд╕рд╣.

рдлреНрд░реЗрдорд╡рд░реНрдХ рд╕рддрдд рдЕрдкрдбреЗрдЯ рдХреЗрд▓реЗ рдЬрд╛рддреЗ, рдХрд┐рд░рдХреЛрд│ рдмрдЧреНрд╕ рджреБрд░реБрд╕реНрдд рдХреЗрд▓реЗ рдЬрд╛рддрд╛рдд, рд╕реНрд╡рд┐рдлреНрдЯрдЪреНрдпрд╛ рдирд╡реАрди рдЖрд╡реГрддреНрддреНрдпрд╛рдВрдордзреАрд▓ рд╡реИрд╢рд┐рд╖реНрдЯреНрдпрд╛рдВрд╕рд╛рдареА рд╕рдорд░реНрдерди рдЬреЛрдбрд▓реЗ рдЬрд╛рддреЗ рдЖрдгрд┐ рдирд╡реАрди рдмрдВрдзрди рдЬреЛрдбрд▓реЗ рдЬрд╛рддрд╛рдд. RxSwift рд╣реЗ рдУрдкрди рд╕реЛрд░реНрд╕ рдЕрд╕рд▓реНрдпрд╛рдореБрд│реЗ рддреБрдореНрд╣реА рд╕рд░реНрд╡ рдмрджрд▓ рдлреЙрд▓реЛ рдХрд░реВ рд╢рдХрддрд╛. рд╢рд┐рд╡рд╛рдп, рддреНрдпрд╛рдВрдирд╛ рд╕реНрд╡рддрдГ рдЬреЛрдбрдгреЗ рд╢рдХреНрдп рдЖрд╣реЗ.

RxSwift рдХреБрдареЗ рд╡рд╛рдкрд░рд╛рд╡реЗ?

  1. рдмрд╛рдВрдзрдгреА. рдирд┐рдпрдорд╛рдиреБрд╕рд╛рд░, рдЖрдореНрд╣реА UI рдмрджреНрджрд▓ рдмреЛрд▓рдд рдЖрд╣реЛрдд, UI рдмрджрд▓рдгреНрдпрд╛рдЪреА рдХреНрд╖рдорддрд╛, рдЬрд╕реЗ рдХреА рдбреЗрдЯрд╛ рдмрджрд▓рд╛рдВрд╡рд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рджреЗрдд рдЖрд╣реЗ рдЖрдгрд┐ рдЗрдВрдЯрд░рдлреЗрд╕рд▓рд╛ рд╕реНрдкрд╖реНрдЯрдкрдгреЗ рд╕рд╛рдВрдЧрдд рдирд╛рд╣реА рдХреА рдЕрдкрдбреЗрдЯ рдХрд░рдгреНрдпрд╛рдЪреА рд╡реЗрд│ рдЖрд▓реА рдЖрд╣реЗ.
  2. рдШрдЯрдХ рдЖрдгрд┐ рдСрдкрд░реЗрд╢рдиреНрд╕рдордзреАрд▓ рд╕рдВрдмрдВрдз. рдлрдХреНрдд рдПрдХ рдЙрджрд╛рд╣рд░рдг. рдЖрдореНрд╣рд╛рд▓рд╛ рдиреЗрдЯрд╡рд░реНрдХрд╡рд░реВрди рдбреЗрдЯрд╛рдЪреА рд╕реВрдЪреА рдорд┐рд│рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ. рдЦрд░рдВ рддрд░, рд╣реЗ рдЗрддрдХреЗ рд╕рд╛рдзреЗ рдСрдкрд░реЗрд╢рди рдирд╛рд╣реА. рд╣реЗ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рддреБрдореНрд╣рд╛рд▓рд╛ рд╡рд┐рдирдВрддреА рдкрд╛рдард╡рд╛рд╡реА рд▓рд╛рдЧреЗрд▓, рдкреНрд░рддрд┐рд╕рд╛рджрд╛рд▓рд╛ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕рдЪреНрдпрд╛ рдЕреЕрд░реЗрдордзреНрдпреЗ рдореЕрдк рдХрд░рд╛рд╡реЗ рд▓рд╛рдЧреЗрд▓, рддреЗ рдбреЗрдЯрд╛рдмреЗрд╕рдордзреНрдпреЗ рд╕реЗрд╡реНрд╣ рдХрд░рд╛рд╡реЗ рд▓рд╛рдЧреЗрд▓ рдЖрдгрд┐ рддреЗ UI рд╡рд░ рдкрд╛рдард╡рд╛рд╡реЗ рд▓рд╛рдЧреЗрд▓. рдирд┐рдпрдорд╛рдиреБрд╕рд╛рд░, рдпрд╛ рдСрдкрд░реЗрд╢рдиреНрд╕ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рднрд┐рдиреНрди рдШрдЯрдХ рдЬрдмрд╛рдмрджрд╛рд░ рдЖрд╣реЗрдд (рдЖрдореНрд╣рд╛рд▓рд╛ рддрддреНрддреНрд╡реЗ рдЖрд╡рдбрддрд╛рдд рдЖрдгрд┐ рддреНрдпрд╛рдВрдЪреЗ рдкрд╛рд▓рди рдХрд░рддрд╛рдд рдШрди?). рд╣рд╛рддрд╛рдд RxSwift рд╕рд╛рд░рдЦреЗ рд╕рд╛рдзрди рдЕрд╕рд▓реНрдпрд╛рд╕, рд╕рд┐рд╕реНрдЯрдо рдХрд╛рдп рдХрд░реЗрд▓ рдЖрдгрд┐ рдЗрддрд░ рдард┐рдХрд╛рдгреА рддреЗ рдХрд╕реЗ рдХрд░реЗрд▓ рдпрд╛рдЪреЗ рд╡рд░реНрдгрди рдХрд░рдгреЗ рд╢рдХреНрдп рд╣реЛрддреЗ. рдпрд╛рдореБрд│реЗрдЪ рд╕рдВрд╣рд┐рддреЗрдЪреА рдЙрддреНрддрдо рд╡реНрдпрд╡рд╕реНрдерд╛ рдирд┐рд░реНрдорд╛рдг рд╣реЛрддреЗ рдЖрдгрд┐ рд╡рд╛рдЪрдиреАрдпрддрд╛ рд╡рд╛рдврддреЗ. рддреБрд▓рдиреЗрдиреЗ рдмреЛрд▓рдгреЗ, рдХреЛрдб рд╕рд╛рдордЧреНрд░реА рд╕рд╛рд░рдгреА рдЖрдгрд┐ рдкреБрд╕реНрддрдХрд╛рдд рд╡рд┐рднрд╛рдЧрд▓реЗ рдЬрд╛рдК рд╢рдХрддреЗ.

рдХреЛрдЯрд▓рд┐рди рдордзреНрдпреЗ cooutines

рдХреЛрдЯрд▓рд┐рдирдордзреАрд▓ RxSwift рдЖрдгрд┐ coroutines - AGIMA рдЖрдгрд┐ GeekBrains рдХрдбреВрди рдореЛрдмрд╛рдЗрд▓ рдбреЗрд╡реНрд╣рд▓рдкрдореЗрдВрдЯрдордзреАрд▓ рдПрдХ рдкрд░реНрдпрд╛рдпреА
рд╡реИрдХрд▓реНрдкрд┐рдХ рдЕрднреНрдпрд╛рд╕рдХреНрд░рдо рд╢рд┐рдХреНрд╖рдХ рдЕрд▓реЗрдХреНрдЭрд╛рдВрдбрд░ рдЯрд┐рдЭрд┐рдХ: "рдЖрдзреБрдирд┐рдХ рд╡рд┐рдХрд╛рд╕рд╛рд╕рд╛рдареА рдЖрдзреБрдирд┐рдХ рддрд╛рдВрддреНрд░рд┐рдХ рдорд╛рдзреНрдпрдорд╛рдВрдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЖрд╣реЗ"

рдмреНрд░рдБрдбреЗрдб рдХреНрд╡рд╛рд░реНрдЯрд░рдЪрд╛ рднрд╛рдЧ рдореНрд╣рдгреВрди GeekBrains рдлреЕрдХрд▓реНрдЯреАрдордзреНрдпреЗ рдХрд╛рдп рд╢рд┐рдХрд╡рд▓реЗ рдЬрд╛рдИрд▓?

рд╕рд┐рджреНрдзрд╛рдВрдд, рдЗрддрд░ рджреГрд╖реНрдЯрд┐рдХреЛрдирд╛рдВрд╢реА рддреБрд▓рдирд╛, рд╢реБрджреНрдз рдХреЛрдЯрд▓рд┐рди рдЖрдгрд┐ Android рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдореЙрдбреЗрд▓рдордзреАрд▓ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдЙрджрд╛рд╣рд░рдгреЗ. рд╕рд░рд╛рд╡рд╛рд╕рд╛рдареА, рд╡рд┐рджреНрдпрд╛рд░реНрдереНрдпрд╛рдВрдирд╛ рдПрдХ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рджрд░реНрд╢рд╡рд┐рд▓рд╛ рдЬрд╛рдИрд▓ рдЬреНрдпрд╛рдордзреНрдпреЗ рд╕рд░реНрд╡ рдХрд╛рд╣реА рдХреЙрд░реЛрдЯреАрдирд╢реА рдЬреЛрдбрд▓реЗрд▓реЗ рдЖрд╣реЗ. рд╡рд╕реНрддреБрд╕реНрдерд┐рддреА рдЕрд╢реА рдЖрд╣реЗ рдХреА рдмрд╣реБрддреЗрдХ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдкреВрд░реНрдгрдкрдгреЗ рдЕрд╕рд┐рдВрдХреНрд░реЛрдирд╕ рдЖрдгрд┐ рд╕рдорд╛рдВрддрд░ рд╕рдВрдЧрдгрди рдЖрд╣реЗрдд. рдкрд░рдВрддреБ рдХреЛрдЯрд▓рд┐рди рдХреЙрд░реЛрдЯреАрди рдЧреЛрдВрдзрд│рд╛рдд рдЯрд╛рдХрдгрд╛рд░реЗ, рд╡рд┐рд╖рдо рдХрд┐рдВрд╡рд╛ рдЕрддреНрдпрд╛рдзрд┐рдХ рдЬрдЯрд┐рд▓ рдЖрдгрд┐ рдХрд╛рд░реНрдпрдХреНрд╖рдорддреЗрдЪреА рдорд╛рдЧрдгреА рдХрд░рдгрд╛рд░рд╛ рдХреЛрдб рдПрдХрд╛ рдПрдХрд▓, рд╕рдордЬрдгреНрдпрд╛рд╕ рд╕реЛрдкреНрдпрд╛ рд╢реИрд▓реАрдордзреНрдпреЗ рдХрдореА рдХрд░рдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рджреЗрддрд╛рдд, рдпреЛрдЧреНрдп рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА рдЖрдгрд┐ рдХрд╛рд░реНрдпрдкреНрд░рджрд░реНрд╢рдирд╛рдордзреНрдпреЗ рдлрд╛рдпрджреЗ рдорд┐рд│рд╡рддрд╛рдд.

рдЖрдореНрд╣реА рдХреЙрд░реЛрдЯреАрдирдордзреНрдпреЗ рдЖрдпрдбрд┐рдУрдореЕрдЯрд┐рдХ рдХреЛрдб рд▓рд┐рд╣рд╛рдпрд▓рд╛ рд╢рд┐рдХреВ рдЬреЗ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд╕рдорд╕реНрдпрд╛ рд╕реЛрдбрд╡рддрд╛рдд рдЖрдгрд┐ рдХреЙрд░реЛрдЯреАрди рдХрд╕реЗ рдХрд╛рд░реНрдп рдХрд░рддрд╛рдд (рдЬреНрдпрд╛рд▓рд╛ RxJava рд╕рд╛рд░рдЦреНрдпрд╛ рд▓рд╛рдпрдмреНрд░рд░реАрдмрджреНрджрд▓ рд╕рд╛рдВрдЧрд┐рддрд▓реЗ рдЬрд╛рдК рд╢рдХрдд рдирд╛рд╣реА) рд╕рдЦреЛрд▓ рдорд╛рд╣рд┐рддреА рдирд╕рддрд╛рдирд╛рд╣реА рдкрд╣рд┐рд▓реНрдпрд╛ рджреГрд╖реНрдЯреАрдХреНрд╖реЗрдкрд╛рдд рд╕рдордЬрдгреНрдпрд╛рд╕рд╛рд░рдЦреЗ рдЖрд╣реЗ. MVI рд╕рдВрдХрд▓реНрдкрдиреЗрддреАрд▓ рдбреЗрдЯрд╛ рд╡реЗрдЕрд░рд╣рд╛рдКрд╕ рд╕рд╛рд░рдЦреНрдпрд╛ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд╕рдорд╕реНрдпрд╛рдВрдЪреЗ рдирд┐рд░рд╛рдХрд░рдг рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЕрднрд┐рдиреЗрддрд╛ рдореЙрдбреЗрд▓ рд╕рд╛рд░рдЦреНрдпрд╛ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд╕рдВрдХрд▓реНрдкрдирд╛ рдХрд╢рд╛ рд╡рд╛рдкрд░рд╛рдпрдЪреНрдпрд╛ рд╣реЗ рджреЗрдЦреАрд▓ рдЖрдореНрд╣реА рд╕рдордЬреВрди рдШреЗрдК.

рддрд╕реЗ, рдЕрдзрд┐рдХ рдЪрд╛рдВрдЧрд▓реА рдмрд╛рддрдореА. рдЗрд▓реЗрдХреНрдЯрд┐рд╡реНрд╣ рд░реЗрдХреЙрд░реНрдб рдХреЗрд▓реЗ рдЬрд╛рдд рдЕрд╕рддрд╛рдирд╛, рдХреЛрдЯрд▓рд┐рди рдХреЛрд░реБрдЯреАрдиреНрд╕ рд▓рд╛рдпрдмреНрд░рд░реАрдЪреЗ рдЕрдкрдбреЗрдЯ рд░рд┐рд▓реАрдЭ рдХрд░рдгреНрдпрд╛рдд рдЖрд▓реЗ, рдЬреНрдпрд╛рдордзреНрдпреЗ рд╡рд░реНрдЧ рджрд┐рд╕рд▓рд╛ Flow - рдкреНрд░рдХрд╛рд░рд╛рдВрдЪреЗ рдЕреЕрдирд╛рд▓реЙрдЧ Flowable ╨╕ Observable RxJava рдХрдбреВрди. рдЕрджреНрдпрдпрд╛рд╡рдд рдореВрд▓рдд: рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╡рд┐рдХрд╛рд╕рдХрд╛рдЪреНрдпрд╛ рджреГрд╖реНрдЯрд┐рдХреЛрдирд╛рддреВрди рдХреЛрд░реЛрдЯреАрди рд╡реИрд╢рд┐рд╖реНрдЯреНрдп рдкреВрд░реНрдг рдХрд░рддреЗ. рд╣реЗ рдЦрд░реЗ рдЖрд╣реЗ рдХреА, рдЕрдЬреВрдирд╣реА рд╕реБрдзрд╛рд░рдгреЗрд▓рд╛ рд╡рд╛рд╡ рдЖрд╣реЗ: рдХреЛрдЯрд▓рд┐рди/рдиреЗрдЯрд┐рд╡реНрд╣ рдордзреАрд▓ рдХреЙрд░реЛрдЯрд┐рдиреНрд╕рдЪреНрдпрд╛ рд╕рдорд░реНрдердирд╛рдмрджреНрджрд▓ рдзрдиреНрдпрд╡рд╛рдж, рдХреЛрдЯрд▓рд┐рдирдордзреНрдпреЗ рдорд▓реНрдЯреА-рдкреНрд▓реЕрдЯрдлреЙрд░реНрдо рдНрдкреНрд▓рд┐рдХреЗрд╢рдиреНрд╕ рд▓рд┐рд╣рд┐рдгреЗ рдЖрдзреАрдЪ рд╢рдХреНрдп рдЖрд╣реЗ рдЖрдгрд┐ рд╢реБрджреНрдз рдХреЛрдЯрд▓рд┐рдирдордзреНрдпреЗ RxJava рдХрд┐рдВрд╡рд╛ analogues рдЪреНрдпрд╛ рдХрдорддрд░рддреЗрдореБрд│реЗ рдЧреНрд░рд╕реНрдд рдирд╛рд╣реА, рдХреЛрдЯрд▓рд┐рди/рдиреЗрдЯрд┐рд╡реНрд╣ рдордзреАрд▓ рдХреЛрд░реБрдЯрд┐рдиреНрд╕рд╕рд╛рдареА рд╕рдорд░реНрдерди рдЕрджреНрдпрд╛рдк рдкреВрд░реНрдг рдЭрд╛рд▓реЗрд▓реЗ рдирд╛рд╣реА. рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рдХрд▓рд╛рдХрд╛рд░рд╛рдВрдЪреА рд╕рдВрдХрд▓реНрдкрдирд╛ рдирд╛рд╣реА. рд╕рд░реНрд╡рд╕рд╛рдзрд╛рд░рдгрдкрдгреЗ, рдХреЛрдЯрд▓рд┐рди рд╕рдВрдШрд╛рдЪреА рд╕рд░реНрд╡ рдкреНрд▓реЕрдЯрдлреЙрд░реНрдорд╡рд░ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдХрд▓рд╛рдХрд╛рд░рд╛рдВрдирд╛ рд╕рдорд░реНрдерди рджреЗрдгреНрдпрд╛рдЪреА рдпреЛрдЬрдирд╛ рдЖрд╣реЗ.

Kotlin Coroutines - рддреЗ Kotlin рд╡рд┐рдХрд╕рдХрд╛рд▓рд╛ рдХрд╢реА рдорджрдд рдХрд░рддрд╛рдд?

Coroutines рд╡рд╛рдЪрдиреАрдп, рджреЗрдЦрд░реЗрдЦ рдХрд░рдгреНрдпрд╛рдпреЛрдЧреНрдп рдЖрдгрд┐ рд╕реБрд░рдХреНрд╖рд┐рдд, рдЕрд╕рд┐рдВрдХреНрд░реЛрдирд╕ рдЖрдгрд┐ рд╕рдорд░реВрдкрддрд╛ рдЕрд╕рд▓реЗрд▓рд╛ рдХреЛрдб рд▓рд┐рд╣рд┐рдгреНрдпрд╛рдЪреА рдЙрддреНрддрдо рд╕рдВрдзреА рджреЗрддрд╛рдд. рддреБрдореНрд╣реА рдЗрддрд░ рдЕрд╕рд┐рдВрдХреНрд░реЛрдирд╕ рдлреНрд░реЗрдорд╡рд░реНрдХ рдЖрдгрд┐ рдкрдзреНрджрддреАрдВрд╕рд╛рдареА рдЕрдбреЕрдкреНрдЯрд░ рджреЗрдЦреАрд▓ рддрдпрд╛рд░ рдХрд░реВ рд╢рдХрддрд╛ рдЬреЗ рдХреЛрдбрдмреЗрд╕рдордзреНрдпреЗ рдЖрдзреАрдЪ рд╡рд╛рдкрд░рд▓реЗ рдЬрд╛рдК рд╢рдХрддрд╛рдд.

рдереНрд░реЗрдбреНрд╕рдкреЗрдХреНрд╖рд╛ рдХреЙрд░реБрдЯрд┐рдиреНрд╕ рдХрд╕реЗ рд╡реЗрдЧрд│реЗ рдЖрд╣реЗрдд?

рдХреЛрдЯрд▓рд┐рди рдЯреАрдо рдХреЛрд░реБрдЯрд┐рдирд▓рд╛ рд╣рд▓рдХреЗ рдзрд╛рдЧреЗ рдореНрд╣рдгрддрд╛рдд. рд╢рд┐рд╡рд╛рдп, рдХреЛрд░реБрдЯрд┐рди рдХрд╛рд╣реА рдореВрд▓реНрдп рдкрд░рдд рдХрд░реВ рд╢рдХрддреЗ, рдХрд╛рд░рдг, рддреНрдпрд╛рдЪреНрдпрд╛ рдореБрд│рд╛рд╢реА, рдПрдХ рдХреЛрд░реБрдЯрд┐рди рд╣реА рдПрдХ рдирд┐рд▓рдВрдмрд┐рдд рдЧрдгрдирд╛ рдЖрд╣реЗ. рд╣реЗ рдереЗрдЯ рд╕рд┐рд╕реНрдЯреАрдо рдереНрд░реЗрдбрд╡рд░ рдЕрд╡рд▓рдВрдмреВрди рдирд╛рд╣реА; рдереНрд░реЗрдбреНрд╕ рдлрдХреНрдд рдХреЛрд░рдЯреАрди рдЪрд╛рд▓рд╡рддрд╛рдд.

рдХреЛрд░реБрдЯрд┐рди рд╡рд╛рдкрд░реВрди рдХреЛрдгрддреНрдпрд╛ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд╕рдорд╕реНрдпрд╛ рд╕реЛрдбрд╡рд▓реНрдпрд╛ рдЬрд╛рдК рд╢рдХрддрд╛рдд, рдЬреНрдпрд╛ тАЬрд╢реБрджреНрдзтАЭ рдХреЛрдЯрд▓рд┐рди рд╡рд╛рдкрд░реВрди рд╕реЛрдбрд╡рдгреЗ рдХрдареАрдг рдХрд┐рдВрд╡рд╛ рдХрдареАрдг рдЖрд╣реЗ?

рдХреЛрдгрддреАрд╣реА рдЕрд╕рд┐рдВрдХреНрд░реЛрдирд╕, рд╕рдорд╛рдВрддрд░, "рд╕реНрдкрд░реНрдзрд╛рддреНрдордХ" рдХрд╛рд░реНрдпреЗ рдХреЛрд░реЛрдЯреАрди рд╡рд╛рдкрд░реВрди рдЪрд╛рдВрдЧрд▓реНрдпрд╛ рдкреНрд░рдХрд╛рд░реЗ рд╕реЛрдбрд╡рд▓реА рдЬрд╛рддрд╛рдд - рдордЧ рддреА рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдЪреНрдпрд╛ рдХреНрд▓рд┐рдХрд╡рд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд░рдгреЗ, рдСрдирд▓рд╛рдЗрди рдЬрд╛рдгреЗ рдХрд┐рдВрд╡рд╛ рдбреЗрдЯрд╛рдмреЗрд╕рдордзреАрд▓ рдЕрджреНрдпрддрдирд╛рдВрдЪреЗ рд╕рджрд╕реНрдпрддреНрд╡ рдШреЗрдгреЗ рдЕрд╕реЛ.

рд╢реБрджреНрдз рдХреЛрдЯрд▓рд┐рдирдордзреНрдпреЗ, рдпрд╛ рд╕рдорд╕реНрдпрд╛ рдЬрд╛рд╡рд╛ рдкреНрд░рдорд╛рдгреЗрдЪ рд╕реЛрдбрд╡рд▓реНрдпрд╛ рдЬрд╛рддрд╛рдд - рд╣рдЬрд╛рд░реЛ рдлреНрд░реЗрдорд╡рд░реНрдХрдЪреНрдпрд╛ рдорджрддреАрдиреЗ, рдЬреНрдпрд╛рдкреИрдХреА рдкреНрд░рддреНрдпреЗрдХрд╛рдЪреЗ рд╕реНрд╡рддрдГрдЪреЗ рд╕рд╛рдзрдХ рдЖрдгрд┐ рдмрд╛рдзрдХ рдЖрд╣реЗрдд, рдкрд░рдВрддреБ рддреНрдпрд╛рдкреИрдХреА рдХреЛрдгрд╛рд▓рд╛рд╣реА рднрд╛рд╖реЗрдЪреНрдпрд╛ рдкрд╛рддрд│реАрд╡рд░ рд╕рдорд░реНрдерди рдирд╛рд╣реА.

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

рд╕реНрддреНрд░реЛрдд: www.habr.com

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╛