RxSwift ื•-coroutines ื‘ืงื•ื˜ืœื™ืŸ - ืงื•ืจืก ื‘ื—ื™ืจื” ื‘ืคื™ืชื•ื— ื ื™ื™ื“ ืžื‘ื™ืช AGIMA ื•-GeekBrains

RxSwift ื•-coroutines ื‘ืงื•ื˜ืœื™ืŸ - ืงื•ืจืก ื‘ื—ื™ืจื” ื‘ืคื™ืชื•ื— ื ื™ื™ื“ ืžื‘ื™ืช AGIMA ื•-GeekBrains

ื™ื“ืข ื–ื” ื˜ื•ื‘, ืคืฉื•ื˜ ื ื”ื“ืจ. ืื‘ืœ ื™ืฉ ืฆื•ืจืš ื’ื ื‘ืชืจื’ื•ืœ ื›ื“ื™ ืฉืชื•ื›ืœ ืœื”ืฉืชืžืฉ ื‘ื ืชื•ื ื™ื ืฉื”ืชืงื‘ืœื•, ืœื”ืขื‘ื™ืจ ืื•ืชื ืžืกื˜ื˜ื•ืก "ืื—ืกื•ืŸ ืคืกื™ื‘ื™" ืœืžืฆื‘ "ืฉื™ืžื•ืฉ ืคืขื™ืœ". ืœื ืžืฉื ื” ืขื“ ื›ืžื” ื”ื”ื›ืฉืจื” ื”ืชื™ืื•ืจื˜ื™ืช ื˜ื•ื‘ื”, ืขื“ื™ื™ืŸ ื ื“ืจืฉืช ืขื‘ื•ื“ื” "ื‘ืฉื˜ื—". ื”ืืžื•ืจ ืœืขื™ืœ ืžืชื™ื™ื—ืก ื›ืžืขื˜ ืœื›ืœ ืชื—ื•ื ืœื™ืžื•ื“ื™ื, ื›ื•ืœืœ ื›ืžื•ื‘ืŸ ืคื™ืชื•ื— ืชื•ื›ื ื”.

ื”ืฉื ื”, GeekBrains, ื›ื—ืœืง ืžื”ืคืงื•ืœื˜ื” ืœืคื™ืชื•ื— ืžื•ื‘ื™ื™ืœ ืฉืœ ื”ืื•ื ื™ื‘ืจืกื™ื˜ื” ื”ืžืงื•ื•ื ืช GeekUniversity, ื”ื—ืœื” ืœืขื‘ื•ื“ ืขื ื”ืกื•ื›ื ื•ืช ื”ืื™ื ื˜ืจืืงื˜ื™ื‘ื™ืช AGIMA, ืฉื”ืฆื•ื•ืช ืฉืœื” ื”ื•ื ืžืคืชื—ื™ื ืžืงืฆื•ืขื™ื™ื (ื”ื ื™ื•ืฆืจื™ื ืคืจื•ื™ืงื˜ื™ื ืžื•ืจื›ื‘ื™ื ื‘ืขื•ืžืก ื’ื‘ื•ื”, ืคื•ืจื˜ืœื™ื ืืจื’ื•ื ื™ื™ื ื•ืืคืœื™ืงืฆื™ื•ืช ืžื•ื‘ื™ื™ืœ, ื–ื” ื”ื›ืœ). AGIMA ื•-GeekBrains ื™ืฆืจื• ืงื•ืจืก ื‘ื—ื™ืจื” ืœืฆืœื™ืœื” ืขืžื•ืงื” ืœืกื•ื’ื™ื•ืช ื”ืžืขืฉื™ื•ืช ืฉืœ ืคื™ืชื•ื— ืืคืœื™ืงืฆื™ื•ืช ืœื ื™ื™ื“.

ืœืคื ื™ ื›ืžื” ื™ืžื™ื ืฉื•ื—ื—ื ื• ืขื ืื™ื’ื•ืจ Vedeneev, ืžื•ืžื—ื” iOS, ื•ืืœื›ืกื ื“ืจ Tizik, ื”ืžืชืžื—ื” ื‘ืื ื“ืจื•ืื™ื“. ื‘ื–ื›ื•ืชื, ื”ื‘ื—ื™ืจื” ื‘ืคื™ืชื•ื— ืžื•ื‘ื™ื™ืœ ื”ื•ืขืฉืจ ื‘ืคืจืงื˜ื™ืงื” ืงื•ืจืก ืžื™ื•ื—ื“ ืขืœ ืžืกื’ืจืช RxSwift ะธ ืงื•ืจื•ื˜ื™ื ื™ื ื‘ืงื•ื˜ืœื™ืŸ. ื‘ืžืืžืจ ื–ื” ืžื“ื‘ืจื™ื ื”ืžืคืชื—ื™ื ืขืœ ื”ื—ืฉื™ื‘ื•ืช ืฉืœ ื›ืœ ืชื—ื•ื ืขื‘ื•ืจ ืžืชื›ื ืชื™ื.

ืชื›ื ื•ืช ืจื™ืืงื˜ื™ื‘ื™ ื‘-iOS ื‘ืืžืฆืขื•ืช RxSwift ื›ื“ื•ื’ืžื”

RxSwift ื•-coroutines ื‘ืงื•ื˜ืœื™ืŸ - ืงื•ืจืก ื‘ื—ื™ืจื” ื‘ืคื™ืชื•ื— ื ื™ื™ื“ ืžื‘ื™ืช AGIMA ื•-GeekBrains
ืžื•ืจื” ื‘ื—ื™ืจื” ืื™ื’ื•ืจ ื•ื“ื ื™ื™ื‘: "ืขื RxSwift, ื”ื‘ืงืฉื” ืฉืœืš ืชืขื•ืฃ"

ืื™ื–ื” ืžื™ื“ืข ืžืงื‘ืœื™ื ื”ืชืœืžื™ื“ื™ื ื‘ืžื”ืœืš ืงื•ืจืก ื”ื‘ื—ื™ืจื”?

ืื ื—ื ื• ืžื“ื‘ืจื™ื ืœื ืจืง ืขืœ ื”ื™ื›ื•ืœื•ืช ืฉืœ ื”ืžืกื’ืจืช, ืืœื ื’ื ืžืจืื™ื ื›ื™ืฆื“ ืœื”ืฉืชืžืฉ ื‘ื” ื‘ืฉื™ืœื•ื‘ ื”ืงืœืืกื™ MVVM + RxSwift. ื›ืžื• ื›ืŸ ื ื“ื•ื ื•ืช ืžืกืคืจ ื“ื•ื’ืžืื•ืช ืžืขืฉื™ื•ืช. ื›ื“ื™ ืœืื—ื“ ืืช ื”ื ืชื•ื ื™ื ืฉื”ืชืงื‘ืœื•, ืื ื• ื›ื•ืชื‘ื™ื ืืคืœื™ืงืฆื™ื” ื”ืงืจื•ื‘ื” ื›ื›ืœ ื”ืืคืฉืจ ืœืชื ืื™ ื”ื”ืคืขืœื” ื‘ืฉื˜ื—. ื–ื” ื™ื”ื™ื” ื™ื™ืฉื•ื ื—ื™ืคื•ืฉ ืžื•ื–ื™ืงื” ื‘ืืžืฆืขื•ืช API ืœื—ื™ืคื•ืฉ ืฉืœ iTunes. ืฉื ื ื™ื™ืฉื ืืช ื›ืœ ื”ืฉื™ื˜ื•ืช ื”ืžื•ืžืœืฆื•ืช, ื•ื‘ื ื•ืกืฃ ื ืฉืงื•ืœ ืืคืฉืจื•ืช ืคืฉื•ื˜ื” ื™ื•ืชืจ ืœืฉื™ืžื•ืฉ ื‘-RxSwift ื‘ืคืจื“ื™ื’ืžืช ื”-MVC.

RxSwift - ืœืžื” ืžืชื›ื ืช iOS ืฆืจื™ืš ืืช ื”ืžืกื’ืจืช ื”ื–ื•, ืื™ืš ื–ื” ืขื•ืฉื” ื—ื™ื™ื ืงืœื™ื ื™ื•ืชืจ ืœืžืคืชื—?

RxSwift ืžื™ื™ืขืœ ืืช ื”ืขื‘ื•ื“ื” ืขื ื–ืจืžื™ ืื™ืจื•ืขื™ื ื•ื—ื™ื‘ื•ืจื™ื ื‘ื™ืŸ ืื•ื‘ื™ื™ืงื˜ื™ื. ื”ื“ื•ื’ืžื” ื”ืคืฉื•ื˜ื” ื•ื”ื‘ืจื•ืจื” ื‘ื™ื•ืชืจ ื”ื™ื bindings: ืœืžืฉืœ, ืืชื” ื™ื›ื•ืœ ืœืขื“ื›ืŸ ืืช ื”ืžืžืฉืง ืขืœ ื™ื“ื™ ื”ื’ื“ืจืช ืขืจื›ื™ื ื—ื“ืฉื™ื ื‘ืžืฉืชื ื” ื‘-viewModel. ื›ืš, ื”ืžืžืฉืง ื”ื•ืคืš ืœื”ื™ื•ืช ืžื•ื ื—ื” ื ืชื•ื ื™ื. ื‘ื ื•ืกืฃ, RxSwift ืžืืคืฉืจืช ืœืš ืœืชืืจ ืืช ื”ืžืขืจื›ืช ื‘ืกื’ื ื•ืŸ ื”ืฆื”ืจืชื™, ื”ืžืืคืฉืจ ืœืš ืœืืจื’ืŸ ืืช ื”ืงื•ื“ ื•ืœื”ื’ื‘ื™ืจ ืืช ื”ืงืจื™ืื”. ื›ืœ ื–ื” ืขื•ื–ืจ ืœืคืชื— ื™ื™ืฉื•ืžื™ื ื‘ืฆื•ืจื” ื™ืขื™ืœื” ื™ื•ืชืจ.

ืขื‘ื•ืจ ืžืคืชื—, ื”ื›ืจืช ื”ืžืกื’ืจืช ื”ื™ื ื’ื ื™ืชืจื•ืŸ ื˜ื•ื‘ ื‘ืงื•ืจื•ืช ื”ื—ื™ื™ื, ืฉื›ืŸ ื”ื‘ื ื” ื‘ืชื›ื ื•ืช ืจื™ืืงื˜ื™ื‘ื™, ื•ื‘ืขื™ืงืจ ื ื™ืกื™ื•ืŸ ืขื RxSwift, ืžื•ืขืจื›ืช ื‘ืฉื•ืง.

ืœืžื” ืœื‘ื—ื•ืจ ื‘ืžืกื’ืจืช ื”ืกืคืฆื™ืคื™ืช ื”ื–ื• ืขืœ ืคื ื™ ืื—ืจื™ื?

ืœ-RxSwift ื™ืฉ ืืช ื”ืงื”ื™ืœื” ื”ื’ื“ื•ืœื” ื‘ื™ื•ืชืจ. ื›ืœื•ืžืจ, ื™ืฉ ืกื™ื›ื•ื™ ื’ื“ื•ืœ ื™ื•ืชืจ ืฉื”ื‘ืขื™ื” ืื™ืชื” ืžืชืžื•ื“ื“ ื”ืžืคืชื— ื›ื‘ืจ ื ืคืชืจื” ืขืœ ื™ื“ื™ ืžื™ืฉื”ื•. ื›ืžื• ื›ืŸ ืžืกืคืจ ืจื‘ ืฉืœ ื›ืจื™ื›ื•ืช ืžื—ื•ืฅ ืœืงื•ืคืกื”. ื™ืชืจ ืขืœ ื›ืŸ, RxSwift ื”ื•ื ื—ืœืง ืž-ReactiveX. ื–ื” ืื•ืžืจ ืฉื™ืฉ ืื ืœื•ื’ื™ ืœืื ื“ืจื•ืื™ื“, ืœืžืฉืœ (RxJava, RxKotlin), ื•ืขืžื™ืชื™ื ื‘ืกื“ื ื” ื™ื›ื•ืœื™ื ืœื“ื‘ืจ ื‘ืื•ืชื” ืฉืคื” ืื—ื“ ืขื ื”ืฉื ื™, ืœืžืจื•ืช ืฉื—ืœืงื ืขื•ื‘ื“ื™ื ืขื iOS ื•ืื—ืจื™ื ืขื ืื ื“ืจื•ืื™ื“.

ื”ืžืกื’ืจืช ืžืชืขื“ื›ื ืช ื›ืœ ื”ื–ืžืŸ, ื‘ืื’ื™ื ืงืœื™ื ืžืชื•ืงื ื™ื, ืžืชื•ื•ืกืคืช ืชืžื™ื›ื” ื‘ืชื›ื•ื ื•ืช ืžื’ืจืกืื•ืช ื—ื“ืฉื•ืช ืฉืœ Swift ื•ืžืชื•ื•ืกืคื•ืช ื›ืจื™ื›ื•ืช ื—ื“ืฉื•ืช. ืžื›ื™ื•ื•ืŸ ืฉ-RxSwift ื”ื•ื ืงื•ื“ ืคืชื•ื—, ืืชื” ื™ื›ื•ืœ ืœืขืงื•ื‘ ืื—ืจ ื›ืœ ื”ืฉื™ื ื•ื™ื™ื. ื™ืชืจ ืขืœ ื›ืŸ, ืืคืฉืจ ืœื”ื•ืกื™ืฃ ืื•ืชื ื‘ืขืฆืžืš.

ื”ื™ื›ืŸ ื™ืฉ ืœื”ืฉืชืžืฉ ื‘-RxSwift?

  1. ื›ืจื™ื›ื•ืช. ื›ื›ืœืœ, ืื ื—ื ื• ืžื“ื‘ืจื™ื ืขืœ ืžืžืฉืง ื”ืžืฉืชืžืฉ, ืขืœ ื”ื™ื›ื•ืœืช ืœืฉื ื•ืช ืืช ืžืžืฉืง ื”ืžืฉืชืžืฉ, ื›ืื™ืœื• ืžื’ื™ื‘ื™ื ืœืฉื™ื ื•ื™ื™ื ื‘ื ืชื•ื ื™ื, ื•ืœื ืื•ืžืจื™ื ื‘ืžืคื•ืจืฉ ืœืžืžืฉืง ืฉื”ื’ื™ืข ื”ื–ืžืŸ ืœืขื“ื›ืŸ.
  2. ืงืฉืจ ื‘ื™ืŸ ืจื›ื™ื‘ื™ื ื•ืคืขื•ืœื•ืช. ืจืง ื“ื•ื’ืžื”. ืื ื—ื ื• ืฆืจื™ื›ื™ื ืœืงื‘ืœ ืจืฉื™ืžื” ืฉืœ ื ืชื•ื ื™ื ืžื”ืจืฉืช. ืœืžืขืฉื”, ื–ื• ืคืขื•ืœื” ืœื ื›ืœ ื›ืš ืคืฉื•ื˜ื”. ืœืฉื ื›ืš, ืขืœื™ืš ืœืฉืœื•ื— ื‘ืงืฉื”, ืœืžืคื•ืช ืืช ื”ืชื’ื•ื‘ื” ืœืžืขืจืš ืฉืœ ืื•ื‘ื™ื™ืงื˜ื™ื, ืœืฉืžื•ืจ ืื•ืชื” ื‘ืžืกื“ ื”ื ืชื•ื ื™ื ื•ืœืฉืœื•ื— ืื•ืชื” ืœืžืžืฉืง ื”ืžืฉืชืžืฉ. ื›ื›ืœืœ, ืžืจื›ื™ื‘ื™ื ืฉื•ื ื™ื ืื—ืจืื™ื ืœื‘ื™ืฆื•ืข ื”ืคืขื•ืœื•ืช ื”ืœืœื• (ืื ื• ืื•ื”ื‘ื™ื ื•ืขื•ืงื‘ื™ื ืื—ืจ ื”ืขืงืจื•ื ื•ืช ืžื•ืฆืง?). ืขื ื›ืœื™ ื›ืžื• RxSwift ื‘ื”ื™ืฉื’ ื™ื“, ืืคืฉืจ ืœืชืืจ ืžื” ื”ืžืขืจื›ืช ืชืขืฉื”, ื•ืื™ืš ื”ื™ื ืชืขืฉื” ืืช ื–ื” ื™ื”ื™ื” ื‘ืžืงื•ืžื•ืช ืื—ืจื™ื. ื‘ืฉืœ ื›ืš ืžื•ืฉื’ ืืจื’ื•ืŸ ื˜ื•ื‘ ื™ื•ืชืจ ืฉืœ ื”ืงื•ื“ ื•ื”ืงืจื™ืื” ืขื•ืœื”. ื‘ืื•ืคืŸ ื™ื—ืกื™, ื ื™ืชืŸ ืœื—ืœืง ืืช ื”ืงื•ื“ ืœืชื•ื›ืŸ ืขื ื™ื™ื ื™ื ื•ืœืกืคืจ ืขืฆืžื•.

ืงื•ืจื•ื˜ื™ื ื™ื ื‘ืงื•ื˜ืœื™ืŸ

RxSwift ื•-coroutines ื‘ืงื•ื˜ืœื™ืŸ - ืงื•ืจืก ื‘ื—ื™ืจื” ื‘ืคื™ืชื•ื— ื ื™ื™ื“ ืžื‘ื™ืช AGIMA ื•-GeekBrains
ืžื•ืจื” ืœืงื•ืจืก ื‘ื—ื™ืจื” ืืœื›ืกื ื“ืจ ื˜ื–ื™ืง: "ืคื™ืชื•ื— ืžื•ื“ืจื ื™ ื“ื•ืจืฉ ืืžืฆืขื™ื ื˜ื›ื ื™ื™ื ืžื•ื“ืจื ื™ื™ื"

ืžื” ื™ืœืžื“ ื‘ืคืงื•ืœื˜ื” ืฉืœ โ€‹โ€‹GeekBrains ื‘ืžืกื’ืจืช ื”ืจื•ื‘ืข ื”ืžืžื•ืชื’?

ืชื™ืื•ืจื™ื”, ื”ืฉื•ื•ืื•ืช ืœื’ื™ืฉื•ืช ืื—ืจื•ืช, ื“ื•ื’ืžืื•ืช ืžืขืฉื™ื•ืช ื‘ืงื•ื˜ืœื™ืŸ ื”ื˜ื”ื•ืจ ื•ื‘ืžื•ื“ืœ ื”ืืคืœื™ืงืฆื™ื” ืฉืœ ืื ื“ืจื•ืื™ื“. ื‘ืืฉืจ ืœืชืจื’ื•ืœ, ืชื•ืฆื’ ืœืกื˜ื•ื“ื ื˜ื™ื ืืคืœื™ืงืฆื™ื” ืฉื‘ื” ื”ื›ืœ ืงืฉื•ืจ ืœืงื•ืจื•ื˜ื™ื ื™ื. ื”ืขื•ื‘ื“ื” ื”ื™ื ืฉืจื•ื‘ ื”ื™ื™ืฉื•ืžื™ื ื”ื ืžื—ืฉื•ื‘ ืืกื™ื ื›ืจื•ื ื™ ื•ืžืงื‘ื™ืœ ืœื—ืœื•ื˜ื™ืŸ. ืื‘ืœ ื”ืงื•ืจื•ื˜ื™ื ื™ื ืฉืœ Kotlin ืžืืคืฉืจื™ื ืœืฆืžืฆื ืงื•ื“ ืžื‘ืœื‘ืœ, ื”ื˜ืจื•ื’ื ื™ ืื• ืžื•ืจื›ื‘ ืžื“ื™ ื•ื“ื•ืจืฉ ื‘ื™ืฆื•ืขื™ื ืœืกื’ื ื•ืŸ ื™ื—ื™ื“ ื•ืงืœ ืœื”ื‘ื ื”, ืชื•ืš ื”ืฉื’ืช ื™ืชืจื•ื ื•ืช ื‘ื‘ื™ืฆื•ืข ื•ื‘ื‘ื™ืฆื•ืขื™ื ื ื›ื•ื ื™ื.

ื ืœืžื“ ืœื›ืชื•ื‘ ืงื•ื“ ืื™ื“ื™ื•ืžื˜ื™ ื‘ืงื•ืจื•ื˜ื™ื ื•ืช ืฉืคื•ืชืจ ื‘ืขื™ื•ืช ืžืขืฉื™ื•ืช ื•ืžื•ื‘ืŸ ืžืžื‘ื˜ ืจืืฉื•ืŸ ื’ื ืœืœื ื™ื“ืข ืžืขืžื™ืง ื›ื™ืฆื“ ืคื•ืขืœื•ืช ืงื•ืจื•ื˜ื™ื ื™ื (ืฉืœื ื ื™ืชืŸ ืœื•ืžืจ ืขืœ ืกืคืจื™ื•ืช ื›ืžื• RxJava). ื›ืžื• ื›ืŸ, ื ื‘ื™ืŸ ื›ื™ืฆื“ ืœื”ืฉืชืžืฉ ื‘ืžื•ืฉื’ื™ื ืžื•ืจื›ื‘ื™ื ื™ื•ืชืจ, ื›ืžื• ืžื•ื“ืœ ื”ืฉื—ืงืŸ, ื›ื“ื™ ืœืคืชื•ืจ ื‘ืขื™ื•ืช ืžื•ืจื›ื‘ื•ืช ื™ื•ืชืจ, ื›ืžื• ืžื—ืกืŸ ื”ื ืชื•ื ื™ื ื‘ืงื•ื ืกืคื˜ MVI.

ืื’ื‘, ืขื•ื“ ื—ื“ืฉื•ืช ื˜ื•ื‘ื•ืช. ื‘ื–ืžืŸ ื”ืงืœื˜ืช ืงื•ืจืก ื”ื‘ื—ื™ืจื”, ื™ืฆื ืขื“ื›ื•ืŸ ืœืกืคืจื™ื™ืช ืงื•ื˜ืœื™ืŸ ืงื•ืจื•ื˜ื™ื ืก, ื‘ื• ื”ื•ืคื™ืขื” ื”ื›ื™ืชื” Flow - ืื ืœื•ื’ื™ ืฉืœ ืกื•ื’ื™ื Flowable ะธ Observable ืž-RxJava. ื”ืขื“ื›ื•ืŸ ื‘ืขืฆื ื”ื•ืคืš ืืช ืชื›ื•ื ืช coroutines ืœืžื•ืฉืœืžืช ืžื ืงื•ื“ืช ื”ืžื‘ื˜ ืฉืœ ืžืคืชื— ื”ืืคืœื™ืงืฆื™ื•ืช. ื ื›ื•ืŸ, ืขื“ื™ื™ืŸ ื™ืฉ ืžืงื•ื ืœืฉื™ืคื•ืจ: ืœืžืจื•ืช ื”ืขื•ื‘ื“ื” ืฉื‘ื–ื›ื•ืช ื”ืชืžื™ื›ื” ืฉืœ ืงื•ืจื•ื˜ื™ื ื™ื ื‘ืงื•ื˜ืœื™ืŸ/ื ื˜ื™ื‘, ื›ื‘ืจ ืืคืฉืจ ืœื›ืชื•ื‘ ืืคืœื™ืงืฆื™ื•ืช ืžืจื•ื‘ื•ืช ืคืœื˜ืคื•ืจืžื•ืช ื‘ืงื•ื˜ืœื™ืŸ ื•ืœื ืœืกื‘ื•ืœ ืžื—ื•ืกืจ RxJava ืื• ืื ืœื•ื’ื™ื ื‘ืงื•ื˜ืœื™ืŸ ื”ื˜ื”ื•ืจ, ื”ืชืžื™ื›ื” ื‘ืงื•ืจื•ื˜ื™ื ื™ื ื‘-kotlin/native ืขื“ื™ื™ืŸ ืœื ื”ื•ืฉืœืžื”. ืœืžืฉืœ, ืื™ืŸ ืžื•ืฉื’ ืฉืœ ืฉื—ืงื ื™ื. ื‘ืื•ืคืŸ ื›ืœืœื™, ืœืฆื•ื•ืช ืงื•ื˜ืœื™ืŸ ื™ืฉ ืชื•ื›ื ื™ื•ืช ืœืชืžื•ืš ื‘ืฉื—ืงื ื™ื ืžื•ืจื›ื‘ื™ื ื™ื•ืชืจ ื‘ื›ืœ ื”ืคืœื˜ืคื•ืจืžื•ืช.

Kotlin Coroutines - ืื™ืš ื”ื ืขื•ื–ืจื™ื ืœืžืคืชื— Kotlin?

Coroutines ืžืกืคืงื™ื ื”ื–ื“ืžื ื•ืช ืžืฆื•ื™ื ืช ืœื›ืชื•ื‘ ืงื•ื“ ืงืจื™ื, ื ื™ืชืŸ ืœืชื—ื–ื•ืงื” ื•ืžืื•ื‘ื˜ื—, ืืกื™ื ื›ืจื•ื ื™ ื•ื‘ืžืงื‘ื™ืœ. ืืชื” ื™ื›ื•ืœ ื’ื ืœื™ืฆื•ืจ ืžืชืืžื™ื ืขื‘ื•ืจ ืžืกื’ืจื•ืช ื•ื’ื™ืฉื•ืช ืืกื™ื ื›ืจื•ื ื™ื•ืช ืื—ืจื•ืช ืฉืขืฉื•ื™ื•ืช ืœื”ื™ื•ืช ื‘ืฉื™ืžื•ืฉ ื›ื‘ืจ ื‘ื‘ืกื™ืก ื”ืงื•ื“.

ื‘ืžื” ืฉื•ื ื™ื Coroutines ืžื”ืฉืจืฉื•ืจื™ื?

ืฆื•ื•ืช ืงื•ื˜ืœื™ืŸ ืงื•ืจื ืœืงื•ืจื•ื˜ื™ื ื™ื ื—ื•ื˜ื™ื ืงืœื™ื. ื‘ื ื•ืกืฃ, ืงื•ืจื•ื˜ื™ื ื” ื™ื›ื•ืœื” ืœื”ื—ื–ื™ืจ ืขืจืš ื›ืœืฉื”ื•, โ€‹โ€‹ืžื›ื™ื•ื•ืŸ ืฉื‘ื‘ืกื™ืกื”, ืงื•ืจื•ื˜ื™ื ื” ื”ื™ื ื—ื™ืฉื•ื‘ ืžื•ืฉืขื”. ื–ื” ืœื ืชืœื•ื™ ื™ืฉื™ืจื•ืช ื‘ืฉืจืฉื•ืจื™ ื”ืžืขืจื›ืช; ืฉืจืฉื•ืจื™ื ืžื‘ืฆืขื™ื ืจืง ืงื•ืจื•ื˜ื™ื ื™ื.

ืื™ืœื• ื‘ืขื™ื•ืช ืžืขืฉื™ื•ืช ื ื™ืชืŸ ืœืคืชื•ืจ ื‘ืืžืฆืขื•ืช Coroutine, ืืฉืจ ืœื ื ื™ืชืŸ ืื• ืงืฉื” ืœืคืชื•ืจ ื‘ืืžืฆืขื•ืช ืงื•ื˜ืœื™ืŸ ื”"ื˜ื”ื•ืจ"?

ื›ืœ ืžืฉื™ืžื•ืช ืืกื™ื ื›ืจื•ื ื™ื•ืช, ืžืงื‘ื™ืœื•ืช, "ืชื—ืจื•ืชื™ื•ืช" ื ืคืชืจื•ืช ื”ื™ื˜ื‘ ื‘ืืžืฆืขื•ืช ืงื•ืจื•ื˜ื™ื ื™ื - ื‘ื™ืŸ ืื ื–ื” ืขื™ื‘ื•ื“ ืงืœื™ืงื™ื ืฉืœ ืžืฉืชืžืฉื™ื, ื›ื ื™ืกื” ืœืื™ื ื˜ืจื ื˜ ืื• ื”ืจืฉืžื” ืœืขื“ื›ื•ื ื™ื ืžืžืกื“ ื ืชื•ื ื™ื.

ื‘ืงื•ื˜ืœื™ืŸ ื”ื˜ื”ื•ืจ ืคื•ืชืจื™ื ืืช ื”ื‘ืขื™ื•ืช ื”ืœืœื• ื‘ืื•ืชื• ืื•ืคืŸ ื›ืžื• ื‘ื’'ืื•ื•ื” - ื‘ืขื–ืจืช ืืœืคื™ ืžืกื’ืจื•ืช ืฉืœื›ืœ ืื—ืช ืžื”ืŸ ื™ืชืจื•ื ื•ืช ื•ื—ืกืจื•ื ื•ืช ืžืฉืœื”, ืืš ืœืืฃ ืื—ืช ืžื”ืŸ ืื™ืŸ ืชืžื™ื›ื” ื‘ืจืžืช ื”ืฉืคื”.

ืœืกื™ื›ื•ื, ืจืื•ื™ ืœืฆื™ื™ืŸ ืฉืฉื ื™ ืงื•ืจืกื™ ื”ื‘ื—ื™ืจื” (ื•ื’ื ื”ืงื•ืจืกื™ื ื”ืขื™ืงืจื™ื™ื) ืžืชืขื“ื›ื ื™ื ื‘ื”ืชืื ืœืฉื™ื ื•ื™ื™ื ื‘ืชื ืื™ื ื”ื—ื™ืฆื•ื ื™ื™ื. ืื ืžื•ืคื™ืขื™ื ืขื“ื›ื•ื ื™ื ื—ืฉื•ื‘ื™ื ื‘ืฉืคื•ืช ืื• ื‘ืžืกื’ืจื•ืช, ื”ืžื•ืจื™ื ืœื•ืงื—ื™ื ื–ืืช ื‘ื—ืฉื‘ื•ืŸ ื•ืžืฉื ื™ื ืืช ื”ืชื•ื›ื ื™ืช. ื›ืœ ื–ื” ืžืืคืฉืจ ืœืš ืœื”ื™ื•ืช ืขื ื”ืืฆื‘ืข ืขืœ ื”ื“ื•ืคืง ืฉืœ ืชื”ืœื™ืš ื”ืคื™ืชื•ื—, ื›ื‘ื™ื›ื•ืœ.

ืžืงื•ืจ: www.habr.com

ื”ื•ืกืคืช ืชื’ื•ื‘ื”