I-RxSwift kanye nama-coroutines e-Kotlin - ukukhetha ekuthuthukisweni kweselula kusuka kwa-AGIMA kanye ne-GeekBrains

I-RxSwift kanye nama-coroutines e-Kotlin - ukukhetha ekuthuthukisweni kweselula kusuka kwa-AGIMA kanye ne-GeekBrains

Ulwazi luhle, lukhulu nje. Kodwa ukuzijwayeza kuyadingeka ukuze ukwazi ukusebenzisa idatha etholiwe, uyidlulise isuka kusimo "sokugcina isikhashana" iye esimweni "sokusetshenziswa okusebenzayo". Kungakhathaliseki ukuthi ukuqeqeshwa kwethiyori kuhle kangakanani, umsebenzi “ensimini” usadingeka. Lokhu okungenhla kusebenza cishe kunoma yimuphi umkhakha wokufunda, okuhlanganisa, vele, ukuthuthukiswa kwesofthiwe.

Kulo nyaka, i-GeekBrains, njengengxenye yophiko lwezokuthuthukiswa kwamaselula enyuvesi eku-inthanethi i-GeekUniversity, yaqala ukusebenzisana ne-ejensi esebenzisanayo i-AGIMA, iqembu layo elingabathuthukisi abangochwepheshe (bakha amaphrojekthi anzima anemithwalo ephezulu, izingosi zezinkampani kanye nezicelo zamaselula, yilokho kuphela). I-AGIMA kanye ne-GeekBrains badale ithuba lokukhetha ukungena ngokujulile ezindabeni ezingokoqobo zokuthuthukiswa kohlelo lokusebenza lweselula.

Ngolunye usuku sikhulume no-Igor Vedeneev, uchwepheshe we-iOS, kanye no-Alexander Tizik, osebenza nge-Android. Siyabonga kubo, ukukhethwa ekuthuthukisweni kwamaselula kwathuthukiswa ngokusebenza izifundo ezikhethekile kuhlaka lwe-RxSwift и ama-coroutines e-Kotlin. Kulesi sihloko, abathuthukisi bakhuluma ngokubaluleka kwendawo ngayinye kubahleli bohlelo.

Ukuhlela okusebenzayo ku-iOS kusetshenziswa i-RxSwift njengesibonelo

I-RxSwift kanye nama-coroutines e-Kotlin - ukukhetha ekuthuthukisweni kweselula kusuka kwa-AGIMA kanye ne-GeekBrains
Uthisha okhethiwe u-Igor Vedeneev: “Nge-RxSwift, isicelo sakho sizondiza”

Yiluphi ulwazi abafundi abalutholayo ngesikhathi sokhetho?

Asikhulumi kuphela ngamakhono ohlaka, kodwa futhi sibonisa indlela yokuyisebenzisa kunhlanganisela yakudala ye-MVVM + RxSwift. Kubuye kuxoxwe ngezibonelo ezingokoqobo eziningana. Ukuze sihlanganise idatha etholiwe, sibhala uhlelo lokusebenza oluseduze ngangokunokwenzeka nezimo zokusebenza zensimu. Lolu kuzoba uhlelo lokusesha umculo olusetshenziswayo I-iTunes Search API. Lapho sizosebenzisa zonke Izinqubo Ezinhle Kakhulu, futhi sicabangele inketho elula yokusebenzisa i-RxSwift kupharadigm ye-MVC.

I-RxSwift - kungani umhleli we-iOS edinga lolu hlaka, uyenza kanjani impilo ibe lula kunjiniyela?

I-RxSwift streamlines isebenza ngokusakazwa kwemicimbi nokuxhumana phakathi kwezinto. Isibonelo esilula nesisobala kakhulu ukubopha: isibonelo, ungabuyekeza isixhumi esibonakalayo ngokumane usethe amanani amasha kokuguquguqukayo ku-viewModel. Ngakho-ke, i-interface iba yidatha. Ngaphezu kwalokho, i-RxSwift ikuvumela ukuthi uchaze uhlelo ngesitayela esimemezelayo, esikuvumela ukuthi uhlele ikhodi yakho futhi wandise ukufundeka. Konke lokhu kusiza ukuthuthukisa izinhlelo zokusebenza ngempumelelo kakhudlwana.

Kunjiniyela, ulwazi lohlaka luphinde luhlanganise okuhle ekuqaliseni kabusha, njengoba ukuqonda uhlelo olusebenzayo, futhi ikakhulukazi isipiliyoni nge-RxSwift, kubaluleka emakethe.

Kungani ukhetha lolu hlaka oluthile ngaphezu kwabanye?

I-RxSwift inomphakathi omkhulu kakhulu. Okusho ukuthi, kunethuba elikhulu lokuthi inkinga umthuthukisi abhekene nayo isivele yaxazululwa othile. Futhi inombolo enkulu yokubopha ngaphandle kwebhokisi. Ngaphezu kwalokho, i-RxSwift iyingxenye ye-ReactiveX. Lokhu kusho ukuthi kukhona i-analogue ye-Android, isibonelo (i-RxJava, i-RxKotlin), kanye nozakwabo ku-workshop bangakhuluma ulimi olufanayo bodwa, naphezu kokuthi abanye basebenza ne-iOS, abanye nge-Android.

Uhlaka luvuselelwa njalo, iziphazamisi ezincane ziyalungiswa, ukusekelwa kwezici ezivela ezinguqulweni ezintsha ze-Swift kuyengezwa, futhi izibopho ezintsha ziyengezwa. Njengoba i-RxSwift ingumthombo ovulekile, ungalandela zonke izinguquko. Ngaphezu kwalokho, kungenzeka ukungeza ngokwakho.

Kufanele isetshenziswe kuphi i-RxSwift?

  1. Izibopho. Njengomthetho, sikhuluma nge-UI, ikhono lokushintsha i-UI, njengokungathi sisabela ekushintsheni kwedatha, futhi singatsheli ngokucacile isixhumi esibonakalayo ukuthi sekuyisikhathi sokubuyekeza.
  2. Ubudlelwano phakathi kwezingxenye nokusebenza. Isibonelo nje. Sidinga ukuthola uhlu lwedatha kunethiwekhi. Eqinisweni, lokhu akuwona umsebenzi olula. Ukuze wenze lokhu, udinga ukuthumela isicelo, ubeke impendulo ohlwini lwezinto, uyigcine ku-database bese uyithumela ku-UI. Njengomthetho, izingxenye ezahlukene zinesibopho sokwenza le misebenzi (siyathanda futhi silandela izimiso SOLID?). Ukuba nethuluzi elifana ne-RxSwift eduze, kuyenzeka ukuchaza ukuthi isistimu izokwenzenjani, nokuthi izokwenza kanjani kwezinye izindawo. Kungenxa yalokhu ukuthi ukuhleleka okungcono kwekhodi kufinyelelwa futhi nokufundeka kuyanda. Uma sikhuluma ngokuqhathaniswa, ikhodi ingahlukaniswa ibe uhlu lokuqukethwe kanye nencwadi ngokwayo.

Ama-Coroutines e-Kotlin

I-RxSwift kanye nama-coroutines e-Kotlin - ukukhetha ekuthuthukisweni kweselula kusuka kwa-AGIMA kanye ne-GeekBrains
Uthisha wezifundo ezikhethiwe u-Alexander Tizik: "Intuthuko yesimanje idinga izindlela zobuchwepheshe zesimanje"

Yini ezofundiswa kubuhlakani beGeekBrains njengengxenye yekota enegama?

Ithiyori, ukuqhathanisa nezinye izindlela, izibonelo ezingokoqobo ku-Kotlin emsulwa kanye nemodeli yohlelo lokusebenza lwe-Android. Ngokuqondene nokuzilolonga, abafundi bazoboniswa isicelo lapho yonke into iboshelwe kuma-coroutines. Iqiniso liwukuthi iningi lezinhlelo zokusebenza liyi-asynchronous ngokuphelele futhi i-parallel computing. Kodwa ama-Kotlin coroutines avumela ikhodi edidayo, ehlukahlukene noma eyinkimbinkimbi ngokweqile futhi edinga ukusebenza ukuze yehliselwe kusitayela esisodwa, okulula ukuyiqonda, ukuthola izinzuzo ekusebenzeni okulungile nokusebenza.

Sizofunda ukubhala ikhodi ye-idiomatic kuma-coroutines axazulula izinkinga ezingokoqobo futhi aqondakalayo uma uthi nhlá ngisho nangaphandle kolwazi olujulile lokuthi ama-coroutines asebenza kanjani (okungeke kushiwo mayelana nemitapo yolwazi efana ne-RxJava). Sizophinde siqonde ukuthi ungasebenzisa kanjani imiqondo eyinkimbinkimbi, njengemodeli yomlingisi, ukuxazulula izinkinga eziyinkimbinkimbi, njengendawo yokugcina idatha kumqondo we-MVI.

Ngendlela, izindaba ezinhle ezengeziwe. Ngenkathi okukhethiwe kuqoshwa, kwakhululwa isibuyekezo selabhulali ye-Kotlin Coroutines, lapho kwavela khona ikilasi. Flow - analogue yezinhlobo Flowable и Observable kusuka ku-RxJava. Isibuyekezo senza isici se-coroutines siphelele ngokombono womthuthukisi wohlelo lokusebenza. Yiqiniso, kusekhona indawo yokuthuthukisa: naphezu kweqiniso lokuthi ngenxa yokusekelwa kwama-coroutines ku-kotlin / yomdabu, sekungenzeka kakade ukubhala izicelo ze-multi-platform e-Kotlin futhi ungahlushwa ukuntuleka kwe-RxJava noma ama-analogue ku-Kotlin ehlanzekile, ukusekelwa kwama-coroutines ku-kotlin/native akukakaqedi. Isibonelo, awukho umqondo wabalingisi. Ngokuvamile, ithimba le-Kotlin linezinhlelo zokusekela abadlali abayinkimbinkimbi kuwo wonke amapulatifomu.

I-Kotlin Coroutines - isiza kanjani umthuthukisi we-Kotlin?

Ama-Coroutines anikeza ithuba elihle lokubhala ikhodi efundekayo, egcinekayo, nevikelekile, engavumelaniyo, nevumelanayo. Ungakwazi futhi ukudala ama-adaptha kwezinye izinhlaka nezindlela ezingavumelani okungenzeka sezivele zisetshenziswa ku-codebase.

Ihluke kanjani i-Coroutines kuchungechunge?

Ithimba le-Kotlin libiza ama-coroutines ngemicu engasindi. Futhi, i-coroutine ingabuyisela inani elithile, ngoba, emnyombweni wayo, i-coroutine isibalo esimisiwe. Ayincikile ngokuqondile kuchungechunge lwesistimu; izintambo zisebenzisa ama-coroutines kuphela.

Yiziphi izinkinga ezingokoqobo ezingaxazululwa kusetshenziswa i-Coroutine, engakwazi noma okunzima ukuyixazulula ngokusebenzisa i-Kotlin “ehlanzekile”?

Noma yimiphi imisebenzi engavumelaniyo, ehambisanayo, “encintisanayo” ixazululwa kahle kusetshenziswa ama-coroutines - kungaba ukucubungula ukuchofoza kwabasebenzisi, ukuya ku-inthanethi, noma ukubhalisela izibuyekezo ezivela kusizindalwazi.

Ku-Kotlin ehlanzekile, lezi zinkinga zixazululwa ngendlela efanayo ne-Java - ngosizo lwezinkulungwane zezinhlaka, ngayinye enezinzuzo nezingozi zayo, kodwa akekho noyedwa wabo onokusekela izinga lolimi.

Njengesiphetho, kufanelekile ukusho ukuthi kokubili okukhethiwe (kanye nezifundo eziyinhloko futhi) kubuyekezwa ngokuhambisana nezinguquko ezimweni zangaphandle. Uma izibuyekezo ezibalulekile zivela ngezilimi noma izinhlaka, othisha bayakucabangela lokhu futhi balungise uhlelo. Konke lokhu kukuvumela ukuthi ugcine umunwe wakho ekushayeni kwenqubo yentuthuko, ngomqondo ongokomfanekiso.

Source: www.habr.com

Engeza amazwana