RxSwift iyo coroutines ee Kotlin - door ka mid ah horumarinta mobilada ee AGIMA iyo GeekBrains

RxSwift iyo coroutines ee Kotlin - door ka mid ah horumarinta mobilada ee AGIMA iyo GeekBrains

Aqoontu waa wanaagsan tahay, kaliya way weyn tahay. Laakiin ku celcelinta ayaa sidoo kale loo baahan yahay si aad u isticmaasho xogta la helay, iyaga oo ka wareejinaya heerka "keydinta dadban" ilaa heerka "isticmaalka firfircoon". Si kastaba ha ahaatee sida uu u wanaagsan yahay tababbarka aragtiyeed, shaqada "beerta" ayaa weli loo baahan yahay. Kuwa kore waxay khuseeyaan ku dhawaad ​​goob kasta oo waxbarasho, oo ay ku jiraan, dabcan, horumarinta software.

Sannadkan, GeekBrains, iyada oo qayb ka ah kulliyadda horumarinta mobaylada ee jaamacadda internetka ee GeekUniversity, waxay bilaabeen inay la shaqeeyaan hay'adda is-dhexgalka ee AGIMA, oo kooxdeedu ay yihiin kuwa horumariya xirfadlayaasha (waxay abuuraan mashaariic culus oo culus, albaabbada shirkadaha iyo codsiyada moobiilka, taas oo dhan). AGIMA iyo GeekBrains waxay abuureen doorasho si qoto dheer loogu quusto arrimaha la taaban karo ee horumarinta arjiga mobilada.

Maalin dhaweyd waxaan la hadalnay Igor Vedeneev, khabiir ku takhasusay IOS, iyo Alexander Tizik, oo ku takhasusay Android. Waad ku mahadsan tahay iyaga, doorashada horumarinta mobilada waxaa lagu hodmay wax ku ool ah koorsada gaarka ah ee qaabka RxSwift и Kotlin oo ku taal Kotlin. Maqaalkan, horumariyayaashu waxay ka hadlayaan muhiimada aag kasta u leedahay barnaamijyada.

Barnaamijyada falcelinta ee macruufka iyadoo la adeegsanayo RxSwift tusaale ahaan

RxSwift iyo coroutines ee Kotlin - door ka mid ah horumarinta mobilada ee AGIMA iyo GeekBrains
Macallinka la doortay Igor Vedeneev: "RxSwift, codsigaagu wuu duuli doonaa"

Waa maxay macluumaadka ay ardaydu helaan inta lagu jiro doorashada?

Waxaan ka hadal kaliya ma aha oo ku saabsan awoodaha qaab-dhismeedka, laakiin sidoo kale tus sida loo isticmaalo in MVVM + RxSwift caadiga ah. Dhowr tusaale oo wax ku ool ah ayaa sidoo kale laga hadlay. Si loo xoojiyo xogta la helay, waxaanu qornaa codsi sida ugu dhow ee suurtogalka ah xaaladaha hawlgalka. Tani waxay noqon doontaa arjiga raadinta muusiga iyadoo la isticmaalayo iTunes Search API. Halkaas waxaan ku dabaqi doonaa dhammaan Dhaqamada ugu Fiican, oo lagu daro tixgelin ikhtiyaarka fudud ee isticmaalka RxSwift ee qaabka MVC.

RxSwift - muxuu barnaamijka iOS ugu baahan yahay qaabkan, sidee ayay nolosha ugu fududaynaysaa horumariyaha?

RxSwift waxay habaynaysaa la shaqaynta qulqulka dhacdooyinka iyo xidhiidhka ka dhexeeya walxaha. Tusaalaha ugu fudud oo ugu cad cad waa xiritaannada: tusaale ahaan, waxaad cusboonaysiin kartaa interface-ka adigoo si fudud u dejinaya qiyamka cusub doorsoome ee muuqaalka Model. Sidaa darteed, interface-ku wuxuu noqdaa mid xogta ku salaysan. Intaa waxaa dheer, RxSwift waxay kuu ogolaaneysaa inaad ku qeexdo nidaamka qaab qoraal ah, kaas oo kuu ogolaanaya inaad habayso koodkaaga oo aad kordhiso akhrinta. Waxaas oo dhami waxay gacan ka geystaan ​​horumarinta codsiyada si hufan.

Horumariyaha, aqoonta qaab-dhismeedka sidoo kale waxay ku fiican tahay resume, maadaama fahamka barnaamijka falcelinta, iyo gaar ahaan khibradda RxSwift, lagu qiimeeyo suuqa.

Maxay tahay sababta qaabkan gaarka ah uga door bidayso kuwa kale?

RxSwift waxay leedahay bulshada ugu weyn. Taasi waa, waxaa jirta fursad weyn oo ah in dhibaatada horumariyaha uu wajahayo uu qof hore u xaliyay. Sidoo kale tiro badan oo xirmooyinka ka baxsan sanduuqa. Intaa waxaa dheer, RxSwift waa qayb ka mid ah ReactiveX. Tani waxay ka dhigan tahay in uu jiro analoog loogu talagalay Android, tusaale ahaan (RxJava, RxKotlin), iyo asxaabta ku jira aqoon-is-weydaarsiga waxay ku hadli karaan luqad isku mid ah midba midka kale, inkastoo xaqiiqda ah in qaar ka mid ah ay la shaqeeyaan iOS, kuwa kale oo leh Android.

Qaabka si joogto ah ayaa loo cusboonaysiiyaa, khaladaadka yaryar waa la saxaa, taageerada astaamaha noocyada cusub ee Swift ayaa lagu daray, iyo xidhidhyo cusub ayaa lagu daray. Maadaama RxSwift uu yahay il furan, waxaad raaci kartaa dhammaan isbeddellada. Waxaa intaa dheer, waxaa suurtagal ah in aad adigu ku darto iyaga.

Halkee ayay tahay in RxSwift lagu isticmaalo?

  1. Isku xidhka Sida caadiga ah, waxaan ka hadleynaa UI, awoodda lagu beddelo UI, sida haddii laga falcelinayo isbeddelada xogta, oo aan si cad u sheegin interface-ka in la joogo waqtigii la cusbooneysiin lahaa.
  2. Xiriirka ka dhexeeya qaybaha iyo hawlgallada. Tusaale ahaan. Waxaan u baahanahay inaan ka helno liiska xogta shabakada Dhab ahaantii, tani ma aha qalliin fudud. Si aad tan u samayso, waxaad u baahan tahay inaad dirto codsi, khariidad jawaabta u geliso walaxyo kala duwan, ku kaydi kaydka xogta oo u dir UI. Sida caadiga ah, qaybo kala duwan ayaa mas'uul ka ah fulinta hawlgalladan (waannu jecelnahay oo raacnaa mabaadi'da SOLID?). Lahaanshaha qalab sida RxSwift oo kale ah, waxay noqon doontaa suurtogal ah in lagu qeexo waxa nidaamku qaban doono, iyo SIDA ay u samayn doonto waxay ahaan doontaa meelo kale. Tani waa sababta oo ah habaynta wanaagsan ee koodhka ayaa la gaaro oo akhrintu korodho. Marka la eego, koodka waxa loo qaybin karaa tusmada iyo buugga laftiisa.

Coroutines gudaha Kotlin

RxSwift iyo coroutines ee Kotlin - door ka mid ah horumarinta mobilada ee AGIMA iyo GeekBrains
Macalinka koorsada Alexander Tizik: "Horumarka casriga ah wuxuu u baahan yahay habab farsamo oo casri ah"

Maxaa lagu bari doonaa kuliyada GeekBrains oo qayb ka ah rubuci calaamadaysan?

Aragtida, isbarbardhigga hababka kale, tusaalooyin wax ku ool ah oo ku jira Kotlin saafi ah iyo qaabka codsiga Android. Dhaqan ahaan, ardayda waxaa la tusi doonaa arji ay wax walba ku xiran yihiin coroutines. Xaqiiqdu waxay tahay in codsiyada badankoodu ay yihiin kuwo dhammaystiran oo isku mid ah oo isbarbar socda xisaabinta. Laakiin Kotlin coroutines waxay oggolaadaan jahawareer, kala duwanaansho ama aad u adag iyo koodhka hawl-qabadka in la dhimo hal, qaab fudud oo la fahmi karo, helitaanka faa'iidooyinka fulinta saxda ah iyo waxqabadka.

Waxaan baran doonaa in aan ku qorno koodka sarbeebsan ee xargaha xallinta dhibaatooyinka la taaban karo oo la fahmi karo jaleecada hore xitaa iyada oo aan aqoon qoto dheer u lahayn sida coroutines u shaqeeyaan (taas oo aan laga sheegi karin maktabadaha sida RxJava). Waxaan sidoo kale fahmi doonaa sida loo isticmaalo fikrado kakan, sida qaabka jilaa, si loo xalliyo mashaakil aad u adag, sida bakhaarka xogta ee fikradda MVI.

By habka, war wanaagsan oo dheeraad ah. Intii la doortay ayaa la duubayey, cusbooneysiinta maktabadda Kotlin Coroutines ayaa la sii daayay, kaas oo fasalka uu ka soo muuqday Flow - analooga noocyada Flowable и Observable ka RxJava. Cusboonaysiinta ayaa asal ahaan ka dhigaysa muuqaalada coroutines oo dhammaystiran marka laga eego aragtida horumariyaha arjiga. Run, weli waxaa jira meel lagu horumariyo: in kasta oo xaqiiqda ah in taageerada coroutines ee kotlin / hooyo, ay mar hore suurtagal tahay in lagu qoro codsiyo badan oo badan gudaha Kotlin oo aan la dhibtoon la'aanta RxJava ama analogues ee Kotlin saafi ah. Taageerada loo yaqaan 'corotines' ee kotlin/dhalatiga wali ma dhammayn. Tusaale ahaan, ma jirto fikradda jilayaasha. Guud ahaan, kooxda Kotlin waxay leedahay qorshayaal ay ku taageerto jilayaasha kakan dhammaan goobaha.

Kotlin Coroutines - sidee bay u caawiyaan horumarinta Kotlin?

Coroutines waxay bixiyaan fursad weyn oo lagu qoro kood la akhriyi karo, la ilaalin karo, oo sugan, aan sinnayn, iyo lacag la mid ah. Waxa kale oo aad u abuuri kartaa adapters-ka qaab-dhismeedka kale ee asynchronous iyo habab laga yaabo in mar horeba lagu isticmaalo codebase.

Sidee Coroutines uga duwan yihiin dunta?

Kooxda Kotlin waxay ugu yeeraan coroutines dunta khafiifka ah. Intaa waxaa dheer, coroutine wuxuu soo celin karaa xoogaa qiimo ah, sababtoo ah, asalkiisa, coroutine waa xisaabin la hakiyey. Si toos ah uguma xidhna dunta nidaamka; duntu waxa ay fuliyaan oo kaliya coroutines.

Waa maxay dhibaatooyinka la taaban karo ee lagu xallin karo iyadoo la isticmaalayo Corotine, kuwaas oo aan awoodi karin ama ay adag tahay in la xaliyo iyadoo la isticmaalayo "saafi" Kotlin?

Hawl kasta oo isku mid ah, barbar socda, "tartan" si fiican ayaa loo xalliyaa iyadoo la isticmaalayo coroutines - ha ahaato habaynta dhagsiimaha isticmaalaha, internetka, ama ka-qaybgalka cusboonaysiinta xogta xogta.

Kotlin saafi ah, dhibaatooyinkan waxaa lagu xalliyaa si la mid ah Java - iyadoo la kaashanayo kumanaan qaab-dhismeedka, kuwaas oo mid kastaa leeyahay faa'iidooyin iyo khasaare u gaar ah, laakiin midkoodna ma haysto taageero heer luqadeed.

Gunaanad ahaan, waxaa habboon in la sheego in labadaba la doortay (iyo koorsooyinka muhiimka ah sidoo kale) waa la cusboonaysiiyay iyadoo la raacayo isbeddelada xaaladaha dibadda. Haddii cusboonaysiinta muhiimka ahi ay ka soo baxaan luqadaha ama qaab-dhismeedka, macallimiintu waxay ku xisaabtamaan tan oo wax ka beddelaan barnaamijka. Dhammaan tani waxay kuu ogolaaneysaa inaad fartaada ku hayso garaaca habka horumarinta, si aad u hadasho.

Source: www.habr.com

Add a comment