RxSwift le li-coroutines tsa Kotlin - khetho ea ntlafatso ea mehala e tsoang ho AGIMA le GeekBrains.

RxSwift le li-coroutines tsa Kotlin - khetho ea ntlafatso ea mehala e tsoang ho AGIMA le GeekBrains.

Tsebo e ntle, e ntle feela. Empa ho itloaetsa ho boetse hoa hlokahala e le hore u ka sebelisa data e amohetsoeng, u e fetise ho tloha boemong ba "polokelo e sa sebetseng" ho ea ho "tšebeliso e sebetsang". Ho sa tsotellehe hore na koetliso ea khopolo-taba e molemo hakae, ho sebetsa “tšimong” ho ntse ho hlokahala. Lintlha tse ka holimo li sebetsa hoo e batlang e le karolo efe kapa efe ea thuto, ho kenyelletsa, ehlile, nts'etsopele ea software.

Selemong sena, GeekBrains, e le karolo ea lefapha la nts'etsopele ea mehala ea univesithi ea marang-rang ea GeekUniversity, e qalile ho sebetsa le lefapha le sebetsanang le AGIMA, leo sehlopha sa bona e leng baetsi ba litsebi (ba theha merero e boima e boima, li-portal tsa khoebo le lits'ebetso tsa mehala, ke phetho). AGIMA le GeekBrains ba thehile khetho ea ho ikakhela ka setotsoana litabeng tse sebetsang tsa nts'etsopele ea lisebelisoa tsa mehala.

Ka letsatsi le leng re buile le Igor Vedeneev, setsebi sa iOS, le Alexander Tizik, ea sebetsanang le Android. Ka lebaka la bona, khetho ea ntlafatso ea mehala e ile ea ntlafatsoa ka ts'ebetso thupelo e khethehileng mabapi le moralo oa RxSwift и Coroutines in Kotlin. Sehloohong sena, bahlahisi ba bua ka bohlokoa ba sebaka ka seng bakeng sa baetsi ba mananeo.

Lenaneo le sebetsang ho iOS le sebelisa RxSwift joalo ka mohlala

RxSwift le li-coroutines tsa Kotlin - khetho ea ntlafatso ea mehala e tsoang ho AGIMA le GeekBrains.
Mosuoe ea khethiloeng Igor Vedeneev: "Ka RxSwift, kopo ea hau e tla fofa"

Ke lintlha life tseo baithuti ba li fumanang nakong ea likhetho?

Ha re bue feela ka bokhoni ba moralo, empa hape re bonts'a mokhoa oa ho e sebelisa ka motsoako oa khale oa MVVM + RxSwift. Ho boetse ho tšohloa mehlala e ’maloa e sebetsang. Ho kopanya lintlha tse fumanoeng, re ngola kopo e haufi haholo le maemo a ts'ebetso ea tšimo ka hohle kamoo ho ka khonehang. Sena e tla ba 'mino batla kopo sebelisa iTunes Search API. Ha re le moo re tla sebelisa Mekhoa eohle e Molemohali, 'me re nahane ka khetho e bonolo haholoanyane ea ho sebelisa RxSwift ho paradigm ea MVC.

RxSwift - ke hobane'ng ha moetsi oa mananeo a iOS a hloka moralo ona, o nolofatsa bophelo joang ho moqapi?

RxSwift e tsamaisa mosebetsi ka melapo ea liketsahalo le likhokahano lipakeng tsa lintho. Mohlala o bonolo le o hlakileng ka ho fetesisa ke litlamo: mohlala, o ka nchafatsa sebopeho ka ho beha maemo a macha ka mokhoa o fapaneng ho viewModel. Ka hona, sebopeho se fetoha se tsamaisoang ke data. Ntle le moo, RxSwift e u lumella ho hlalosa sistimi ka mokhoa oa phatlalatso, o u lumellang ho hlophisa khoutu ea hau le ho eketsa ho baloa. Sena sohle se thusa ho nts'etsapele lits'ebetso ka mokhoa o atlehileng haholoanyane.

Bakeng sa nts'etsopele, tsebo ea moralo e boetse e ntle ho qala hape, kaha kutloisiso ea mananeo a sebetsang, haholo-holo boiphihlelo ka RxSwift, e nkoa e le ea bohlokoa 'marakeng.

Ke hobane'ng ha u khetha moralo ona ho feta tse ling?

RxSwift e na le sechaba se seholo ka ho fetisisa. Ke hore, ho na le monyetla o moholo oa hore bothata boo moqapi a tobaneng le bona bo se bo rarollotsoe ke motho e mong. Hape palo e kholo ea litlamo ka ntle ho lebokose. Ho feta moo, RxSwift ke karolo ea ReactiveX. Sena se bolela hore ho na le analogue bakeng sa Android, ka mohlala (RxJava, RxKotlin), le basebetsi-'moho le bona ba ka har'a workshop ba ka bua puo e le 'ngoe, ho sa tsotellehe hore ba bang ba sebetsa le iOS, ba bang ka Android.

Moralo o lula o nchafatsoa, ​​​​litšitšili tse nyane lia lokisoa, tšehetso ea likarolo tse tsoang liphetolelong tse ncha tsa Swift ea eketsoa, ​​​​'me ho eketsoa litlamo tse ncha. Kaha RxSwift ke mohloli o bulehileng, o ka latela liphetoho tsohle. Ho feta moo, hoa khoneha ho li eketsa u le mong.

RxSwift e lokela ho sebelisoa hokae?

  1. Litlamo. E le molao, re bua ka UI, bokhoni ba ho fetola UI, joalokaha eka ho arabela liphetohong tsa data, le ho se bolelle ka ho hlaka hore ke nako ea ho ntlafatsa.
  2. Kamano pakeng tsa likarolo le ts'ebetso. Mohlala feela. Re hloka ho fumana lethathamo la data ho tsoa marang-rang. Ha e le hantle, sena ha se ts'ebetso e bonolo joalo. Ho etsa sena, o hloka ho romella kopo, 'mapa oa karabo ka har'a lintho tse ngata, o e boloke ho database ebe o e romela ho UI. E le molao, likarolo tse fapaneng li na le boikarabello ba ho etsa ts'ebetso ena (re rata le ho latela melao-motheo TIISETSE?). Ho ba le sesebelisoa se kang RxSwift haufi, hoa khoneha ho hlalosa SEO tsamaiso e tla se etsa, le hore na e tla etsa joang libakeng tse ling. Ke ka lebaka lena hore ho finyelloa ho hlophisoa hantle ha khoutu le ho baloa ho eketseha. Ha ho bapisoa, khoutu e ka aroloa ka lethathamo la litaba le buka ka boeona.

Coroutines in Kotlin

RxSwift le li-coroutines tsa Kotlin - khetho ea ntlafatso ea mehala e tsoang ho AGIMA le GeekBrains.
Mosuoe ea khethileng Alexander Tizik: "Ntšetso-pele ea sejoale-joale e hloka mekhoa ea sejoale-joale ea tekheniki"

Ho tla rutoa eng lefapheng la GeekBrains e le karolo ea kotara e tsebahalang?

Khopolo, papiso le mekhoa e meng, mehlala e sebetsang ho Kotlin e hloekileng le mofuteng oa ts'ebeliso ea Android. Ha e le boikoetliso, liithuti li tla bontšoa kopo eo ho eona ntho e 'ngoe le e' ngoe e tlamelletsoeng ho li-coroutines. Taba ke hore lits'ebetso tse ngata ha li lumellane ka botlalo ebile li tšoana le komporo. Empa li-coroutines tsa Kotlin li lumella khoutu e ferekanyang, e fapaneng kapa e rarahaneng ka ho fetisisa le e hlokang ts'ebetso hore e fokotsehe ho mokhoa o le mong, o bonolo ho o utloisisa, ho fumana melemo ka ts'ebetsong le ts'ebetsong e nepahetseng.

Re tla ithuta ho ngola khoutu ea idiomatic ka li-coroutines tse rarollang mathata a sebetsang 'me li utloisisoa qalong esita le ntle le tsebo e tebileng ea hore na li-coroutines li sebetsa joang (tse ke keng tsa boleloa ka lilaebrari tse kang RxJava). Hape re tla utloisisa mokhoa oa ho sebelisa mehopolo e rarahaneng, joalo ka mohlala oa sebapali, ho rarolla mathata a rarahaneng, joalo ka polokelo ea data mohopolong oa MVI.

Ka tsela, litaba tse monate tse ngata. Ha likhetho li ntse li rekotoa, ho ile ha lokolloa tlhahiso ea laeborari ea Kotlin Coroutines, eo sehlopha se hlahileng ho eona. Flow - analogue ea mefuta Flowable и Observable ho tloha RxJava. Ntlafatso e hlile e etsa hore likarolo tsa li-coroutine li phethehe ho latela pono ea moqapi oa ts'ebeliso. Ke 'nete, ho ntse ho e-na le sebaka sa ho ntlafatsa: ho sa tsotellehe hore ka lebaka la tšehetso ea li-coroutines ho kotlin / matsoalloa, ho se ho ntse ho khoneha ho ngola likopo tsa li-platform tse ngata Kotlin le ho se utloe bohloko ka lebaka la ho haella ha RxJava kapa li-analogues Kotlin e hloekileng, tšehetso bakeng sa coroutines ka kotlin/native ha e so fele. Ka mohlala, ha ho na maikutlo a batšoantšisi. Ka kakaretso, sehlopha sa Kotlin se na le merero ea ho tšehetsa batšoantšisi ba rarahaneng ho feta lipapaling tsohle.

Kotlin Coroutines - ba thusa joang moqapi oa Kotlin?

Li-Coroutine li fana ka monyetla o motle oa ho ngola khoutu e baloang, e ka bolokehang, le e sireletsehileng, e sa lumellaneng le e lumellanang. U ka boela ua etsa li-adapter bakeng sa meralo le mekhoa e meng ea asynchronous e ka 'nang eaba e se e ntse e sebelisoa ka har'a codebase.

Li-Coroutine li fapane joang le likhoele?

Sehlopha sa Kotlin se bitsa likhoele tse bobebe tsa coroutines. Ho feta moo, coroutine e ka khutlisa boleng bo itseng, hobane, motheong oa eona, coroutine ke palo e emisitsoeng. Ha e itšetlehe ka kotloloho ho likhoele tsa sistimi; likhoele li etsa li-coroutines feela.

Ke mathata afe a sebetsang a ka rarolloang ka ho sebelisa Coroutine, e ke keng ea khona kapa e thata ho rarolla ho sebelisa "hloekile" Kotlin?

Mesebetsi efe kapa efe e sa ts'oaneng, e ts'oanang, "ea tlholisano" e rarolloa hantle ho sebelisoa li-coroutines - ekaba ho sebetsana le ho tobetsa ha basebelisi, ho kena inthaneteng, kapa ho ingolisa ho lintlafatso tse tsoang polokelong ea litaba.

Kotlin e hloekileng, mathata ana a rarolloa ka tsela e ts'oanang le ea Java - ka thuso ea meralo e likete, e 'ngoe le e' ngoe e nang le melemo le boiketlo ba eona, empa ha ho le ea mong oa bona ea nang le tšehetso ea boemo ba puo.

Qetellong, ho bohlokoa ho bolela hore likhetho ka bobeli (le lithuto tsa mantlha le tsona) li nchafatsoa ho latela liphetoho tsa maemo a kantle. Haeba lintlafatso tsa bohlokoa li hlaha ka lipuo kapa meralo, matichere a ela sena hloko ebe a fetola lenaneo. Sena sohle se u lumella ho boloka monoana oa hau ho sekhahla sa ts'ebetso ea nts'etsopele, ka mantsoe a mang.

Source: www.habr.com

Eketsa ka tlhaloso