RxSwift uye coroutines muKotlin - inosarudzika mukusimudzira mbozha kubva kuAGIMA neGeekBrains.

RxSwift uye coroutines muKotlin - inosarudzika mukusimudzira mbozha kubva kuAGIMA neGeekBrains.

Zivo yakanaka, yakanaka chete. Asi kudzidzira kunodiwa zvakare kuitira kuti iwe ugone kushandisa iyo yakagamuchirwa data, uchivaendesa kubva kune iyo "passive yekuchengetedza" mamiriro kune iyo "inoshingaira kushandiswa" mamiriro. Hazvina mhosva kuti kudzidziswa kwedzidziso kwakanaka sei, basa "mumunda" richiri kudikanwa. Izvo zviri pamusoro zvinoshanda kune chero chikamu chekudzidza, kusanganisira, chokwadi, kuvandudza software.

Gore rino, GeekBrains, sechikamu cheiyo mobile development faculty yepamhepo yunivhesiti GeekUniversity, yakatanga kushanda neiyo inodyidzana agency AGIMA, ine timu ine hunyanzvi vanogadzira (vanogadzira mapurojekiti akaomarara, emakambani emakambani uye nharembozha, ndizvo zvese). AGIMA neGeekBrains vakagadzira sarudzo yekudzika kwakadzika mune dzinoshanda nyaya dzekusimudzira nharembozha.

Rimwe zuva takataura naIgor Vedeneev, nyanzvi yeIOS, naAlexander Tizik, anoshanda ne Android. Kutenda kwavari, sarudzo yekusimudzira nhare yakafumiswa nekuita kosi yakakosha paRxSwift framework ΠΈ coroutines muKotlin. Muchikamu chino, vagadziri vanotaura nezvekukosha kwenzvimbo imwe neimwe yevagadziri.

Reactive programming muIOS uchishandisa RxSwift semuenzaniso

RxSwift uye coroutines muKotlin - inosarudzika mukusimudzira mbozha kubva kuAGIMA neGeekBrains.
Elective mudzidzisi Igor Vedeneev: "NeRxSwift, chikumbiro chako chichabhururuka"

Ndeupi ruzivo rwunogamuchira vadzidzi panguva yesarudzo?

Isu hatitauri chete nezve kugona kweiyo chimiro, asi zvakare tinoratidza mashandisiro eiyo mukirasi MVVM + RxSwift musanganiswa. Mienzaniso inoverengeka inoshanda inokurukurwawo. Kubatanidza iyo data yakawanikwa, tinonyora chikumbiro chiri padyo sezvinobvira kumunda wekushanda mamiriro. Ichi chichava mimhanzi yekutsvaga application uchishandisa iTunes Search API. Ikoko isu tichashandisa ese Akanakisa Maitiro, uye funga zvakare nyore sarudzo yekushandisa RxSwift mune iyo MVC paradigm.

RxSwift - nei iOS programmer ichida iyi chimiro, inoita sei kuti hupenyu huve nyore kune anovandudza?

RxSwift inofambisa basa nenzizi dzechiitiko uye hukama pakati pezvinhu. Muenzaniso wakapfava uye wakanyanya kujeka unosunga: semuenzaniso, unogona kuvandudza iyo interface nekungoisa hunhu hutsva mune inosiyana mune yekuonaModel. Saka, iyo interface inove inofambiswa nedata. Mukuwedzera, RxSwift inokutendera kuti utsanangure sisitimu nenzira yekuzivisa, iyo inokutendera kuti uronge kodhi yako uye kuwedzera kuverenga. Zvese izvi zvinobatsira kukudziridza maapplication zvakanyanya.

Kune anovandudza, ruzivo rwechimiro zvakare yakanaka yekuwedzera pane yekutangazve, sezvo kunzwisisa kweiyo reactive programming, uye kunyanya ruzivo neRxSwift, inokosheswa mumusika.

Sei uchisarudza iyi chimiro pane vamwe?

RxSwift ine nharaunda yakakura kwazvo. Ndiko kuti, pane mukana mukuru wekuti dambudziko riri kutarisana nemugadziri rakatogadziriswa nemumwe munhu. Uyewo nhamba huru yezvisungo kunze kwebhokisi. Uyezve, RxSwift chikamu cheReactiveX. Izvi zvinoreva kuti kune analogue yeAroid, semuenzaniso (RxJava, RxKotlin), uye vatinoshanda navo mumusangano vanogona kutaura mutauro mumwechete kune mumwe nemumwe, zvisinei nekuti vamwe vanoshanda neIOS, vamwe vane Android.

Iyo dhizaini inogara ichigadziridzwa, madiki madiki anogadziriswa, tsigiro yezvimiro kubva kushanduro nyowani dzeSwift inowedzerwa, uye zvisungo zvitsva zvinowedzerwa. Sezvo RxSwift iri yakavhurika sosi, unogona kutevera shanduko dzese. Uyezve, zvinokwanisika kuwedzera ivo pachako.

RxSwift inofanira kushandiswa kupi?

  1. Bindings. Sezvo mutemo, isu tiri kutaura nezve UI, kugona kushandura UI, sekunge kuita kune data shanduko, uye kwete kunyatso taurira iyo interface kuti inguva yekuvandudza.
  2. Ukama pakati pezvikamu uye mashandiro. Muenzaniso chete. Isu tinofanirwa kuwana rondedzero yedata kubva kunetiweki. Kutaura zvazviri, uku hakusi nyore kushanda kwakadaro. Kuti uite izvi, unofanirwa kutumira chikumbiro, mepu mhinduro muhuwandu hwezvinhu, chengetedza kune dhatabhesi uye utumire kuUI. Sezvo mutemo, zvikamu zvakasiyana-siyana zvine basa rekuita mabasa aya (tinoda uye tinotevera mitemo SOLID?). Kuve nemudziyo seRxSwift pedyo, zvinokwanisika kutsanangura ZVICHAITIKA nehurongwa uhu, uye MAITIRO azvinozoita kune dzimwe nzvimbo. Imhaka yeizvi kuti kurongeka kuri nani kwekodhi kunowanikwa uye kuverenga kunowedzera. Zvichienderana, kodhi inogona kukamurwa kuita tafura yezviri mukati uye bhuku pacharo.

Coroutines muKotlin

RxSwift uye coroutines muKotlin - inosarudzika mukusimudzira mbozha kubva kuAGIMA neGeekBrains.
Elective course mudzidzisi Alexander Tizik: "Kubudirira kwemazuva ano kunoda nzira dzemazuva ano dzehunyanzvi"

Chii chichadzidziswa kuGeekBrains faculty sechikamu cheiyo branded quarter?

Dzidziso, kuenzanisa nedzimwe nzira, mienzaniso inoshanda muKotlin yakachena uye mune Android application modhi. Kana zviri zvekudzidzira, vadzidzi vanozoratidzwa chikumbiro umo zvese zvakasungirirwa kune coroutines. Icho chokwadi ndechekuti akawanda maapplication anonyatso asynchronous uye parallel komputa. Asi Kotlin coroutines inobvumira kuvhiringidza, heterogeneous kana yakanyanyisa kuoma uye kushanda-inoda kodeti kuti ideredzwe kune imwe chete, nyore-ku-kunzwisisa maitiro, kuwana zvikomborero mukuita kwakarurama uye kushanda.

Tichadzidza kunyora idiomatic kodhi mumakoroti anogadzirisa matambudziko anoshanda uye anonzwisisika pakutanga kuona kunyangwe pasina ruzivo rwakadzama rwekuti ma coroutines anoshanda sei (izvo zvisingagoni kutaurwa nezve maraibhurari akaita seRxJava). Isu tichanzwisisa zvakare mashandisiro akanyanya kuomarara pfungwa, senge mutambi modhi, kugadzirisa zvakanyanya kuomarara matambudziko, senge data redura mune iyo MVI pfungwa.

Nenzira, mamwe mashoko akanaka. Panguva iyo sarudzo yakanga ichirekodhwa, imwe update kuraibhurari yeKotlin Coroutines yakasunungurwa, umo kirasi yakaonekwa. Flow - analogue yemhando Flowable ΠΈ Observable kubva kuRxJava. Iyo yekuvandudza inonyanya kuita kuti ma coroutines ave akakwana kubva pakuona kwemugadziri wekushandisa. Ichokwadi, kuchine nzvimbo yekuvandudza: pasinei nokuti kuvonga kutsigirwa kwekoroti mu kotlin / chizvarwa, zvinotokwanisika kunyora mapurogiramu e-multi-platform muKotlin uye kwete kutambura nekushayikwa kweRxJava kana analogues muKotlin yakachena, tsigiro yemakoroni mukotlin/native haisati yakwana. Semuenzaniso, hapana pfungwa yevatambi. Kazhinji, boka reKotlin rine zvirongwa zvekutsigira vateereri vakaoma pane zvose.

Kotlin Coroutines - vanobatsira sei mugadziri weKotlin?

Coroutines inopa mukana wakanaka wekunyora kodhi inoverengeka, inochengetedzwa, uye yakachengeteka, asynchronous, uye concurrency. Iwe unogona zvakare kugadzira maadapter emamwe asynchronous masisitimu uye maitiro angave atoshandiswa mucodebase.

Ko Coroutines akasiyana sei neshinda?

Chikwata cheKotlin chinodaidza coroutines lightweight shinda. Uyezve, coroutine inogona kudzorera imwe kukosha, nokuti, pamucheto wayo, coroutine iverengero yakamiswa. Izvo hazvienderane zvakananga netambo tambo; shinda chete dzinoita coroutines.

Ndeapi matambudziko anoshanda anogona kugadziriswa uchishandisa Coroutine, iyo isingakwanisi kana yakaoma kugadzirisa uchishandisa "pure" Kotlin?

Chero asynchronous, parallel, "competitive" mabasa anogadziriswa zvakanaka uchishandisa coroutines - ingave iri kugadzirisa kudzvanya kwevashandisi, kuenda online, kana kunyoresa kugadziridzo kubva kudhatabhesi.

MuKotlin yakachena, matambudziko aya anogadziriswa nenzira imwecheteyo seJava - nerubatsiro rwezviuru zvezvirongwa, chimwe nechimwe chine zvakanakira uye chakaipira, asi hapana chimwe chazvo chine chitsigiro chemutauro.

Semhedziso, zvakakodzera kutaura kuti ese ari maviri esarudzo (uye makosi makuru zvakare) anogadziridzwa zvinoenderana nekuchinja kwemamiriro ekunze. Kana zvakakosha zvigadziriso zvichionekwa mumitauro kana masisitimu, vadzidzisi vanotora izvi vachifunga uye kugadzirisa chirongwa. Zvese izvi zvinokutendera iwe kuti uchengete chigunwe chako pane pulse yekuvandudza maitiro, sekutaura.

Source: www.habr.com

Voeg