α
ααααααΉαααΊααα’ ααααΆααααα’ααα
αΆαααα ααα»ααααααΆαα’αα»ααααααααααΌαααΆααααααααΎααααΈα±ααα’αααα’αΆα
ααααΎαα·αααααααααααα½αααΆααααααααααα½αααΆααΈααααΆαααΆα "ααΆααααα»αα’αααα" αα
ααααΆαααΆα "ααΆαααααΎααααΆααααααα" α αα·αααΆααΆαααααα»ααααααΆαααααΉααααΈααα’ααα»ααααΆααααα ααΆαααΆα "αααα»ααα·ααα" αα
ααααΆαααΆαα ααΆαααΎα’αα»ααααα
ααααααααΎαααααααααα·ααααα·ααααΆ αα½αααΆααααΆαα’αα·αααααααααααα·ααΈαααααα
αα ααααΆαααα GeekBrains αααααΆααααααα½ααααα αΆαα·ααααΆαααα’αα·ααααααα αααααααααα·ααααΆαααα’αα‘αΆα GeekUniversity ααΆαα αΆααααααΎαααααΎααΆαααΆαα½αααΈααααΆααααΆαα’αααααααα AGIMA ααααααα»ααααααα½αααααΆα’ααααααααΎαααααΆααα·ααααΆααΈαα (αα½ααααααααΎαααααααααααα»αααααααααα»αααααΆα αα·αααααααΆααΈααααα αα·ααααααα·ααΈααΌαααααα αααα αΎαααΆα’αααΈααΆααα’αα)α AGIMA αα·α GeekBrains ααΆααααααΎααααααΎααααααΆααααΆαααααα»αααΉααααΆααααα αα αααα»ααααα αΆααΆαααααααααααΆαα’αα·αααααααααααα·ααΈααΌααααααα
αα
αααααα»αααΎαααΆααα·ααΆαααΆαα½α Igor Vedeneev α’αααα―αααα iOS αα·α Alexander Tizik α―αααα Android α ααΌαα’ααα»αααααα½ααα ααΆαααααΎαααΎαααΎααΆαα’αα·ααααααααΌααααααααααΌαααΆααααααΉααααααΆαα’αα»ααααααΆααααααα
ααΆαααααααααααα·ααΈαααααΆαααααα·αααααα αααα»α iOS αααααααΎ RxSwift ααΆα§ααΆα ααα
ααααΌααααααααααΎαααΎα Igor Vedeneev: "ααΆαα½α RxSwift αααααα·ααΈααααα’αααααΉαα ααα αΎα"
ααΎαα·αααααα½αααΆαααααααΆαα’αααΈαααααααα»αα’αα‘α»αααααααααααα?
ααΎααα·ααΆααα·αααααΉαααα’αααΈαααααααΆααααααααααααααα»αααααααααα»αααααααααΆαααααα αΆαααΈααααααααΎααΆαα
αααα»αααΆααα½ααααα
αΌαααααΆαα MVVM + RxSwift αα»ααΆαα α§ααΆα αααααΆαααααααααΆα
αααΎαααααΌαααΆααα·ααΆααααΆαααααα ααΎααααΈααααα½αααααα½ααα·αααααααααααα½αααΆα ααΎαααααααααααα·ααΈααααα
αα·ααααα»αααΆααααα’αΆα
ααααΎαα
ααΆαα
ααααααααααααααααα·ααααα·ααΆαα ααΆααΉαααααΆαααΆαααααα·ααΈααααααααααααααΈαααααααΎ
RxSwift - α ααα»α’αααΈααΆαααΆα’αααααααααααααα·ααΈ iOS ααααΌαααΆαααααααααααα ααΎααΆααααΎα±ααααΈαα·αα’αααα’αα·ααααααααΆααααααΆααααα½ααααααααααΆ?
αααααΆαα RxSwift ααααΎαααΆαααΆαα½αααααααΈαααααΉαααα·ααΆααα αα·αααΆααααααΆαααααΆαααααα»α α§ααΆα αααααΆαααααααα»α αα·αααΆααααααααααα»αααΊααΆαα αα α§ααΆα ααα α’αααα’αΆα ααααΎαα αα α»ααααααααΆαα ααα»α αααααΆαααααααααΆααααααααααααααααααΈαα αααα»αα’ααααααα»α viewModel α ααΌα αααα α ααα»α αααααΆααααααΆαααΆαα·ααααααααααααα»αα ααΎαααΈααα RxSwift α’αα»ααααΆαα±ααα’ααααααααΆαααααααααααα»ααα ααΆααααααααααΆα αααα’αα»ααααΆαα±ααα’ααααααα αααΌαααααα’ααα αα·ααααααΎαααΆαα’αΆαα ααΆααα’ααααααα½αα’αα·αααααααααα·ααΈα±ααααΆααααααΆαααααα·αααααΆαα
αααααΆααα’αααα’αα·αααααα α ααααααΉαα’αααΈααααααααααααΆααΌαααααα’αα½ααα ααΎαααααααα·ααΌαααααα α αΆααααΆααααΈααΆααααααΉαα’αααΈααΆαααααααααααα·ααΈαααααΆαααααα·αααα αα·αααΆαα·ααααααα·αααααααΆαα½α RxSwift ααααΌαααΆαααΆααααααααΎααΈααααΆαα
α ααα»α’αααΈααααΌαααααΎαααΎαααααααααααα·ααααααααΆαα’αααααα?
RxSwift ααΆααα αααααααααα»αα αααααΊααΆαα±ααΆαααΆααααα αααΎαααααααα αΆαααα’αααα’αα·αααααααααα»ααα½ααααααααααΌαααΆααααααααΆααααααααΆααααΆαααα½α α αΎαα ααααΆαααΆαα ααα½αα ααα½αααα ααααΈαααα’ααα ααΎαααΈααααα ααα RxSwift ααΊααΆααααααα½ααα ReactiveX α αααααΆααααααΆααΆα analogue αααααΆαα Android α§ααΆα ααα (RxJava, RxKotlin) α αΎααα·ααααα½αααΆαααΆααααα»ααα·ααααΆααΆααΆα’αΆα αα·ααΆαααΆααΆααΌα ααααΆααΆαα½αααααΆαα αα·ααα αα αααααΈααΆααΆααα·αααααααααΎααΆαααΆαα½α iOS αααααααααΆαα½α Android α
αααααααααααααΌαααΆαααααΎαα αα α»ααααααααΆαα₯αααααα ααα α»αααΌα ααΆα ααααΌαααΆααααααααΌα ααΆαααΆαααααααααΆαααααααααα·αααααΈααααααααΈαααα Swift ααααΌαααΆααααααα αα·αααΆαα αααααΈααααΌαααΆαααααααα αααααΆα RxSwift ααΊααΆαααααααΎαα αα α’αααα’αΆα ααααΎααΆαααΆαααααΆααααααΌαααΆααα’ααα ααΎαβααΈβαααβαα βααα ααΆβα’αΆα βααααααβααΆβαααβαααα½αβα―αα
ααΎ RxSwift αα½αααααΎαα α―ααΆ?
- ααΆαα αα ααΆααααα½ααα½α ααΎααααα»ααα·ααΆαα’αααΈ UI αααααααΆααααα»αααΆαααααΆααααααΌα UI ααΌα ααΆααααα·αααααα ααΉαααΆαααααΆααααααΌααα·αααααα αα·ααα·αααααΆαααααΆαα αααΆααααΈα ααα»α αααααΆααααΆααΆαααααααααααααΌαα’αΆαααααα αΎαα
- ααααΆαααααααααΆααααΆαααΆαα» αα·αααααα·ααααα·ααΆαα ααααΆααααααΆα§ααΆα ααααα½αα ααΎαααααΌαααα½αααΆααααααΈαα·ααααααααΈαααααΆαα ααΆαααΆααα·α ααααα·ααααααΆααααα·ααααα·ααΆαααΆααααααααααααα ααΎααααΈααααΎααΌα
αααα α’αααααααΌαααααΎααααΎ ααΌααααααΈααΆαααααΎααααα
αααα»αα’αΆααααααααα» αααααΆαα»αααΆαα
αααα»αααΌαααααΆααα·αααααα α αΎαααααΎααΆαα
UI α ααΆααααα½ααα½α αααΆαααΆαα»αααααααααΆααΊααα½ααα»αααααΌααααα»αααΆαα’αα»ααααααααα·ααααα·ααΆαααΆααααα (ααΎααααα‘αΆαα αα·αααααΎααΆααααααΆααα
ααΉα ?) ααΆαααΆαα§αααααααΌα ααΆ RxSwift αα ααΉααα ααΆα’αΆα αα·αααααΆα’αααΈα’αααΈαααααααααααααΉαααααΎ α αΎααααααααααΆααΉαααααΎααΆααΉαααΆααα ααααααααααααααα ααΆααΊαααααΆαααααααααα’αααααΆαααΆαααααααααΎαα‘αΎαααααΌαααααΌαααΆααααααα α αΎαααΆαα’αΆαααΎαα‘αΎαα ααΎαα·ααΆαααΆααααααααΆ ααΌαα’αΆα αααα ααααΆααΆααΆαααΆαα·ααΆ αα·αααααα αααα½αα―αα
αααααΆαααα Kotlin
ααααΌαααααααααααα·ααααΆααααΎαααΎα Alexander Tizik: "ααΆαα’αα·ααααααααααΎαααΆαααΆααααααααΆααα
αα
αααααααααΎα"
ααΎα’αααΈααΉαααααΌαααΆααααααααα αα αΆαα·ααααΆααα GeekBrains αααααΆααααααα½αααααααΈααΆααααΆα?
ααααΉααααΈ, ααΆαααααααααααΆαα½αααΉααα·ααΈααΆααααααααααααα, α§ααΆα αααααΆααααααααα αααα»α Kotlin αα»ααα αα·ααα αααα»αααααΌαααααα·ααΈ Android α α ααααααΆαα’αα»αααα αα·αααααΉαααααΌαααΆααααα αΆαααΌααααααα·ααΈαα½α αααα’αααΈαααααΌαααΆαα αααααΆαααα ααΉααααααΆααα ααΆααα·αααΊααΆαααααα·ααΈααΆαα αααΎαααΊααΆααΆαααααΆα’ααααΆα αα·ααααΆαααΆα‘ααααΆαααααα»αα ααα»αααα Kotlin coroutines α’αα»ααααΆαα±ααααΆαααΆαα ααααΌαα ααααα αα»αααΈααααΆ α¬αααα»αααααααΆαααααΆααααα αα·αααΌαααΆαααΆαααΆαα’αα»ααααααααΌαααΆαααΆααααααααα ααΆαα ααΆααααααααα½α ααΆααααα½αααα αααααα½αααΆαα’ααααααααααααααα»αααΆαααααα·ααααα· αα·αααΆαα’αα»ααααααααΉαααααΌαα
ααΎαααΉαααααααααααΌα idiomatic αα αααα»α coroutines ααααααααααΆααααα αΆααΆααααααα α αΎαα’αΆα αααααΆααα glance ααααΌα αααααΈααΆαα·αααΆαα ααααααΉααααα ααααα’αααΈααααααα coroutines ααααΎαααΆα (ααααα·αα’αΆα αα·ααΆαααΆαα’αααΈαααααΆαααααΌα ααΆ RxJava)α ααΎαααααΉαααααααααα’αααΈααααααααΎαααα·ααααα»αααααααΆαααααααααα ααΌα ααΆααααΌαα½αααααα ααΎααααΈαααααααΆααααα αΆαααα»αααααΆαααααααααα ααΌα ααΆααααΆαααα·αααααααα αααα»ααααα·α MVI ααΆααΎαα
αα·ααΆαα’αΈααα
αΉα ααααΉαααα’αααα αααααααααααΆαααααΎαααΎααααα»αααααΌαααΆααααααααΆ ααΆαα’αΆααααααα
ααΆαααααααΆααα Kotlin Coroutines ααααΌαααΆαα
ααααααΆα ααααααα»ααααααααΆααααΆααααα αΆααααα½α Flow
- analogue αααααααα Flowable
ΠΈ Observable
ααΈ RxJava α ααΆαα’αΆααααααα·αααΆααααΎα±αααα»αααΆα coroutines ααααααααΆαααααααααααα’αααα’αα·αααααααααααα·ααΈα αα·α ααΆαα
ααααΆααααααααααααΆαααααααα’α αααααΈααΆααΆααα·ααααααΆα’ααα»αα
ααααααΆαααΆαααααα coroutines αα
αααα»α kotlin/native ααΆα’αΆα
ααααααααααα·ααΈαα α»αααα·ααΆαα
αααα»α Kotlin αα½α
α αΎα α αΎααα·αααα½αααααΈααΆαααααααΆα RxJava α¬ analogues αα
αααα»α Kotlin αα»ααααααααα ααΆαααΆαααααααααΆαα coroutines αα
αααα»α kotlin/native αα·αααΆαααααααααα
α‘αΎαααα α§ααΆα ααααα·αααΆααααα·ααααα½α’αααααα ααΆααΌαα
αααα»αααΆαααΆα Kotlin ααΆαααααααααΆαααααα½α’ααααααα»αααααΆααααααααααααΎααααααααα·ααΆααΆααα’ααα
Kotlin Coroutines - ααΎαα½ααααα½αα’αααα’αα·αααααα Kotlin αααΆαααΌα ααααα ?
Coroutines αααααα±ααΆαααααα’αααα»αααΆααααααααΌααααα’αΆα α’αΆαααΆα αααααΆααΆα αα·αααΆααα»ααααα·ααΆα α’ααααΆα αα·αααααααααΆα α’αααααα’αΆα αααααΎαα’αΆααΆααααααααααΆααααααααααα αα·ααα·ααΈααΆαααααα’ααααΆααααααααααααα’αΆα ααΉαααααΌαααΆαααααΎαα½α α αΎααα αααα»αααΌαααααΆαααΌαα
ααΎ Coroutines αα»αααααΆααΈαααααααα‘αΆααααΆαααΌα ααααα ?
αααα»α Kotlin α α coroutines lightweight threadsα ααΎαααΈααα coroutine α’αΆα αααα‘ααααααααα½αα ααα½α ααΈααααααα ααααΌαααααααΆ coroutine ααΊααΆααΆαααααΆαααααα’αΆαα ααΆβαα·αβα’αΆαααααβαααβααααΆααβααΎβααααααααβααααβαααα‘αΆαβαα ααααβαααα‘αΆαβααααα·ααααα·βαα coroutines ααα»αααααα
ααΎαααα αΆααΆαααααααα’αααΈαααααααα’αΆα αααααααΆαααΆααααααααΎ Coroutine ααααα·αα’αΆα α¬αα·ααΆααααααααΆααααααααΎ Kotlin "ααα·αα»ααα"?
ααΆαααα·α αα ααΆαα’ααααΆα αααΆαααΆα‘αα αα·α "ααααα½ααααααα" ααααΌαααΆααααααααΆααααΆαααα’αααααααΎαααααΆαα - ααΆααΎααΆααααΎαααΆαααΆαα α»α ααααα’αααααααΎααααΆαα ααααΎαααΆαααΎα’ααΈαααΊαα·α α¬ααΆαααααααΆαααααΈαααΈααΌαααααΆααα·ααααααα
αα αααα»α Kotlin αα»ααα αααα αΆααΆαααααααααΌαααΆααααααααΆαααΆαααααααΌα ααααΆααΉα Java ααα - αααααΆααααα½αααΈααααααααααΆααααΆαα αααααΈαα½ααααΆααα»ααααααααα· αα·ααα»ααα·ααααα·αααααααα½α ααα»ααααααααΆαααααΆααααΆαααααα»αα αααααα½αααααΆααααααααα·αααΆααΆαααααα
ααΆααΆαααααα·ααααΆα ααΆααΊααΆααααααα·ααΆαααΆααΆαααααΎαααΎαααΆααααΈα (αα·ααααααα·ααααΆααααΆααααααα) ααααΌαααΆαααααΎαα
αα
α»ααααααααΆαααααααΆαααΆαααααΆααααααΌααα
αααα»αααααααααααΆααααα
α ααααα·αααΎααΆαα’αΆαααααααααΆαααααα
α‘αΎαααΆααΆααΆ α¬αααααααα ααααΌααααααααααΆαα
αααα»αααααΈ α αΎααααααααααααα·ααΈα ααΆααα’αααααα’αα»ααααΆαα±ααα’ααααααααΆααααΆαααααααα’ααααα
ααΎααΈαα
αααααααΎαααΆαα’αα·ααααααααΌα
ααααααΎααααΈαα·ααΆαα
ααααα: www.habr.com