ΠΠ½Π°Π΅ΡΠ΅ΡΠΎ Π΅ Π΄ΠΎΠ±ΡΠΎ, ΡΠ°ΠΌΠΎ ΠΎΠ΄Π»ΠΈΡΠ½ΠΎ. ΠΠΎ, ΠΏΠΎΡΡΠ΅Π±Π½Π° Π΅ ΠΈ ΠΏΡΠ°ΠΊΡΠ° Π·Π° Π΄Π° ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π³ΠΈ ΠΊΠΎΡΠΈΡΡΠΈΡΠ΅ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΠ΅ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ, ΠΏΡΠ΅ΡΡΠ»Π°ΡΡΠΈ Π³ΠΈ ΠΎΠ΄ ΡΡΠ°ΡΡΡΠΎΡ βΠΏΠ°ΡΠΈΠ²Π½ΠΎ ΡΠΊΠ»Π°Π΄ΠΈΡΠ°ΡΠ΅β Π²ΠΎ ΡΡΠ°ΡΡΡΠΎΡ βΠ°ΠΊΡΠΈΠ²Π½Π° ΡΠΏΠΎΡΡΠ΅Π±Π°β. ΠΠ΅Π· ΡΠ°Π·Π»ΠΈΠΊΠ° ΠΊΠΎΠ»ΠΊΡ Π΅ Π΄ΠΎΠ±ΡΠ° ΡΠ΅ΠΎΡΠ΅ΡΡΠΊΠ°ΡΠ° ΠΎΠ±ΡΠΊΠ°, ΡΠ΅ΠΏΠ°ΠΊ Π΅ ΠΏΠΎΡΡΠ΅Π±Π½Π° ΡΠ°Π±ΠΎΡΠ° βΠ½Π° ΡΠ΅ΡΠ΅Π½β. ΠΠΎΡΠ΅Π½Π°Π²Π΅Π΄Π΅Π½ΠΎΡΠΎ ΡΠ΅ ΠΎΠ΄Π½Π΅ΡΡΠ²Π° Π½Π° ΡΠ΅ΡΠΈΡΠΈ ΡΠ΅ΠΊΠΎΠ΅ ΠΏΠΎΠ»Π΅ Π½Π° ΡΡΡΠ΄ΠΈΠΈ, Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ ΠΈ, ΡΠ΅ ΡΠ°Π·Π±ΠΈΡΠ°, ΡΠ°Π·Π²ΠΎΡ Π½Π° ΡΠΎΡΡΠ²Π΅Ρ.
ΠΠ²Π°Π° Π³ΠΎΠ΄ΠΈΠ½Π°, GeekBrains, ΠΊΠ°ΠΊΠΎ Π΄Π΅Π» ΠΎΠ΄ ΡΠ°ΠΊΡΠ»ΡΠ΅ΡΠΎΡ Π·Π° ΠΌΠΎΠ±ΠΈΠ»Π΅Π½ ΡΠ°Π·Π²ΠΎΡ Π½Π° ΠΎΠ½Π»Π°ΡΠ½ ΡΠ½ΠΈΠ²Π΅ΡΠ·ΠΈΡΠ΅ΡΠΎΡ GeekUniversity, Π·Π°ΠΏΠΎΡΠ½Π° Π΄Π° ΡΠ°Π±ΠΎΡΠΈ ΡΠΎ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½Π°ΡΠ° Π°Π³Π΅Π½ΡΠΈΡΠ° AGIMA, ΡΠΈΡ ΡΠΈΠΌ ΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΠΈΠΎΠ½Π°Π»Π½ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ΅ΡΠΈ (ΡΠΈΠ΅ ΡΠΎΠ·Π΄Π°Π²Π°Π°Ρ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ½ΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΈ ΡΠΎ Π³ΠΎΠ»Π΅ΠΌΠΎ ΠΎΠΏΡΠΎΠ²Π°ΡΡΠ²Π°ΡΠ΅, ΠΊΠΎΡΠΏΠΎΡΠ°ΡΠΈΠ²Π½ΠΈ ΠΏΠΎΡΡΠ°Π»ΠΈ ΠΈ ΠΌΠΎΠ±ΠΈΠ»Π½ΠΈ Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ, ΡΠΎΠ° Π΅ ΡΓ¨). AGIMA ΠΈ GeekBrains ΡΠΎΠ·Π΄Π°Π΄ΠΎΠ° ΠΈΠ·Π±ΠΎΡΠ΅Π½ ΠΏΡΠ΅Π΄ΠΌΠ΅Ρ Π·Π° Π΄Π»Π°Π±ΠΎΠΊΠΎ Π½ΡΡΠ½ΡΠ²Π°ΡΠ΅ Π²ΠΎ ΠΏΡΠ°ΠΊΡΠΈΡΠ½ΠΈΡΠ΅ ΠΏΡΠ°ΡΠ°ΡΠ° Π·Π° ΡΠ°Π·Π²ΠΎΡ Π½Π° ΠΌΠΎΠ±ΠΈΠ»Π½ΠΈ Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ.
ΠΡΠ΅Π΄ Π½Π΅ΠΊΠΎΡ Π΄Π΅Π½ ΡΠ°Π·Π³ΠΎΠ²Π°ΡΠ°Π²ΠΌΠ΅ ΡΠΎ ΠΠ³ΠΎΡ ΠΠ΅Π΄Π΅Π½Π΅Π΅Π², ΡΠΏΠ΅ΡΠΈΡΠ°Π»ΠΈΡΡ Π·Π° iOS ΠΈ ΠΠ»Π΅ΠΊΡΠ°Π½Π΄Π°Ρ Π’ΠΈΠ·ΠΈΠΊ, ΡΠΏΠ΅ΡΠΈΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½ Π·Π° Android. ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π° Π½ΠΈΠ², ΠΈΠ·Π±ΠΎΡΠ½ΠΈΠΎΡ ΠΏΡΠ΅Π΄ΠΌΠ΅Ρ Π·Π° ΡΠ°Π·Π²ΠΎΡ Π½Π° ΠΌΠΎΠ±ΠΈΠ»Π½ΠΈ ΡΠ΅Π»Π΅ΡΠΎΠ½ΠΈ Π±Π΅ΡΠ΅ Π·Π±ΠΎΠ³Π°ΡΠ΅Π½ ΡΠΎ ΠΏΡΠ°ΠΊΡΠΈΡΠ½ΠΈ
Π Π΅Π°ΠΊΡΠΈΠ²Π½ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ°ΡΠ΅ Π²ΠΎ iOS ΠΊΠΎΡΠΈΡΡΠ΅ΡΡΠΈ RxSwift ΠΊΠ°ΠΊΠΎ ΠΏΡΠΈΠΌΠ΅Ρ
ΠΠ·Π±ΠΎΡΠ΅Π½ Π½Π°ΡΡΠ°Π²Π½ΠΈΠΊ ΠΠ³ΠΎΡ ΠΠ΅Π΄Π΅Π½Π΅Π΅Π²: βΠ‘ΠΎ RxSwift, Π²Π°ΡΠ°ΡΠ° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ° ΡΠ΅ Π»Π΅ΡΠ°β
ΠΠ°ΠΊΠ²ΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π΄ΠΎΠ±ΠΈΠ²Π°Π°Ρ ΡΡΡΠ΄Π΅Π½ΡΠΈΡΠ΅ Π·Π° Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΠΈΠ·Π±ΠΎΡΠ½ΠΈΠΎΡ ΠΏΡΠ΅Π΄ΠΌΠ΅Ρ?
ΠΠ±ΠΎΡΡΠ²Π°ΠΌΠ΅ Π½Π΅ ΡΠ°ΠΌΠΎ Π·Π° ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈΡΠ΅ Π½Π° ΡΠ°ΠΌΠΊΠ°ΡΠ°, ΡΡΠΊΡ ΠΏΠΎΠΊΠ°ΠΆΡΠ²Π°ΠΌΠ΅ ΠΈ ΠΊΠ°ΠΊΠΎ Π΄Π° ΡΠ° ΠΊΠΎΡΠΈΡΡΠΈΠΌΠ΅ Π²ΠΎ ΠΊΠ»Π°ΡΠΈΡΠ½Π°ΡΠ° ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΡΠ° MVVM + RxSwift. Π‘Π΅ Π΄ΠΈΡΠΊΡΡΠΈΡΠ°Π°Ρ ΠΈ Π½Π΅ΠΊΠΎΠ»ΠΊΡ ΠΏΡΠ°ΠΊΡΠΈΡΠ½ΠΈ ΠΏΡΠΈΠΌΠ΅ΡΠΈ. ΠΠ° Π΄Π° Π³ΠΈ ΠΊΠΎΠ½ΡΠΎΠ»ΠΈΠ΄ΠΈΡΠ°ΠΌΠ΅ Π΄ΠΎΠ±ΠΈΠ΅Π½ΠΈΡΠ΅ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ, ΠΏΠΈΡΡΠ²Π°ΠΌΠ΅ Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ° ΡΡΠΎ Π΅ ΡΡΠΎ Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ±Π»ΠΈΡΠΊΡ Π΄ΠΎ ΡΡΠ»ΠΎΠ²ΠΈΡΠ΅ Π·Π° ΡΠ°Π±ΠΎΡΠ° Π½Π° ΡΠ΅ΡΠ΅Π½ΠΎΡ. ΠΠ²Π° ΡΠ΅ Π±ΠΈΠ΄Π΅ Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ° Π·Π° ΠΏΡΠ΅Π±Π°ΡΡΠ²Π°ΡΠ΅ ΠΌΡΠ·ΠΈΠΊΠ° ΠΊΠΎΡΠΈΡΡΠ΅ΡΡΠΈ
RxSwift - Π·ΠΎΡΡΠΎ Π½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ΅ΡΠΎΡ Π½Π° iOS ΠΌΡ Π΅ ΠΏΠΎΡΡΠ΅Π±Π½Π° ΠΎΠ²Π°Π° ΡΠ°ΠΌΠΊΠ°, ΠΊΠ°ΠΊΠΎ ΠΌΡ Π³ΠΎ ΠΎΠ»Π΅ΡΠ½ΡΠ²Π° ΠΆΠΈΠ²ΠΎΡΠΎΡ Π½Π° ΡΠ°Π·Π²ΠΈΠ²Π°ΡΠΎΡ?
RxSwift Π½Π°ΡΠΎΡΡΠ²Π° ΡΠ°Π±ΠΎΡΠΈ ΡΠΎ ΡΠ΅ΠΊΠΎΠ²ΠΈ Π½Π° Π½Π°ΡΡΠ°Π½ΠΈ ΠΈ Π²ΡΡΠΊΠΈ ΠΏΠΎΠΌΠ΅ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΈ. ΠΠ°ΡΠ΅Π΄Π½ΠΎΡΡΠ°Π²Π½ΠΈΠΎΡ ΠΈ Π½Π°ΡΠΎΡΠΈΠ³Π»Π΅Π΄Π½ΠΈΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ Π΅ Π²ΡΠ·ΡΠ²Π°ΡΠ΅ΡΠΎ: Π½Π° ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π³ΠΎ Π°ΠΆΡΡΠΈΡΠ°ΡΠ΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΡΡΠΎΡ ΡΠΎ Π΅Π΄Π½ΠΎΡΡΠ°Π²Π½ΠΎ ΠΏΠΎΡΡΠ°Π²ΡΠ²Π°ΡΠ΅ Π½Π° Π½ΠΎΠ²ΠΈ Π²ΡΠ΅Π΄Π½ΠΎΡΡΠΈ Π²ΠΎ ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π°ΡΠ° Π²ΠΎ ViewModel. Π’Π°ΠΊΠ°, ΠΈΠ½ΡΠ΅ΡΡΠ΅ΡΡΠΎΡ ΡΡΠ°Π½ΡΠ²Π° ΡΠΏΡΠ°Π²ΡΠ²Π°Π½ ΠΎΠ΄ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ. ΠΠΎΠΊΡΠ°Ρ ΡΠΎΠ°, RxSwift Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° Π΄Π° Π³ΠΎ ΠΎΠΏΠΈΡΠ΅ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠΎΡ Π²ΠΎ Π΄Π΅ΠΊΠ»Π°ΡΠ°ΡΠΈΠ²Π΅Π½ ΡΡΠΈΠ», ΡΡΠΎ Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° Π΄Π° Π³ΠΎ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΈΡΠ°ΡΠ΅ Π²Π°ΡΠΈΠΎΡ ΠΊΠΎΠ΄ ΠΈ Π΄Π° ΡΠ° Π·Π³ΠΎΠ»Π΅ΠΌΠΈΡΠ΅ ΡΠΈΡΠ»ΠΈΠ²ΠΎΡΡΠ°. Π‘Π΅ΡΠΎ ΠΎΠ²Π° ΠΏΠΎΠΌΠ°Π³Π° Π΄Π° ΡΠ΅ ΡΠ°Π·Π²ΠΈΡΠ°Ρ Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈΡΠ΅ ΠΏΠΎΠ΅ΡΠΈΠΊΠ°ΡΠ½ΠΎ.
ΠΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ΅Ρ, ΠΏΠΎΠ·Π½Π°Π²Π°ΡΠ΅ΡΠΎ Π½Π° ΡΠ°ΠΌΠΊΠ°ΡΠ° Π΅ ΠΈΡΡΠΎ ΡΠ°ΠΊΠ° Π΄ΠΎΠ±Π°Ρ ΠΏΠ»ΡΡ Π½Π° ΡΠ΅Π·ΠΈΠΌΠ΅ΡΠΎ, Π±ΠΈΠ΄Π΅ΡΡΠΈ ΡΠ°Π·Π±ΠΈΡΠ°ΡΠ΅ΡΠΎ Π½Π° ΡΠ΅Π°ΠΊΡΠΈΠ²Π½ΠΎΡΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ°ΡΠ΅, Π° ΠΎΡΠΎΠ±Π΅Π½ΠΎ ΠΈΡΠΊΡΡΡΠ²ΠΎΡΠΎ ΡΠΎ RxSwift, ΡΠ΅ ΡΠ΅Π½ΠΈ Π½Π° ΠΏΠ°Π·Π°ΡΠΎΡ.
ΠΠΎΡΡΠΎ Π΄Π° ΡΠ° ΠΈΠ·Π±Π΅ΡΠ΅ΡΠ΅ ΠΎΠ²Π°Π° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½Π° ΡΠ°ΠΌΠΊΠ° ΠΏΡΠ΅Π΄ Π΄ΡΡΠ³ΠΈΡΠ΅?
RxSwift ΠΈΠΌΠ° Π½Π°ΡΠ³ΠΎΠ»Π΅ΠΌΠ° Π·Π°Π΅Π΄Π½ΠΈΡΠ°. ΠΠ΄Π½ΠΎΡΠ½ΠΎ, ΠΈΠΌΠ° ΠΏΠΎΠ³ΠΎΠ»Π΅ΠΌΠΈ ΡΠ°Π½ΡΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΡ ΡΠΎ ΠΊΠΎΡ ΡΠ΅ ΡΠΎΠΎΡΡΠ²Π° ΡΠ°Π·Π²ΠΈΠ²Π°ΡΠΎΡ Π²Π΅ΡΠ΅ Π½Π΅ΠΊΠΎΡ Π΄Π° Π³ΠΎ ΡΠ΅ΡΠΈ. ΠΡΡΠΎ ΡΠ°ΠΊΠ° Π³ΠΎΠ»Π΅ΠΌ Π±ΡΠΎΡ Π½Π° Π²ΡΠ·ΠΈΠ²Π° Π½Π°Π΄Π²ΠΎΡ ΠΎΠ΄ ΠΊΡΡΠΈΡΠ°ΡΠ°. ΠΠΎΠΊΡΠ°Ρ ΡΠΎΠ°, RxSwift Π΅ Π΄Π΅Π» ΠΎΠ΄ ReactiveX. ΠΠ²Π° Π·Π½Π°ΡΠΈ Π΄Π΅ΠΊΠ° ΠΈΠΌΠ° Π°Π½Π°Π»ΠΎΠ³ Π·Π° Android, Π½Π° ΠΏΡΠΈΠΌΠ΅Ρ (RxJava, RxKotlin), Π° ΠΊΠΎΠ»Π΅Π³ΠΈΡΠ΅ Π²ΠΎ ΡΠ°Π±ΠΎΡΠΈΠ»Π½ΠΈΡΠ°ΡΠ° ΠΌΠΎΠΆΠ°Ρ Π΄Π° Π·Π±ΠΎΡΡΠ²Π°Π°Ρ Π½Π° ΠΈΡΡ ΡΠ°Π·ΠΈΠΊ ΠΌΠ΅ΡΡ ΡΠ΅Π±Π΅, ΠΈ ΠΏΠΎΠΊΡΠ°Ρ ΡΠ°ΠΊΡΠΎΡ ΡΡΠΎ Π΅Π΄Π½ΠΈ ΡΠ°Π±ΠΎΡΠ°Ρ ΡΠΎ iOS, Π΄ΡΡΠ³ΠΈ ΡΠΎ Android.
Π Π°ΠΌΠΊΠ°ΡΠ° ΠΏΠΎΡΡΠΎΡΠ°Π½ΠΎ ΡΠ΅ Π°ΠΆΡΡΠΈΡΠ°, ΠΌΠ°Π»ΠΈΡΠ΅ Π³ΡΠ΅ΡΠΊΠΈ ΡΠ΅ ΠΊΠΎΡΠΈΠ³ΠΈΡΠ°Π°Ρ, ΡΠ΅ Π΄ΠΎΠ΄Π°Π²Π° ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° ΡΡΠ½ΠΊΡΠΈΠΈ ΠΎΠ΄ Π½ΠΎΠ²ΠΈΡΠ΅ Π²Π΅ΡΠ·ΠΈΠΈ Π½Π° Swift ΠΈ ΡΠ΅ Π΄ΠΎΠ΄Π°Π²Π°Π°Ρ Π½ΠΎΠ²ΠΈ Π²ΡΡΠΊΠΈ. ΠΠΈΠ΄Π΅ΡΡΠΈ RxSwift Π΅ ΡΠΎ ΠΎΡΠ²ΠΎΡΠ΅Π½ ΠΊΠΎΠ΄, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π³ΠΈ ΡΠ»Π΅Π΄ΠΈΡΠ΅ ΡΠΈΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ. ΠΠΎΠΊΡΠ°Ρ ΡΠΎΠ°, ΠΌΠΎΠΆΠ½ΠΎ Π΅ ΡΠ°ΠΌΠΈΡΠ΅ Π΄Π° Π³ΠΈ Π΄ΠΎΠ΄Π°Π΄Π΅ΡΠ΅.
ΠΠ°Π΄Π΅ ΡΡΠ΅Π±Π° Π΄Π° ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ RxSwift?
- ΠΡΠ·ΡΠ²Π°ΡΠ°. ΠΠ°ΠΊΠΎ ΠΏΠΎ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, Π·Π±ΠΎΡΡΠ²Π°ΠΌΠ΅ Π·Π° ΠΈΠ½ΡΠ΅ΡΡΠ΅ΡΡ, ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ Π·Π° ΠΏΡΠΎΠΌΠ΅Π½Π° Π½Π° ΠΈΠ½ΡΠ΅ΡΡΠ΅ΡΡΠΎΡ, ΠΊΠ°ΠΊΠΎ Π΄Π° ΡΠ΅Π°Π³ΠΈΡΠ°ΠΌΠ΅ Π½Π° ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈΡΠ΅ ΠΈ Π½Π΅ ΠΌΡ ΠΊΠ°ΠΆΡΠ²Π°ΠΌΠ΅ Π΅ΠΊΡΠΏΠ»ΠΈΡΠΈΡΠ½ΠΎ Π½Π° ΠΈΠ½ΡΠ΅ΡΡΠ΅ΡΡΠΎΡ Π΄Π΅ΠΊΠ° Π΅ Π²ΡΠ΅ΠΌΠ΅ Π΄Π° ΡΠ΅ Π°ΠΆΡΡΠΈΡΠ°.
- ΠΠ΄Π½ΠΎΡ ΠΏΠΎΠΌΠ΅ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈΡΠ΅ ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈΡΠ΅. Π‘Π°ΠΌΠΎ ΠΏΡΠΈΠΌΠ΅Ρ. Π’ΡΠ΅Π±Π° Π΄Π° Π΄ΠΎΠ±ΠΈΠ΅ΠΌΠ΅ ΡΠΏΠΈΡΠΎΠΊ ΡΠΎ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ ΠΎΠ΄ ΠΌΡΠ΅ΠΆΠ°ΡΠ°. ΠΡΡΡΠ½ΠΎΡΡ, ΠΎΠ²Π° Π½Π΅ Π΅ ΡΠΎΠ»ΠΊΡ Π΅Π΄Π½ΠΎΡΡΠ°Π²Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΠ°. ΠΠ° Π΄Π° Π³ΠΎ Π½Π°ΠΏΡΠ°Π²ΠΈΡΠ΅ ΠΎΠ²Π°, ΡΡΠ΅Π±Π° Π΄Π° ΠΈΡΠΏΡΠ°ΡΠΈΡΠ΅ Π±Π°ΡΠ°ΡΠ΅, Π΄Π° Π³ΠΎ ΠΌΠ°ΠΏΠΈΡΠ°ΡΠ΅ ΠΎΠ΄Π³ΠΎΠ²ΠΎΡΠΎΡ Π²ΠΎ Π½ΠΈΠ·Π° ΠΎΠ΄ ΠΎΠ±ΡΠ΅ΠΊΡΠΈ, Π΄Π° Π³ΠΎ Π·Π°ΡΡΠ²Π°ΡΠ΅ Π²ΠΎ Π±Π°Π·Π°ΡΠ° Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ ΠΈ Π΄Π° Π³ΠΎ ΠΈΡΠΏΡΠ°ΡΠΈΡΠ΅ Π΄ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΡΡΠΎΡ. ΠΠ°ΠΊΠΎ ΠΏΠΎ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ ΡΠ΅ ΠΎΠ΄Π³ΠΎΠ²ΠΎΡΠ½ΠΈ Π·Π° ΠΈΠ·Π²ΡΡΡΠ²Π°ΡΠ΅ Π½Π° ΠΎΠ²ΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ (Π³ΠΈ ΡΠ°ΠΊΠ°ΠΌΠ΅ ΠΈ Π³ΠΈ ΡΠ»Π΅Π΄ΠΈΠΌΠ΅ ΠΏΡΠΈΠ½ΡΠΈΠΏΠΈΡΠ΅
Π‘ΠΠΠΠ ?). ΠΠΌΠ°ΡΡΠΈ ΠΏΡΠΈ ΡΠ°ΠΊΠ° Π°Π»Π°ΡΠΊΠ° ΠΊΠ°ΠΊΠΎ RxSwift, ΡΡΠ°Π½ΡΠ²Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π΄Π° ΡΠ΅ ΠΎΠΏΠΈΡΠ΅ Π¨Π’Π ΡΠ΅ Π½Π°ΠΏΡΠ°Π²ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΎΡ ΠΈ ΠΠΠΠ ΡΠ΅ Π³ΠΎ Π½Π°ΠΏΡΠ°Π²ΠΈ ΡΠΎΠ° ΡΠ΅ Π±ΠΈΠ΄Π΅ Π½Π° Π΄ΡΡΠ³ΠΈ ΠΌΠ΅ΡΡΠ°. ΠΠΎΡΠ°Π΄ΠΈ ΠΎΠ²Π° ΡΠ΅ ΠΏΠΎΡΡΠΈΠ³Π½ΡΠ²Π° ΠΏΠΎΠ΄ΠΎΠ±ΡΠ° ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΡΠ° Π½Π° ΠΊΠΎΠ΄ΠΎΡ ΠΈ ΡΠ΅ Π·Π³ΠΎΠ»Π΅ΠΌΡΠ²Π° ΡΠΈΡΠ»ΠΈΠ²ΠΎΡΡΠ°. Π Π΅Π»Π°ΡΠΈΠ²Π½ΠΎ ΠΊΠ°ΠΆΠ°Π½ΠΎ, ΠΊΠΎΠ΄ΠΎΡ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΏΠΎΠ΄Π΅Π»ΠΈ Π½Π° ΡΠΎΠ΄ΡΠΆΠΈΠ½Π° ΠΈ Π½Π° ΡΠ°ΠΌΠ°ΡΠ° ΠΊΠ½ΠΈΠ³Π°.
ΠΠΎΡΡΡΠΈΠ½ΠΈ Π²ΠΎ ΠΠΎΡΠ»ΠΈΠ½
ΠΠ°ΡΡΠ°Π²Π½ΠΈΠΊ ΠΏΠΎ ΠΈΠ·Π±ΠΎΡΠ΅Π½ ΠΏΡΠ΅Π΄ΠΌΠ΅Ρ ΠΠ»Π΅ΠΊΡΠ°Π½Π΄Π°Ρ Π’ΠΈΠ·ΠΈΠΊ: βΠ‘ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½ΠΈΠΎΡ ΡΠ°Π·Π²ΠΎΡ Π±Π°ΡΠ° ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΡΠ΅Ρ
Π½ΠΈΡΠΊΠΈ ΡΡΠ΅Π΄ΡΡΠ²Π°β
Π¨ΡΠΎ ΡΠ΅ ΡΠ΅ ΡΡΠΈ Π½Π° ΡΠ°ΠΊΡΠ»ΡΠ΅ΡΠΎΡ GeekBrains ΠΊΠ°ΠΊΠΎ Π΄Π΅Π» ΠΎΠ΄ Π±ΡΠ΅Π½Π΄ΠΈΡΠ°Π½ΠΈΠΎΡ ΠΊΠ²Π°ΡΡΠ°Π»?
Π’Π΅ΠΎΡΠΈΡΠ°, ΡΠΏΠΎΡΠ΅Π΄Π±ΠΈ ΡΠΎ Π΄ΡΡΠ³ΠΈ ΠΏΡΠΈΡΡΠ°ΠΏΠΈ, ΠΏΡΠ°ΠΊΡΠΈΡΠ½ΠΈ ΠΏΡΠΈΠΌΠ΅ΡΠΈ Π²ΠΎ ΡΠΈΡΡΠΈΠΎΡ ΠΠΎΡΠ»ΠΈΠ½ ΠΈ Π²ΠΎ ΠΌΠΎΠ΄Π΅Π»ΠΎΡ Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ° Π·Π° Android. Π¨ΡΠΎ ΡΠ΅ ΠΎΠ΄Π½Π΅ΡΡΠ²Π° Π΄ΠΎ ΠΏΡΠ°ΠΊΡΠ°ΡΠ°, Π½Π° ΡΡΡΠ΄Π΅Π½ΡΠΈΡΠ΅ ΡΠ΅ ΠΈΠΌ Π±ΠΈΠ΄Π΅ ΠΏΡΠΈΠΊΠ°ΠΆΠ°Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ° Π²ΠΎ ΠΊΠΎΡΠ° ΡΓ¨ Π΅ Π²ΡΠ·Π°Π½ΠΎ Π·Π° ΠΊΠΎΡΡΡΠΈΠ½ΠΈΡΠ΅. Π€Π°ΠΊΡ Π΅ Π΄Π΅ΠΊΠ° ΠΏΠΎΠ²Π΅ΡΠ΅ΡΠΎ Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ ΡΠ΅ ΡΠ΅Π»ΠΎΡΠ½ΠΎ Π°ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈ ΠΈ ΠΏΠ°ΡΠ°Π»Π΅Π»Π½ΠΎ ΠΏΡΠ΅ΡΠΌΠ΅ΡΡΠ²Π°ΡΠ΅. ΠΠΎ, ΠΊΠΎΡΡΡΠΈΠ½ΠΈΡΠ΅ Π½Π° ΠΠΎΡΠ»ΠΈΠ½ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π°Π°Ρ Π·Π±ΡΠ½ΡΠ²Π°ΡΠΊΠΈ, Ρ Π΅ΡΠ΅ΡΠΎΠ³Π΅Π½ ΠΈΠ»ΠΈ ΠΏΡΠ΅ΠΌΠ½ΠΎΠ³Ρ ΡΠ»ΠΎΠΆΠ΅Π½ ΠΊΠΎΠ΄ ΠΊΠΎΡ Π±Π°ΡΠ° ΠΏΠ΅ΡΡΠΎΡΠΌΠ°Π½ΡΠΈ Π΄Π° ΡΠ΅ ΡΠ²Π΅Π΄Π΅ Π½Π° Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½, Π»Π΅ΡΠ½ΠΎ ΡΠ°Π·Π±ΠΈΡΠ»ΠΈΠ² ΡΡΠΈΠ», Π΄ΠΎΠ±ΠΈΠ²Π°ΡΡΠΈ ΠΏΡΠΈΠ΄ΠΎΠ±ΠΈΠ²ΠΊΠΈ ΠΎΠ΄ ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΎΡΠΎ ΠΈΠ·Π²ΡΡΡΠ²Π°ΡΠ΅ ΠΈ ΠΈΠ·Π²Π΅Π΄Π±Π°.
ΠΠ΅ Π½Π°ΡΡΠΈΠΌΠ΅ Π΄Π° ΠΏΠΈΡΡΠ²Π°ΠΌΠ΅ ΠΈΠ΄ΠΈΠΎΠΌΠ°ΡΡΠΊΠΈ ΠΊΠΎΠ΄ Π²ΠΎ ΠΊΠΎΡΡΡΠΈΠ½ΠΈ ΡΡΠΎ ΡΠ΅ΡΠ°Π²Π° ΠΏΡΠ°ΠΊΡΠΈΡΠ½ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ ΠΈ Π΅ ΡΠ°Π·Π±ΠΈΡΠ»ΠΈΠ² Π½Π° ΠΏΡΠ² ΠΏΠΎΠ³Π»Π΅Π΄ Π΄ΡΡΠΈ ΠΈ Π±Π΅Π· Π΄Π»Π°Π±ΠΎΠΊΠΎ Π·Π½Π°Π΅ΡΠ΅ Π·Π° ΡΠΎΠ° ΠΊΠ°ΠΊΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½ΠΈΡΠ°Π°Ρ ΠΊΠΎΡΡΡΠΈΠ½ΠΈΡΠ΅ (ΡΡΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΊΠ°ΠΆΠ΅ Π·Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΊΠ°ΠΊΠΎ RxJava). ΠΡΡΠΎ ΡΠ°ΠΊΠ°, ΡΠ΅ ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌΠ΅ ΠΊΠ°ΠΊΠΎ Π΄Π° ΠΊΠΎΡΠΈΡΡΠΈΠΌΠ΅ ΠΏΠΎΡΠ»ΠΎΠΆΠ΅Π½ΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈ, ΠΊΠ°ΠΊΠΎ ΡΡΠΎ Π΅ ΠΌΠΎΠ΄Π΅Π»ΠΎΡ Π½Π° Π°ΠΊΡΠ΅ΡΠΎΡ, Π·Π° Π΄Π° ΡΠ΅ΡΠΈΠΌΠ΅ ΠΏΠΎΡΠ»ΠΎΠΆΠ΅Π½ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ, ΠΊΠ°ΠΊΠΎ ΡΡΠΎ Π΅ ΡΠΊΠ»Π°Π΄ΠΈΡΡΠ΅ΡΠΎ Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ Π²ΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΎΡ MVI.
ΠΠ°ΡΠ΅ΠΌ, ΡΡΡΠ΅ Π΄ΠΎΠ±ΡΠΈ Π²Π΅ΡΡΠΈ. ΠΠΎΠ΄Π΅ΠΊΠ° ΡΠ΅ ΡΠ½ΠΈΠΌΠ°ΡΠ΅ ΠΈΠ·Π±ΠΎΡΠ½ΠΈΠΎΡ ΠΏΡΠ΅Π΄ΠΌΠ΅Ρ, Π±Π΅ΡΠ΅ ΠΎΠ±ΡΠ°Π²Π΅Π½ΠΎ Π°ΠΆΡΡΠΈΡΠ°ΡΠ΅ Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° Kotlin Coroutines, Π²ΠΎ ΠΊΠΎΠ΅ ΡΠ΅ ΠΏΠΎΡΠ°Π²ΠΈ ΡΠ°ΡΠΎΡ Flow
- Π°Π½Π°Π»ΠΎΠ³ Π½Π° ΡΠΈΠΏΠΎΠ²ΠΈ Flowable
ΠΈ Observable
ΠΎΠ΄ RxJava. ΠΠΆΡΡΠΈΡΠ°ΡΠ΅ΡΠΎ Π²ΠΎ ΡΡΡΡΠΈΠ½Π° Π³ΠΈ ΠΏΡΠ°Π²ΠΈ ΠΊΠΎΠΌΠΏΠ»Π΅ΡΠ½ΠΈΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π½Π° ΠΊΠΎΡΡΡΠΈΠ½ΠΈΡΠ΅ ΠΎΠ΄ Π³Π»Π΅Π΄Π½Π° ΡΠΎΡΠΊΠ° Π½Π° ΡΠ°Π·Π²ΠΈΠ²Π°ΡΠΎΡ Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ°ΡΠ°. Π’ΠΎΡΠ½ΠΎ, ΡΓ¨ ΡΡΡΠ΅ ΠΈΠΌΠ° ΠΏΡΠΎΡΡΠΎΡ Π·Π° ΠΏΠΎΠ΄ΠΎΠ±ΡΡΠ²Π°ΡΠ΅: ΠΈ ΠΏΠΎΠΊΡΠ°Ρ ΡΠ°ΠΊΡΠΎΡ ΡΡΠΎ Π±Π»Π°Π³ΠΎΠ΄Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ°ΡΠ° Π½Π° ΠΊΠΎΡΡΡΠΈΠ½ΠΈΡΠ΅ Π²ΠΎ ΠΊΠΎΡΠ»ΠΈΠ½/ΠΌΠ°ΡΡΠΈΠ½, Π²Π΅ΡΠ΅ Π΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π΄Π° ΡΠ΅ ΠΏΠΈΡΡΠ²Π°Π°Ρ Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ ΡΠΎ ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΈ Π²ΠΎ ΠΠΎΡΠ»ΠΈΠ½ ΠΈ Π΄Π° Π½Π΅ ΡΡΡΠ°Π΄Π°Π°Ρ ΠΎΠ΄ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΠΊ Π½Π° RxJava ΠΈΠ»ΠΈ Π°Π½Π°Π»ΠΎΠ·ΠΈ Π²ΠΎ ΡΠΈΡΡΠΈΠΎΡ ΠΠΎΡΠ»ΠΈΠ½. ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ°ΡΠ° Π·Π° ΠΊΠΎΡΡΡΠΈΠ½ΠΈΡΠ΅ Π²ΠΎ ΠΊΠΎΡΠ»ΠΈΠ½/ΠΌΠ°ΡΡΠΈΠ½ ΡΓ¨ ΡΡΡΠ΅ Π½Π΅ Π΅ Π·Π°Π²ΡΡΠ΅Π½Π°. ΠΠ° ΠΏΡΠΈΠΌΠ΅Ρ, Π½Π΅ ΠΏΠΎΡΡΠΎΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΏΡ Π½Π° Π°ΠΊΡΠ΅ΡΠΈ. ΠΠ΅Π½Π΅ΡΠ°Π»Π½ΠΎ, ΡΠΈΠΌΠΎΡ Π½Π° ΠΠΎΡΠ»ΠΈΠ½ ΠΈΠΌΠ° ΠΏΠ»Π°Π½ΠΎΠ²ΠΈ Π΄Π° ΠΏΠΎΠ΄Π΄ΡΠΆΡΠ²Π° ΠΏΠΎΡΠ»ΠΎΠΆΠ΅Π½ΠΈ Π°ΠΊΡΠ΅ΡΠΈ Π½Π° ΡΠΈΡΠ΅ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΈ.
Kotlin Coroutines - ΠΊΠ°ΠΊΠΎ ΡΠΈΠ΅ ΠΌΡ ΠΏΠΎΠΌΠ°Π³Π°Π°Ρ Π½Π° ΡΠ°Π·Π²ΠΈΠ²Π°ΡΠΎΡ Π½Π° Kotlin?
ΠΠΎΡΡΡΠΈΠ½ΠΈΡΠ΅ Π΄Π°Π²Π°Π°Ρ ΠΎΠ΄Π»ΠΈΡΠ½Π° ΠΌΠΎΠΆΠ½ΠΎΡΡ Π΄Π° ΡΠ΅ Π½Π°ΠΏΠΈΡΠ΅ ΠΊΠΎΠ΄ ΠΊΠΎΡ Π΅ ΡΠΈΡΠ»ΠΈΠ², ΠΎΠ΄ΡΠΆΡΠ²Π°Π½ ΠΈ Π±Π΅Π·Π±Π΅Π΄Π΅Π½, Π°ΡΠΈΠ½Ρ ΡΠΎΠ½ ΠΈ ΠΈΡΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½ΠΎ. ΠΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΡΠΎ ΡΠ°ΠΊΠ° Π΄Π° ΠΊΡΠ΅ΠΈΡΠ°ΡΠ΅ Π°Π΄Π°ΠΏΡΠ΅ΡΠΈ Π·Π° Π΄ΡΡΠ³ΠΈ Π°ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈ ΡΠ°ΠΌΠΊΠΈ ΠΈ ΠΏΡΠΈΡΡΠ°ΠΏΠΈ ΠΊΠΎΠΈ Π²Π΅ΡΠ΅ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠ°Ρ Π²ΠΎ Π±Π°Π·Π°ΡΠ° Π½Π° ΠΊΠΎΠ΄ΠΎΠ²ΠΈ.
ΠΠ°ΠΊΠΎ ΡΠ΅ ΡΠ°Π·Π»ΠΈΠΊΡΠ²Π°Π°Ρ ΠΠΎΡΡΡΠΈΠ½ΠΈΡΠ΅ ΠΎΠ΄ Π½ΠΈΡΠΊΠΈΡΠ΅?
Π’ΠΈΠΌΠΎΡ Π½Π° ΠΠΎΡΠ»ΠΈΠ½ Π³ΠΈ Π½Π°ΡΠ΅ΠΊΡΠ²Π° ΠΊΠΎΡΡΡΠΈΠ½ΠΈΡΠ΅ Π»Π΅ΡΠ½ΠΈ Π½ΠΈΡΠΊΠΈ. ΠΠ»ΡΡ, ΠΊΠΎΡΡΡΠΈΠ½Π°ΡΠ° ΠΌΠΎΠΆΠ΅ Π΄Π° Π²ΡΠ°ΡΠΈ ΠΎΠ΄ΡΠ΅Π΄Π΅Π½Π° Π²ΡΠ΅Π΄Π½ΠΎΡΡ, Π±ΠΈΠ΄Π΅ΡΡΠΈ, Π²ΠΎ ΠΎΡΠ½ΠΎΠ²Π°ΡΠ°, ΠΊΠΎΡΡΡΠΈΠ½Π°ΡΠ° Π΅ ΡΡΡΠΏΠ΅Π½Π΄ΠΈΡΠ°Π½Π° ΠΏΡΠ΅ΡΠΌΠ΅ΡΠΊΠ°. ΠΠ΅ Π·Π°Π²ΠΈΡΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ ΠΎΠ΄ ΡΠΈΡΡΠ΅ΠΌΡΠΊΠΈΡΠ΅ Π½ΠΈΡΠΊΠΈ; Π½ΠΈΡΠΊΠΈΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π°Π°Ρ ΡΠ°ΠΌΠΎ ΠΊΠΎΡΡΡΠΈΠ½ΠΈ.
ΠΠΎΠΈ ΠΏΡΠ°ΠΊΡΠΈΡΠ½ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ ΠΌΠΎΠΆΠ°Ρ Π΄Π° ΡΠ΅ ΡΠ΅ΡΠ°Ρ ΡΠΎ ΠΏΠΎΠΌΠΎΡ Π½Π° ΠΠΎΡΡΡΠΈΠ½, ΠΊΠΎΠΈ Π½Π΅ ΠΌΠΎΠΆΠ°Ρ ΠΈΠ»ΠΈ ΡΠ΅ ΡΠ΅ΡΠΊΠΎ Π΄Π° ΡΠ΅ ΡΠ΅ΡΠ°Ρ ΡΠΎ ΠΊΠΎΡΠΈΡΡΠ΅ΡΠ΅ Π½Π° βΡΠΈΡΡΠΈΠΎΡβ ΠΠΎΡΠ»ΠΈΠ½?
Π‘ΠΈΡΠ΅ Π°ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈ, ΠΏΠ°ΡΠ°Π»Π΅Π»Π½ΠΈ, βΠΊΠΎΠ½ΠΊΡΡΠ΅Π½ΡΠ½ΠΈβ Π·Π°Π΄Π°ΡΠΈ ΡΠ΅ Π΄ΠΎΠ±ΡΠΎ ΡΠ΅ΡΠ΅Π½ΠΈ ΡΠΎ ΠΏΠΎΠΌΠΎΡ Π½Π° ΠΊΠΎΡΡΡΠΈΠ½ΠΈ - Π±ΠΈΠ»ΠΎ Π΄Π° ΡΠ΅ ΡΠ°Π±ΠΎΡΠΈ Π·Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° ΠΊΠ»ΠΈΠΊΠ½ΡΠ²Π°ΡΠ° ΠΎΠ΄ ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΈ, ΠΎΠ΄Π΅ΡΠ΅ ΠΎΠ½Π»Π°ΡΠ½ ΠΈΠ»ΠΈ ΠΏΡΠ΅ΡΠΏΠ»Π°ΡΠ° Π½Π° Π°ΠΆΡΡΠΈΡΠ°ΡΠ° ΠΎΠ΄ Π±Π°Π·Π°ΡΠ° Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ.
ΠΠΎ ΡΠΈΡΡΠΈΠΎΡ ΠΠΎΡΠ»ΠΈΠ½, ΠΎΠ²ΠΈΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ ΡΠ΅ ΡΠ΅ΡΠ°Π²Π°Π°Ρ Π½Π° ΠΈΡΡ Π½Π°ΡΠΈΠ½ ΠΊΠ°ΠΊΠΎ Π²ΠΎ Java - ΡΠΎ ΠΏΠΎΠΌΠΎΡ Π½Π° ΠΈΠ»ΡΠ°Π΄Π½ΠΈΡΠΈ ΡΠ°ΠΌΠΊΠΈ, ΠΎΠ΄ ΠΊΠΎΠΈ ΡΠ΅ΠΊΠΎΡΠ° ΠΈΠΌΠ° ΡΠ²ΠΎΠΈ Π΄ΠΎΠ±ΡΠΈΡΠ΅ ΠΈ Π»ΠΎΡΠΈΡΠ΅ ΡΡΡΠ°Π½ΠΈ, Π½ΠΎ Π½ΠΈΡΡ Π΅Π΄Π½Π° Π½Π΅ΠΌΠ° ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π½Π° Π½ΠΈΠ²ΠΎ Π½Π° ΡΠ°Π·ΠΈΠΊ.
ΠΠ°ΠΊΠΎ Π·Π°ΠΊΠ»ΡΡΠΎΠΊ, Π²ΡΠ΅Π΄ΠΈ Π΄Π° ΡΠ΅ ΠΊΠ°ΠΆΠ΅ Π΄Π΅ΠΊΠ° ΠΈ Π΄Π²Π°ΡΠ° ΠΈΠ·Π±ΠΎΡΠ½ΠΈ ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠΈ (ΠΈ Π³Π»Π°Π²Π½ΠΈΡΠ΅ ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠΈ ΠΈΡΡΠΎ ΡΠ°ΠΊΠ°) ΡΠ΅ Π°ΠΆΡΡΠΈΡΠ°Π°Ρ Π²ΠΎ ΡΠΎΠ³Π»Π°ΡΠ½ΠΎΡΡ ΡΠΎ ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ Π²ΠΎ Π½Π°Π΄Π²ΠΎΡΠ΅ΡΠ½ΠΈΡΠ΅ ΡΡΠ»ΠΎΠ²ΠΈ. ΠΠΎΠΊΠΎΠ»ΠΊΡ ΡΠ΅ ΠΏΠΎΡΠ°Π²Π°Ρ Π²Π°ΠΆΠ½ΠΈ Π°ΠΆΡΡΠΈΡΠ°ΡΠ° Π½Π° ΡΠ°Π·ΠΈΡΠΈ ΠΈΠ»ΠΈ ΡΠ°ΠΌΠΊΠΈ, Π½Π°ΡΡΠ°Π²Π½ΠΈΡΠΈΡΠ΅ Π³ΠΎ Π·Π΅ΠΌΠ°Π°Ρ ΡΠΎΠ° ΠΏΡΠ΅Π΄Π²ΠΈΠ΄ ΠΈ ΡΠ° ΠΌΠ΅Π½ΡΠ²Π°Π°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ°ΡΠ°. Π‘Π΅ΡΠΎ ΠΎΠ²Π° Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° Π΄Π° Π³ΠΎ Π΄ΡΠΆΠΈΡΠ΅ ΠΏΡΡΡΠΎΡ Π½Π° ΠΏΡΠ»ΡΠΎΡ Π½Π° ΡΠ°Π·Π²ΠΎΡΠ½ΠΈΠΎΡ ΠΏΡΠΎΡΠ΅Ρ, ΡΠ°ΠΊΠ° Π΄Π° ΡΠ΅ ΠΊΠ°ΠΆΠ΅.
ΠΠ·Π²ΠΎΡ: www.habr.com