RxSwift da coroutines a cikin Kotlin - zaɓaɓɓen ci gaban wayar hannu daga AGIMA da GeekBrains

RxSwift da coroutines a cikin Kotlin - zaɓaɓɓen ci gaban wayar hannu daga AGIMA da GeekBrains

Ilimi yana da kyau, mai girma kawai. Amma kuma ana buƙatar yin aiki don ku iya amfani da bayanan da aka karɓa, canja wurin su daga matsayin "ma'ajiyar wucewa" zuwa matsayin "amfani mai aiki". Komai kyawun horo na ka'idar, aiki "a cikin filin" har yanzu ana buƙatar. Abubuwan da ke sama sun shafi kusan kowane fanni na karatu, gami da, ba shakka, haɓaka software.

A wannan shekara, GeekBrains, a matsayin wani ɓangare na ƙungiyar ci gaban wayar hannu na jami'ar GeekUniversity na kan layi, ya fara aiki tare da hukumar AGIMA mai hulɗa, wanda ƙungiyarsa ƙwararrun ƙwararrun ƙwararrun ƙwararrun ƙwararrun ƙwararrun ƙwararrun ƙwararrun ƙwararrun ƙwararrun ƙwararrun ƙwararrun ƙwararrun ƙwararrun ƙwararrun ƙwararrun ƙwararrun ƙwararrun ƙwararrun ƙwararrun ma'amala da aikace-aikacen hannu ke nan. AGIMA da GeekBrains sun ƙirƙiri zaɓi don zurfafa nutsewa cikin al'amuran da suka dace na haɓaka aikace-aikacen hannu.

Kwanakin baya mun tattauna da Igor Vedeneev, kwararre a iOS, da Alexander Tizik, kwararre a Android. Godiya ga su, zaɓaɓɓen ci gaban wayar hannu an wadatar da su da amfani kwas na musamman akan tsarin RxSwift и Coroutines in Kotlin. A cikin wannan labarin, masu haɓaka suna magana game da mahimmancin kowane yanki ga masu shirye-shirye.

Reactive shirye-shirye a iOS ta amfani da RxSwift a matsayin misali

RxSwift da coroutines a cikin Kotlin - zaɓaɓɓen ci gaban wayar hannu daga AGIMA da GeekBrains
Zaɓaɓɓen malami Igor Vedeneev: "Tare da RxSwift, aikace-aikacen ku zai tashi"

Wane bayani ne ɗalibai suke samu yayin zaɓen?

Muna magana ba kawai game da damar tsarin ba, amma kuma nuna yadda ake amfani da shi a cikin haɗin MVVM + RxSwift na gargajiya. Ana kuma tattauna misalai da yawa masu amfani. Don ƙarfafa bayanan da aka samu, muna rubuta aikace-aikacen da ke kusa da yanayin aiki. Wannan zai zama aikace-aikacen neman kiɗa ta amfani da shi API ɗin Bincike na iTunes. A can za mu yi amfani da duk mafi kyawun Ayyuka, da la'akari da zaɓi mafi sauƙi don amfani da RxSwift a cikin tsarin MVC.

RxSwift - me yasa mai tsara shirye-shiryen iOS ke buƙatar wannan tsarin, ta yaya yake sauƙaƙa rayuwa ga mai haɓakawa?

RxSwift yana daidaita aiki tare da rafukan taron da haɗin kai tsakanin abubuwa. Misali mafi sauƙi kuma mafi bayyane shine ɗauri: alal misali, zaku iya sabunta ƙa'idar ta hanyar saita sabbin dabi'u a cikin mai canzawa a cikin viewModel. Don haka, keɓancewa ya zama tushen bayanai. Bugu da ƙari, RxSwift yana ba ku damar kwatanta tsarin a cikin salon sanarwa, wanda ke ba ku damar tsara lambar ku da ƙara yawan karatu. Duk wannan yana taimakawa wajen haɓaka aikace-aikacen da inganci.

Ga mai haɓakawa, ilimin tsarin kuma yana da kyau ƙari akan ci gaba, tunda fahimtar shirye-shiryen amsawa, musamman ƙwarewa tare da RxSwift, ana ƙima a kasuwa.

Me yasa zabar wannan tsari na musamman akan wasu?

RxSwift yana da mafi girman al'umma. Wato, akwai babban damar cewa matsalar da mai haɓakawa ke fuskanta wani ya riga ya warware shi. Hakanan babban adadin ɗauri daga cikin akwatin. Haka kuma, RxSwift wani bangare ne na ReactiveX. Wannan yana nufin cewa akwai analog na Android, misali (RxJava, RxKotlin), kuma abokan aiki a cikin taron suna iya magana da harshe iri ɗaya tare da juna, duk da cewa wasu suna aiki da iOS, wasu kuma suna da Android.

Ana sabunta tsarin koyaushe, ana gyara ƙananan kwari, ana ƙara goyan bayan fasalulluka daga sabbin nau'ikan Swift, kuma ana ƙara sabbin ɗauri. Tunda RxSwift buɗaɗɗen tushe ne, zaku iya bin duk canje-canje. Bugu da ƙari, yana yiwuwa a ƙara su da kanka.

A ina ya kamata a yi amfani da RxSwift?

  1. Daure. A matsayinka na mai mulki, muna magana ne game da UI, ikon canza UI, kamar ana amsawa ga canje-canjen bayanai, kuma ba a fayyace fa'ida a sarari cewa lokaci ya yi da za a sabunta ba.
  2. Dangantaka tsakanin sassa da ayyuka. Misali kawai. Muna buƙatar samun jerin bayanai daga hanyar sadarwa. A gaskiya, wannan ba aiki mai sauƙi ba ne. Don yin wannan, kuna buƙatar aika buƙatu, taswirar amsawa zuwa cikin tsararrun abubuwa, adana shi zuwa bayanan bayanai kuma aika zuwa UI. A matsayinka na mai mulki, sassa daban-daban suna da alhakin yin waɗannan ayyuka (muna ƙauna kuma muna bin ka'idoji SOLID?). Samun kayan aiki kamar RxSwift a hannu, yana yiwuwa a kwatanta ABIN da tsarin zai yi, kuma YADDA zai yi zai kasance a wasu wurare. Saboda wannan ne aka samu mafi kyawun tsarin lambar kuma ana iya karantawa. Dangane da magana, ana iya raba lambar zuwa tebur na abun ciki da littafin kanta.

Coroutines a cikin Kotlin

RxSwift da coroutines a cikin Kotlin - zaɓaɓɓen ci gaban wayar hannu daga AGIMA da GeekBrains
Zaɓaɓɓen malamin koyarwa Alexander Tizik: "Ci gaban zamani yana buƙatar hanyoyin fasaha na zamani"

Menene za a koya a sashen GeekBrains a matsayin wani ɓangare na kwata mai alamar?

Ka'idar, kwatancen da sauran hanyoyin, misalai masu amfani a cikin tsantsar Kotlin da kuma cikin tsarin aikace-aikacen Android. Dangane da aikace-aikacen, za a nuna wa ɗalibai aikace-aikacen da aka haɗa komai da coroutines. Gaskiyar ita ce yawancin aikace-aikacen gaba ɗaya asynchronous ne kuma suna yin layi ɗaya. Amma Kotlin coroutines suna ba da damar ruɗani, nau'i-nau'i ko sarƙaƙƙiya da ƙima da ƙima da ƙima don ragewa zuwa salon guda ɗaya, mai sauƙin fahimta, samun fa'ida cikin aiwatarwa daidai da aiki.

Za mu koyi rubuta lambar idiomatic a cikin coroutines waɗanda ke magance matsalolin aiki kuma ana iya fahimta da farko ko da ba tare da zurfin sanin yadda coroutines ke aiki ba (wanda ba za a iya faɗi game da ɗakunan karatu kamar RxJava ba). Za mu kuma fahimci yadda ake amfani da ƙarin ra'ayoyi masu rikitarwa, kamar ƙirar ɗan wasan kwaikwayo, don magance ƙarin matsaloli masu rikitarwa, kamar rumbun adana bayanai a cikin ra'ayi na MVI.

Af, ƙarin albishir. Yayin da ake yin rikodin zaɓaɓɓen, an fitar da sabuntawa ga ɗakin karatu na Kotlin Coroutines, wanda ajin ya bayyana. Flow - analog na iri Flowable и Observable daga RxJava. Sabuntawa da gaske yana sanya fasalin coroutines cikakke daga ra'ayi mai haɓaka aikace-aikacen. Gaskiya ne, har yanzu akwai damar ingantawa: duk da cewa godiya ga goyon bayan coroutines a cikin kotlin / 'yan ƙasa, ya riga ya yiwu a rubuta aikace-aikacen dandamali da yawa a cikin Kotlin kuma ba a sha wahala daga rashin RxJava ko analogues a cikin Kotlin mai tsabta. goyon bayan coroutines a cikin kotlin/an asalin bai cika ba tukuna. Misali, babu ra'ayi na 'yan wasan kwaikwayo. Gabaɗaya, ƙungiyar Kotlin tana da tsare-tsare don tallafawa ƙarin hadaddun ƴan wasan kwaikwayo akan duk dandamali.

Kotlin Coroutines - ta yaya suke taimakawa mai haɓaka Kotlin?

Coroutines suna ba da babbar dama don rubuta lambar da za'a iya karantawa, ana iya kiyayewa, kuma amintacce, asynchronous, da daidaitawa. Hakanan zaka iya ƙirƙira adaftar don wasu tsarin asynchronous da hanyoyin da ƙila a riga an yi amfani da su a cikin codebase.

Ta yaya Coroutines suka bambanta da zaren?

Ƙungiyar Kotlin ta kira coroutines zaren masu nauyi. Bugu da ƙari, corutine zai iya dawo da wasu ƙima, saboda, a cikin ainihinsa, coroutine shine lissafin da aka dakatar. Ba ya dogara kai tsaye akan zaren tsarin; zaren suna aiwatar da coroutines kawai.

Wadanne matsaloli masu amfani za a iya magance ta amfani da Corutine, waɗanda ba za su iya ba ko suna da wahala a warware su ta amfani da "tsarkake" Kotlin?

Duk wani asynchronous, layi daya, "gasa" ayyuka ana warware su da kyau ta amfani da coroutines - ya kasance sarrafa danna maɓallin mai amfani, zuwa kan layi, ko biyan kuɗi zuwa sabuntawa daga bayanan bayanai.

A cikin tsarkakakken Kotlin, ana magance waɗannan matsalolin kamar yadda a cikin Java - tare da taimakon dubban tsarin, kowannensu yana da nasa ribobi da fursunoni, amma babu ɗayansu da ke da tallafin matakin harshe.

A matsayin ƙarshe, yana da kyau a faɗi cewa duka zaɓaɓɓu (da kuma manyan darussan ma) an sabunta su daidai da canje-canjen yanayi na waje. Idan mahimman sabuntawa sun bayyana a cikin harsuna ko tsarin, malamai suna la'akari da wannan kuma su gyara shirin. Duk wannan yana ba ka damar ci gaba da yatsa a kan bugun jini na tsarin ci gaba, don yin magana.

source: www.habr.com

Add a comment