RxSwift ΠΈ ΡΡŠΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈ Π² Kotlin - ΠΈΠ·Π±ΠΈΡ€Π°Π΅ΠΌ курс ΠΏΠΎ ΠΌΠΎΠ±ΠΈΠ»Π½ΠΎ Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅ ΠΎΡ‚ AGIMA ΠΈ GeekBrains

RxSwift ΠΈ ΡΡŠΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈ Π² Kotlin - ΠΈΠ·Π±ΠΈΡ€Π°Π΅ΠΌ курс ΠΏΠΎ ΠΌΠΎΠ±ΠΈΠ»Π½ΠΎ Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅ ΠΎΡ‚ AGIMA ΠΈ GeekBrains

Π—Π½Π°Π½ΠΈΠ΅Ρ‚ΠΎ Π΅ Π΄ΠΎΠ±Ρ€ΠΎ, просто страхотно. Но Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠ° ΠΈ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ°, Π·Π° Π΄Π° ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΡ‚Π΅ Π΄Π°Π½Π½ΠΈ, ΠΊΠ°Ρ‚ΠΎ Π³ΠΈ ΠΏΡ€Π΅Ρ…Π²ΡŠΡ€Π»ΠΈΡ‚Π΅ ΠΎΡ‚ ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅ β€žΠΏΠ°ΡΠΈΠ²Π½ΠΎ ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅β€œ Π² ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅ β€žΠ°ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅β€œ. ΠšΠΎΠ»ΠΊΠΎΡ‚ΠΎ ΠΈ Π΄Π° Π΅ Π΄ΠΎΠ±Ρ€Π° Ρ‚Π΅ΠΎΡ€Π΅Ρ‚ΠΈΡ‡Π½Π°Ρ‚Π° ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ°, всС ΠΏΠ°ΠΊ сС изисква Ρ€Π°Π±ΠΎΡ‚Π° β€žΠ½Π° Ρ‚Π΅Ρ€Π΅Π½β€œ. Π“ΠΎΡ€Π½ΠΎΡ‚ΠΎ сС отнася Π·Π° ΠΏΠΎΡ‡Ρ‚ΠΈ всяка област Π½Π° ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅, Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ, Ρ€Π°Π·Π±ΠΈΡ€Π° сС, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° софтуСр.

Π’Π°Π·ΠΈ Π³ΠΎΠ΄ΠΈΠ½Π° GeekBrains, ΠΊΠ°Ρ‚ΠΎ част ΠΎΡ‚ Ρ„Π°ΠΊΡƒΠ»Ρ‚Π΅Ρ‚Π° Π·Π° ΠΌΠΎΠ±ΠΈΠ»Π½ΠΎ Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅ Π½Π° ΠΎΠ½Π»Π°ΠΉΠ½ унивСрситСта GeekUniversity, Π·Π°ΠΏΠΎΡ‡Π½Π° Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈ с ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Π°Ρ‚Π° агСнция AGIMA, Ρ‡ΠΈΠΉΡ‚ΠΎ Π΅ΠΊΠΈΠΏ са профСсионални Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈ (Ρ‚Π΅ ΡΡŠΠ·Π΄Π°Π²Π°Ρ‚ слоТни ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈ с високо Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π²Π°Π½Π΅, ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ‚ΠΈΠ²Π½ΠΈ ΠΏΠΎΡ€Ρ‚Π°Π»ΠΈ ΠΈ ΠΌΠΎΠ±ΠΈΠ»Π½ΠΈ прилоТСния, Ρ‚ΠΎΠ²Π° Π΅ всичко). AGIMA ΠΈ GeekBrains ΡΡŠΠ·Π΄Π°Π΄ΠΎΡ…Π° Ρ„Π°ΠΊΡƒΠ»Ρ‚Π΅Ρ‚ Π·Π° дълбоко потапянС Π² практичСскитС Π²ΡŠΠΏΡ€ΠΎΡΠΈ Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°Ρ‚Π° Π½Π° ΠΌΠΎΠ±ΠΈΠ»Π½ΠΈ прилоТСния.

Онзи Π΄Π΅Π½ разговаряхмС с Π˜Π³ΠΎΡ€ Π’Π΅Π΄Π΅Π½Π΅Π΅Π², спСциалист ΠΏΠΎ iOS, ΠΈ ΠΠ»Π΅ΠΊΡΠ°Π½Π΄ΡŠΡ€ Π’ΠΈΠ·ΠΈΠΊ, спСциалист ΠΏΠΎ Android. Π‘Π»Π°Π³ΠΎΠ΄Π°Ρ€Π΅Π½ΠΈΠ΅ Π½Π° тях Ρ„Π°ΠΊΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΈΠ²ΡŠΡ‚ ΠΏΠΎ ΠΌΠΎΠ±ΠΈΠ»Π½ΠΎ Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅ сС ΠΎΠ±ΠΎΠ³Π°Ρ‚ΠΈ с практичСски спСциалСн курс Π·Π° Ρ€Π°ΠΌΠΊΠ°Ρ‚Π° RxSwift ΠΈ ΡΡŠΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈ Π² Kotlin. Π’ Ρ‚Π°Π·ΠΈ статия Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈΡ‚Π΅ говорят Π·Π° ваТността Π½Π° всяка област Π·Π° програмиститС.

Π Π΅Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°Π½Π΅ Π² iOS с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° RxSwift ΠΊΠ°Ρ‚ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€

RxSwift ΠΈ ΡΡŠΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈ Π² Kotlin - ΠΈΠ·Π±ΠΈΡ€Π°Π΅ΠΌ курс ΠΏΠΎ ΠΌΠΎΠ±ΠΈΠ»Π½ΠΎ Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅ ΠΎΡ‚ AGIMA ΠΈ GeekBrains
Π˜Π·Π±ΠΈΡ€Π°Π΅ΠΌ ΡƒΡ‡ΠΈΡ‚Π΅Π» Π˜Π³ΠΎΡ€ Π’Π΅Π΄Π΅Π½Π΅Π΅Π²: β€žΠ‘ RxSwift Π²Π°ΡˆΠ΅Ρ‚ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ‰Π΅ Π»Π΅Ρ‚ΠΈβ€œ

Каква информация ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π°Ρ‚ ΡƒΡ‡Π΅Π½ΠΈΡ†ΠΈΡ‚Π΅ ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π½Π° избираСмия курс?

Π“ΠΎΠ²ΠΎΡ€ΠΈΠΌ Π½Π΅ само Π·Π° Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈΡ‚Π΅ Π½Π° Ρ€Π°ΠΌΠΊΠ°Ρ‚Π°, Π½ΠΎ ΠΈ ΠΏΠΎΠΊΠ°Π·Π²Π°ΠΌΠ΅ ΠΊΠ°ΠΊ Π΄Π° я ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ Π² класичСската комбинация MVVM + RxSwift. ΠžΠ±ΡΡŠΠΆΠ΄Π°Ρ‚ сС ΠΈ няколко практичСски ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°. Π—Π° Π΄Π° консолидирамС ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΡ‚Π΅ Π΄Π°Π½Π½ΠΈ, Π½ΠΈΠ΅ пишСм ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΠ΅Ρ‚ΠΎ Π΅ възмоТно Π½Π°ΠΉ-Π±Π»ΠΈΠ·ΠΊΠΎ Π΄ΠΎ условията Π½Π° Ρ€Π°Π±ΠΎΡ‚Π° Π½Π° място. Π’ΠΎΠ²Π° Ρ‰Π΅ бъдС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π·Π° Ρ‚ΡŠΡ€ΡΠ΅Π½Π΅ Π½Π° ΠΌΡƒΠ·ΠΈΠΊΠ°, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‰ΠΎ API Π·Π° Ρ‚ΡŠΡ€ΡΠ΅Π½Π΅ Π² iTunes. Π’Π°ΠΌ Ρ‰Π΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠΈΠΌ всички Π½Π°ΠΉ-Π΄ΠΎΠ±Ρ€ΠΈ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ, плюс Ρ‰Π΅ Ρ€Π°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ ΠΏΠΎ-проста опция Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° RxSwift Π² MVC ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΠ°Ρ‚Π°.

RxSwift - Π·Π°Ρ‰ΠΎ iOS ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡΡ‚ΡŠΡ‚ сС Π½ΡƒΠΆΠ΄Π°Π΅ ΠΎΡ‚ Ρ‚Π°Π·ΠΈ Ρ€Π°ΠΌΠΊΠ°, ΠΊΠ°ΠΊ улСснява ΠΆΠΈΠ²ΠΎΡ‚Π° Π½Π° програмиста?

RxSwift Ρ€Π°Ρ†ΠΈΠΎΠ½Π°Π»ΠΈΠ·ΠΈΡ€Π° Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π° с ΠΏΠΎΡ‚ΠΎΡ†ΠΈ ΠΎΡ‚ ΡΡŠΠ±ΠΈΡ‚ΠΈΡ ΠΈ Π²Ρ€ΡŠΠ·ΠΊΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΎΠ±Π΅ΠΊΡ‚ΠΈ. Най-простият ΠΈ ΠΎΡ‡Π΅Π²ΠΈΠ΄Π΅Π½ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ са ΠΎΠ±Π²ΡŠΡ€Π·Π²Π°Π½ΠΈΡΡ‚Π°: Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€Π°Ρ‚Π΅ интСрфСйса, ΠΊΠ°Ρ‚ΠΎ просто Π·Π°Π΄Π°Π΄Π΅Ρ‚Π΅ Π½ΠΎΠ²ΠΈ стойности Π² ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π° Π² viewModel. Π’Π°ΠΊΠ° ΠΈΠ½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡΡŠΡ‚ става управляван ΠΎΡ‚ Π΄Π°Π½Π½ΠΈ. ОсвСн Ρ‚ΠΎΠ²Π° RxSwift Π²ΠΈ позволява Π΄Π° ΠΎΠΏΠΈΡˆΠ΅Ρ‚Π΅ систСмата Π² Π΄Π΅ΠΊΠ»Π°Ρ€Π°Ρ‚ΠΈΠ²Π΅Π½ стил, ΠΊΠΎΠ΅Ρ‚ΠΎ Π²ΠΈ позволява Π΄Π° ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΈΡ€Π°Ρ‚Π΅ ΠΊΠΎΠ΄Π° си ΠΈ Π΄Π° ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚Π΅ чСтливостта. Всичко Ρ‚ΠΎΠ²Π° ΠΏΠΎΠΌΠ°Π³Π° Π·Π° ΠΏΠΎ-Π΅Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡ‚ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π²Π°Π½Π΅ Π½Π° прилоТСния.

Π—Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° ΠΏΠΎΠ·Π½Π°Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Ρ€Π°ΠΌΠΊΠ°Ρ‚Π° ΡΡŠΡ‰ΠΎ Π΅ Π΄ΠΎΠ±ΡŠΡ€ плюс Π² автобиографията, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π½Π° Ρ€Π΅Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΡ‚ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°Π½Π΅ ΠΈ особСно ΠΎΠΏΠΈΡ‚ΡŠΡ‚ с RxSwift сС оцСняват Π½Π° ΠΏΠ°Π·Π°Ρ€Π°.

Π—Π°Ρ‰ΠΎ Π΄Π° ΠΈΠ·Π±Π΅Ρ€Π΅Ρ‚Π΅ Ρ‚ΠΎΡ‡Π½ΠΎ Ρ‚Π°Π·ΠΈ Ρ€Π°ΠΌΠΊΠ° ΠΏΡ€Π΅Π΄ Π΄Ρ€ΡƒΠ³ΠΈ?

RxSwift ΠΈΠΌΠ° Π½Π°ΠΉ-голямата общност. ВоСст ΠΈΠΌΠ° ΠΏΠΎ-голям шанс ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡŠΡ‚, ΠΏΡ€Π΅Π΄ ΠΊΠΎΠΉΡ‚ΠΎ Π΅ ΠΈΠ·ΠΏΡ€Π°Π²Π΅Π½ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΡŠΡ‚, Π²Π΅Ρ‡Π΅ Π΄Π° Π΅ Ρ€Π΅ΡˆΠ΅Π½ ΠΎΡ‚ някого. Π‘ΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ° голям Π±Ρ€ΠΎΠΉ ΠΏΠΎΠ΄Π²ΡŠΡ€Π·ΠΈΠΈ извън кутията. ОсвСн Ρ‚ΠΎΠ²Π° RxSwift Π΅ част ΠΎΡ‚ ReactiveX. Π’ΠΎΠ²Π° ΠΎΠ·Π½Π°Ρ‡Π°Π²Π°, Ρ‡Π΅ ΠΈΠΌΠ° Π°Π½Π°Π»ΠΎΠ³ Π·Π° Android Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ (RxJava, RxKotlin) ΠΈ ΠΊΠΎΠ»Π΅Π³ΠΈΡ‚Π΅ Π² Ρ€Π°Π±ΠΎΡ‚ΠΈΠ»Π½ΠΈΡ†Π°Ρ‚Π° ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° говорят Π½Π° Π΅Π΄ΠΈΠ½ Π΅Π·ΠΈΠΊ ΠΏΠΎΠΌΠ΅ΠΆΠ΄Ρƒ си, Π²ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ„Π°ΠΊΡ‚Π°, Ρ‡Π΅ някои работят с iOS, Π΄Ρ€ΡƒΠ³ΠΈ с Android.

Π Π°ΠΌΠΊΠ°Ρ‚Π° сС Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€Π° Π½Π΅ΠΏΡ€Π΅ΠΊΡŠΡΠ½Π°Ρ‚ΠΎ, Π΄Ρ€Π΅Π±Π½ΠΈΡ‚Π΅ Π³Ρ€Π΅ΡˆΠΊΠΈ сС ΠΊΠΎΡ€ΠΈΠ³ΠΈΡ€Π°Ρ‚, добавя сС ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΎΡ‚ Π½ΠΎΠ²ΠΈΡ‚Π΅ вСрсии Π½Π° Swift ΠΈ сС добавят Π½ΠΎΠ²ΠΈ ΠΎΠ±Π²ΡŠΡ€Π·Π²Π°Π½ΠΈΡ. Въй ΠΊΠ°Ρ‚ΠΎ RxSwift Π΅ с ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ ΠΊΠΎΠ΄, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° слСдватС всички ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ. ОсвСн Ρ‚ΠΎΠ²Π° Π΅ възмоТно Π΄Π° Π³ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚Π΅ сами.

КъдС трябва Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° RxSwift?

  1. ΠŸΠΎΠ΄Π²ΡŠΡ€Π·ΠΈΠΈ. ΠšΠ°Ρ‚ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ Π³ΠΎΠ²ΠΎΡ€ΠΈΠΌ Π·Π° потрСбитСлския интСрфСйс, Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚Ρ‚Π° Π΄Π° ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΡ‚Π΅ потрСбитСлския интСрфСйс, сякаш Ρ€Π΅Π°Π³ΠΈΡ€Π°ΠΉΠΊΠΈ Π½Π° ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΡ‚Π΅ Π² Π΄Π°Π½Π½ΠΈΡ‚Π΅, Π° Π½Π΅ ΠΈΠ·Ρ€ΠΈΡ‡Π½ΠΎ Π΄Π° ΠΊΠ°Π·Π²Π°Ρ‚Π΅ Π½Π° интСрфСйса, Ρ‡Π΅ Π΅ Π²Ρ€Π΅ΠΌΠ΅ Π·Π° Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€Π°Π½Π΅.
  2. Π’Ρ€ΡŠΠ·ΠΊΠ° ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈ ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ. Π‘Π°ΠΌΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€. Врябва Π΄Π° ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ списък с Π΄Π°Π½Π½ΠΈ ΠΎΡ‚ ΠΌΡ€Π΅ΠΆΠ°Ρ‚Π°. Π’ΡΡŠΡ‰Π½ΠΎΡΡ‚ Ρ‚ΠΎΠ²Π° Π½Π΅ Π΅ Ρ‚ΠΎΠ»ΠΊΠΎΠ²Π° проста опСрация. Π—Π° Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ Ρ‚ΠΎΠ²Π°, трябва Π΄Π° ΠΈΠ·ΠΏΡ€Π°Ρ‚ΠΈΡ‚Π΅ заявка, Π΄Π° ΠΊΠ°Ρ€Ρ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΡ€Π°Ρ‚Π΅ ΠΎΡ‚Π³ΠΎΠ²ΠΎΡ€Π° Π² масив ΠΎΡ‚ ΠΎΠ±Π΅ΠΊΡ‚ΠΈ, Π΄Π° Π³ΠΎ Π·Π°ΠΏΠΈΡˆΠ΅Ρ‚Π΅ Π² Π±Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ ΠΈ Π΄Π° Π³ΠΎ ΠΈΠ·ΠΏΡ€Π°Ρ‚ΠΈΡ‚Π΅ Π΄ΠΎ потрСбитСлския интСрфСйс. ΠšΠ°Ρ‚ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈ са ΠΎΡ‚Π³ΠΎΠ²ΠΎΡ€Π½ΠΈ Π·Π° ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Ρ‚Π΅Π·ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ (Π½ΠΈΠ΅ ΠΎΠ±ΠΈΡ‡Π°ΠΌΠ΅ ΠΈ слСдвамС ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΈΡ‚Π΅ SOLID?). Имайки инструмСнт ΠΊΠ°Ρ‚ΠΎ RxSwift ΠΏΠΎΠ΄ Ρ€ΡŠΠΊΠ°, става възмоТно Π΄Π° сС опишС ΠšΠΠšΠ’Πž Ρ‰Π΅ ΠΏΡ€Π°Π²ΠΈ систСмата ΠΈ КАК Ρ‰Π΅ Π³ΠΎ ΠΏΡ€Π°Π²ΠΈ Ρ‚ΠΎΠ²Π° Ρ‰Π΅ бъдС Π½Π° Π΄Ρ€ΡƒΠ³ΠΈ мСста. Π‘Π»Π°Π³ΠΎΠ΄Π°Ρ€Π΅Π½ΠΈΠ΅ Π½Π° Ρ‚ΠΎΠ²Π° сС постига ΠΏΠΎ-Π΄ΠΎΠ±Ρ€Π° организация Π½Π° ΠΊΠΎΠ΄Π° ΠΈ сС повишава чСтливостта. ΠžΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»Π½ΠΎ ΠΊΠ°Π·Π°Π½ΠΎ, ΠΊΠΎΠ΄ΡŠΡ‚ ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ Π½Π° ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Π½ΠΈΠ΅ ΠΈ самата ΠΊΠ½ΠΈΠ³Π°.

ΠšΠΎΡ€ΡƒΡ‚ΠΈΠ½ΠΈ Π² Kotlin

RxSwift ΠΈ ΡΡŠΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈ Π² Kotlin - ΠΈΠ·Π±ΠΈΡ€Π°Π΅ΠΌ курс ΠΏΠΎ ΠΌΠΎΠ±ΠΈΠ»Π½ΠΎ Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅ ΠΎΡ‚ AGIMA ΠΈ GeekBrains
УчитСлят ΠΏΠΎ ΠΈΠ·Π±ΠΈΡ€Π°Π΅ΠΌ курс ΠΠ»Π΅ΠΊΡΠ°Π½Π΄ΡŠΡ€ Π’ΠΈΠ·ΠΈΠΊ: β€žΠ‘ΡŠΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΡ‚ΠΎ Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅ изисква ΡΡŠΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΈ тСхничСски ΡΡ€Π΅Π΄ΡΡ‚Π²Π°β€œ

Какво Ρ‰Π΅ сС ΠΏΡ€Π΅ΠΏΠΎΠ΄Π°Π²Π° във Ρ„Π°ΠΊΡƒΠ»Ρ‚Π΅Ρ‚Π° Π½Π° GeekBrains ΠΊΠ°Ρ‚ΠΎ част ΠΎΡ‚ Π±Ρ€Π°Π½Π΄ΠΈΡ€Π°Π½ΠΎΡ‚ΠΎ тримСсСчиС?

ВСория, сравнСния с Π΄Ρ€ΡƒΠ³ΠΈ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈ, практичСски ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΈ Π² чист Kotlin ΠΈ Π² ΠΌΠΎΠ΄Π΅Π»Π° Π½Π° Android ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. Π©ΠΎ сС отнася Π΄ΠΎ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ°Ρ‚Π°, Π½Π° ΡƒΡ‡Π΅Π½ΠΈΡ†ΠΈΡ‚Π΅ Ρ‰Π΅ бъдС ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π² ΠΊΠΎΠ΅Ρ‚ΠΎ всичко Π΅ ΠΎΠ±Π²ΡŠΡ€Π·Π°Π½ΠΎ с ΠΊΠΎΡ€ΡƒΡ‚ΠΈΠ½ΠΈ. Π€Π°ΠΊΡ‚ Π΅, Ρ‡Π΅ ΠΏΠΎΠ²Π΅Ρ‡Π΅Ρ‚ΠΎ прилоТСния са напълно асинхронни ΠΈ ΠΏΠ°Ρ€Π°Π»Π΅Π»Π½ΠΈ изчислСния. Но ΡΡŠΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ‚Π΅ Π½Π° Kotlin позволяват ΠΎΠ±ΡŠΡ€ΠΊΠ²Π°Ρ‰, Ρ…Π΅Ρ‚Π΅Ρ€ΠΎΠ³Π΅Π½Π΅Π½ ΠΈΠ»ΠΈ ΠΏΡ€Π΅ΠΊΠ°Π»Π΅Π½ΠΎ слоТСн ΠΈ изискващ производитСлност ΠΊΠΎΠ΄ Π΄Π° бъдС Π½Π°ΠΌΠ°Π»Π΅Π½ Π΄ΠΎ Π΅Π΄ΠΈΠ½, лСсСн Π·Π° Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ стил, ΠΏΠ΅Ρ‡Π΅Π»Π΅ΠΉΠΊΠΈ прСдимства ΠΏΡ€ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»Π½ΠΎ изпълнСниС ΠΈ производитСлност.

Π©Π΅ сС Π½Π°ΡƒΡ‡ΠΈΠΌ Π΄Π° пишСм ΠΈΠ΄ΠΈΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π΅Π½ ΠΊΠΎΠ΄ Π² ΡΡŠΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈ, ΠΊΠΎΠΉΡ‚ΠΎ Ρ€Π΅ΡˆΠ°Π²Π° практичСски ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ ΠΈ Π΅ Ρ€Π°Π·Π±ΠΈΡ€Π°Π΅ΠΌ Π½Π° ΠΏΡ€ΡŠΠ² ΠΏΠΎΠ³Π»Π΅Π΄ Π΄ΠΎΡ€ΠΈ Π±Π΅Π· Π·Π°Π΄ΡŠΠ»Π±ΠΎΡ‡Π΅Π½ΠΈ познания Π·Π° Ρ‚ΠΎΠ²Π° ΠΊΠ°ΠΊ работят ΡΡŠΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ‚Π΅ (ΠΊΠΎΠ΅Ρ‚ΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΊΠ°ΠΆΠ΅ Π·Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΊΠ°Ρ‚ΠΎ RxJava). Π©Π΅ Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ ΡΡŠΡ‰ΠΎ ΠΊΠ°ΠΊ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ ΠΏΠΎ-слоТни ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈ, ΠΊΠ°Ρ‚ΠΎ ΠΌΠΎΠ΄Π΅Π»Π° Π½Π° Π°ΠΊΡ‚ΡŒΠΎΡ€Π°, Π·Π° Ρ€Π΅ΡˆΠ°Π²Π°Π½Π΅ Π½Π° ΠΏΠΎ-слоТни ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ, ΠΊΠ°Ρ‚ΠΎ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅Ρ‚ΠΎ Π½Π° Π΄Π°Π½Π½ΠΈ Π² концСпцията MVI.

ΠœΠ΅ΠΆΠ΄Ρƒ Π΄Ρ€ΡƒΠ³ΠΎΡ‚ΠΎ, ΠΎΡ‰Π΅ Π΄ΠΎΠ±Ρ€ΠΈ Π½ΠΎΠ²ΠΈΠ½ΠΈ. Π”ΠΎΠΊΠ°Ρ‚ΠΎ избираСмият ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚ сС записвашС, бСшС пусната актуализация Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° Kotlin Coroutines, Π² която сС появи ΠΊΠ»Π°ΡΡŠΡ‚ Flow - Π°Π½Π°Π»ΠΎΠ³ Π½Π° Π²ΠΈΠ΄ΠΎΠ²Π΅Ρ‚Π΅ Flowable ΠΈ Observable ΠΎΡ‚ RxJava. Актуализацията ΠΏΠΎ ΡΡŠΡ‰Π΅ΡΡ‚Π²ΠΎ ΠΏΡ€Π°Π²ΠΈ ΡΡŠΡ€ΡƒΡ‚ΠΈΠ½Π½ΠΈΡ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π·Π°Π²ΡŠΡ€ΡˆΠ΅Π½ΠΈ ΠΎΡ‚ Π³Π»Π΅Π΄Π½Π° Ρ‚ΠΎΡ‡ΠΊΠ° Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° Π½Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ. Вярно Π΅, Ρ‡Π΅ всС ΠΎΡ‰Π΅ ΠΈΠΌΠ° място Π·Π° ΠΏΠΎΠ΄ΠΎΠ±Ρ€Π΅Π½ΠΈΠ΅: Π²ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ„Π°ΠΊΡ‚Π°, Ρ‡Π΅ Π±Π»Π°Π³ΠΎΠ΄Π°Ρ€Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ°Ρ‚Π° Π½Π° ΡΡŠΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈ Π² kotlin/native, Π²Π΅Ρ‡Π΅ Π΅ възмоТно Π΄Π° сС ΠΏΠΈΡˆΠ°Ρ‚ ΠΌΡƒΠ»Ρ‚ΠΈΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½ΠΈ прилоТСния Π² Kotlin ΠΈ Π΄Π° Π½Π΅ сС страда ΠΎΡ‚ липсата Π½Π° RxJava ΠΈΠ»ΠΈ Π°Π½Π°Π»ΠΎΠ·ΠΈ Π² чист Kotlin, ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ°Ρ‚Π° Π·Π° ΡΡŠΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈ Π² kotlin/native всС ΠΎΡ‰Π΅ Π½Π΅ Π΅ Π·Π°Π²ΡŠΡ€ΡˆΠ΅Π½Π°. НапримСр, няма понятиС Π·Π° Π°ΠΊΡ‚ΡŒΠΎΡ€ΠΈ. ΠšΠ°Ρ‚ΠΎ цяло Π΅ΠΊΠΈΠΏΡŠΡ‚ Π½Π° Kotlin ΠΈΠΌΠ° ΠΏΠ»Π°Π½ΠΎΠ²Π΅ Π΄Π° ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° ΠΏΠΎ-слоТни Π°ΠΊΡ‚ΡŒΠΎΡ€ΠΈ Π½Π° всички ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠΈ.

Kotlin Coroutines - ΠΊΠ°ΠΊ Ρ‚Π΅ ΠΏΠΎΠΌΠ°Π³Π°Ρ‚ Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Π½Π° Kotlin?

Π‘ΡŠΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ‚Π΅ прСдоставят чудСсна Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π·Π° писанС Π½Π° ΠΊΠΎΠ΄, ΠΊΠΎΠΉΡ‚ΠΎ Π΅ Ρ‡Π΅Ρ‚ΠΈΠΌ, ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°Π½ ΠΈ сигурСн, асинхронСн ΠΈ ΠΏΠ°Ρ€Π°Π»Π΅Π»Π΅Π½. ΠœΠΎΠΆΠ΅Ρ‚Π΅ ΡΡŠΡ‰ΠΎ Π΄Π° ΡΡŠΠ·Π΄Π°Π΄Π΅Ρ‚Π΅ Π°Π΄Π°ΠΏΡ‚Π΅Ρ€ΠΈ Π·Π° Π΄Ρ€ΡƒΠ³ΠΈ асинхронни Ρ€Π°ΠΌΠΊΠΈ ΠΈ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ ΠΌΠΎΠΆΠ΅ Π²Π΅Ρ‡Π΅ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ Π² ΠΊΠΎΠ΄ΠΎΠ²Π°Ρ‚Π° Π±Π°Π·Π°.

Как сС Ρ€Π°Π·Π»ΠΈΡ‡Π°Π²Π°Ρ‚ ΠΊΠΎΡ€ΡƒΡ‚ΠΈΠ½ΠΈΡ‚Π΅ ΠΎΡ‚ Π½ΠΈΡˆΠΊΠΈΡ‚Π΅?

Π•ΠΊΠΈΠΏΡŠΡ‚ Π½Π° Kotlin Π½Π°Ρ€ΠΈΡ‡Π° ΠΊΠΎΡ€ΡƒΡ‚ΠΈΠ½ΠΈΡ‚Π΅ Π»Π΅ΠΊΠΈ нишки. Плюс Ρ‚ΠΎΠ²Π° ΡΡŠΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°Ρ‚Π° ΠΌΠΎΠΆΠ΅ Π΄Π° Π²ΡŠΡ€Π½Π΅ някаква стойност, Π·Π°Ρ‰ΠΎΡ‚ΠΎ Π² основата си ΡΡŠΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°Ρ‚Π° Π΅ прСустановСно изчислСниС. НС зависи Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½ΠΎ ΠΎΡ‚ систСмнитС нишки; Π½ΠΈΡˆΠΊΠΈΡ‚Π΅ ΠΈΠ·ΠΏΡŠΠ»Π½ΡΠ²Π°Ρ‚ само ΡΡŠΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈ.

Какви практичСски ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ Ρ€Π΅ΡˆΠ΅Π½ΠΈ с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° Coroutine, ΠΊΠΎΠΈΡ‚ΠΎ Π½Π΅ ΠΌΠΎΠ³Π°Ρ‚ ΠΈΠ»ΠΈ са Ρ‚Ρ€ΡƒΠ΄Π½ΠΈ Π·Π° Ρ€Π΅ΡˆΠ°Π²Π°Π½Π΅ с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° β€žΡ‡ΠΈΡΡ‚β€œ Kotlin?

Всички асинхронни, ΠΏΠ°Ρ€Π°Π»Π΅Π»Π½ΠΈ, β€žΠΊΠΎΠ½ΠΊΡƒΡ€Π΅Π½Ρ‚Π½ΠΈβ€œ Π·Π°Π΄Π°Ρ‡ΠΈ сС Ρ€Π΅ΡˆΠ°Π²Π°Ρ‚ Π΄ΠΎΠ±Ρ€Π΅ с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° ΡΡŠΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈ – Π±ΠΈΠ»ΠΎ Ρ‚ΠΎ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° потрСбитСлски щраквания, Π²Π»ΠΈΠ·Π°Π½Π΅ ΠΎΠ½Π»Π°ΠΉΠ½ ΠΈΠ»ΠΈ Π°Π±ΠΎΠ½ΠΈΡ€Π°Π½Π΅ Π·Π° Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΎΡ‚ Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ.

Π’ чистия Kotlin Ρ‚Π΅Π·ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ сС Ρ€Π΅ΡˆΠ°Π²Π°Ρ‚ ΠΏΠΎ ΡΡŠΡ‰ΠΈΡ Π½Π°Ρ‡ΠΈΠ½, ΠΊΠ°ΠΊΡ‚ΠΎ Π² Java - с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° хиляди Ρ€Π°ΠΌΠΊΠΈ, всяка ΠΎΡ‚ ΠΊΠΎΠΈΡ‚ΠΎ ΠΈΠΌΠ° своитС плюсовС ΠΈ минуси, Π½ΠΎ Π½ΠΈΡ‚ΠΎ Π΅Π΄Π½Π° ΠΎΡ‚ тях няма ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° Π΅Π·ΠΈΠΊΠΎΠ²ΠΎ Π½ΠΈΠ²ΠΎ.

ΠšΠ°Ρ‚ΠΎ Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ си струва Π΄Π° сС ΠΊΠ°ΠΆΠ΅, Ρ‡Π΅ ΠΈ Π΄Π²Π΅Ρ‚Π΅ ΠΈΠ·Π±ΠΈΡ€Π°Π΅ΠΌΠΈ (ΠΊΠ°ΠΊΡ‚ΠΎ ΠΈ основнитС курсовС) сС Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€Π°Ρ‚ Π² ΡΡŠΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΠΈΠ΅ с ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΡ‚Π΅ във Π²ΡŠΠ½ΡˆΠ½ΠΈΡ‚Π΅ условия. Ако сС появят Π²Π°ΠΆΠ½ΠΈ Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π½Π° Π΅Π·ΠΈΡ†ΠΈ ΠΈΠ»ΠΈ Ρ€Π°ΠΌΠΊΠΈ, ΡƒΡ‡ΠΈΡ‚Π΅Π»ΠΈΡ‚Π΅ Π²Π·Π΅ΠΌΠ°Ρ‚ Ρ‚ΠΎΠ²Π° ΠΏΡ€Π΅Π΄Π²ΠΈΠ΄ ΠΈ промСнят ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°Ρ‚Π°. Всичко Ρ‚ΠΎΠ²Π° Π²ΠΈ позволява Π΄Π° Π΄ΡŠΡ€ΠΆΠΈΡ‚Π΅ ΠΏΡ€ΡŠΡΡ‚Π° си Π½Π° пулса Π½Π° процСса Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°, Ρ‚Π°ΠΊΠ° Π΄Π° сС ΠΊΠ°ΠΆΠ΅.

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: www.habr.com

ДобавянС Π½Π° Π½ΠΎΠ² ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€