RxSwift sy Coroutines ao amin'ny Kotlin - Fifidianana amin'ny fampandrosoana finday avy amin'ny AGIMA sy GeekBrains

RxSwift sy Coroutines ao amin'ny Kotlin - Fifidianana amin'ny fampandrosoana finday avy amin'ny AGIMA sy GeekBrains

Ny fahalalana dia tsara, lehibe fotsiny. Ilaina ihany koa anefa ny fanazaran-tena mba hahafahana mampiasa ny angon-drakitra voaray, mamindra azy ireo avy amin'ny satan'ny "fitehirizana passive" mankany amin'ny satan'ny "fampiasana mavitrika". Na dia tsara toy ny inona aza ny fiofanana ara-teorika, dia mbola mitaky asa "an-tsaha". Izany dia mihatra amin'ny saika amin'ny sehatry ny fanabeazana, anisan'izany, mazava ho azy, ny fampivoarana rindrambaiko.

Tamin'ity taona ity, GeekBrains, ao anatin'ny rafitry ny oniversite an-tserasera GeekUniversity momba ny fampandrosoana finday, dia nanomboka niara-niasa tamin'ny masoivoho ifanakalozan-kevitra AGIMA, izay ny ekipany dia mpamorona matihanina (manao tetikasa be pitsiny be dia be, vavahadin'ny orinasa ary fampiharana finday, izany ihany. ). AGIMA sy GeekBrains dia namorona safidy ho an'ny fitsirihana lalina amin'ny fampiharana ny fampivoarana fampiharana finday.

Niresaka tamin'i Igor Vedeneev, manam-pahaizana momba ny iOS, sy Alexander Tizik, manam-pahaizana momba ny Android izahay indray andro. Noho ny fanampian'izy ireo, ny cours elective amin'ny fampandrosoana finday dia nohamafisina amin'ny fampiharana fampianarana manokana momba ny rafitra RxSwift ΠΈ coroutines ao Kotlin. Ato amin'ity lahatsoratra ity, ny mpamorona dia miresaka momba ny maha-zava-dehibe ny tari-dalana tsirairay ho an'ny programmer.

Ny fandaharana reactive amin'ny iOS mampiasa RxSwift ho ohatra

RxSwift sy Coroutines ao amin'ny Kotlin - Fifidianana amin'ny fampandrosoana finday avy amin'ny AGIMA sy GeekBrains
Mpampianatra voafidy Igor Vedeneev: "Amin'ny RxSwift dia hanidina ny fangatahanao"

Inona no vaovao azon'ny mpianatra amin'ny fifidianana?

Tsy miresaka momba ny fahaiza-manaon'ny rafitra ihany izahay, fa mampiseho ny fomba fampiasana azy amin'ny fonosana MVVM + RxSwift mahazatra. Misy ohatra azo ampiharina maro koa no dinihina. Mba hanamafisana ny angon-drakitra azo, dia manoratra fampiharana izay akaiky araka izay azo atao amin'ny fepetran'ny asa. Ho fampiharana fikarohana mozika miaraka amin'ny iTunes Search API. Any no hampiharana ny fanao tsara indrindra rehetra, ary diniho ny fampiasana tsotra kokoa ny RxSwift amin'ny paradigma MVC.

RxSwift - nahoana io rafitra io no mila mpandrindra iOS, ahoana no hanamora ny fiainana ho an'ny mpamorona?

RxSwift streamlines miasa amin'ny hetsika streamlines sy ny fifandraisana eo amin'ny zavatra. Ny ohatra tsotra sy mazava indrindra dia ny fatorana: ohatra, azonao atao ny manavao ny interface amin'ny alΓ lan'ny fametrahana sanda vaovao amin'ny fari-piainana iray ao amin'ny viewModel. Noho izany, ny interface dia lasa data-driven. Ankoatr'izay, RxSwift dia ahafahanao mamaritra ny rafitra amin'ny fomba fanambarana, izay ahafahanao manamora ny fehezan-dalΓ na ary manatsara ny fahaiza-mamaky. Izany rehetra izany dia manampy amin'ny famolavolana fampiharana amin'ny fomba mahomby kokoa.

Ho an'ny mpamorona, ny fahalalana momba ny rafitra dia tombony tsara amin'ny resume, satria ny fahatakarana ny fandaharana mihetsika, ary indrindra ny traikefa amin'ny RxSwift, dia sarobidy amin'ny tsena.

Nahoana no misafidy io rafitra manokana io fa tsy ny hafa?

RxSwift no manana vondrom-piarahamonina lehibe indrindra. Izany hoe, azo inoana kokoa fa ny olana atrehin'ny developer dia efa voavahan'ny olona iray. Betsaka koa ny fatorana mivoaka avy ao anaty boaty. Ankoatra izany, RxSwift dia ampahany amin'ny ReactiveX. Midika izany fa misy analogue ho an'ny Android, ohatra (RxJava, RxKotlin), ary ny mpiara-miasa ao amin'ny fivarotana dia afaka miteny amin'ny fiteny iray ihany, na dia eo aza ny hoe ny sasany miasa amin'ny iOS, ny hafa amin'ny Android.

Havaozina tsy tapaka ny rafitra, raikitra ny bug kely, ampiana ny fanohanana ireo endri-javatra avy amin'ny dikan-teny Swift vaovao, ampiana fatorana vaovao. Satria loharano misokatra ny RxSwift, azonao atao ny manaraka ny fanovana rehetra. Ankoatra izany, dia azo atao ny manampy azy ireo ny tenanao.

Aiza no tokony hampiasanao RxSwift?

  1. Famatorana. Amin'ny maha-fitsipika, eto isika dia miresaka momba ny UI, ny fahafahana manova ny UI, toy ny hoe mamaly ny angon-drakitra fiovana, ary tsy milaza mazava ny interface tsara fa tonga ny fotoana hanavaozana.
  2. Fifandraisana ny singa sy ny asa. Ohatra fotsiny. Mila maka lisitry ny angona avy amin'ny tambajotra isika. Raha ny marina dia tsy fandidiana tsotra izany. Mba hanaovana izany dia mila mandefa fangatahana ianao, sarintany ny valinteny amin'ny laharan-javatra, tehirizo ao amin'ny angon-drakitra ary omeo ny UI. Amin'ny maha-fitsipika, singa samihafa no tompon'andraikitra amin'ny fanatanterahana ireo asa ireo (tiantsika sy manaraka ny fitsipika mafy?). Ny fananana fitaovana toa an'i RxSwift eo am-pelatanana, dia azo atao ny mamaritra hoe inona no hataon'ny rafitra, ary ny fomba hanaovana izany dia hita any amin'ny toerana hafa. Izany no mahatonga ny fandaminana tsara kokoa amin'ny kaody ary mitombo ny fahaiza-mamaky. Amin'ny lafiny iray, ny kaody dia azo zaraina ho lisitry ny votoatiny sy ny boky mihitsy.

Coroutines ao Kotlin

RxSwift sy Coroutines ao amin'ny Kotlin - Fifidianana amin'ny fampandrosoana finday avy amin'ny AGIMA sy GeekBrains
Mpampianatra voafidy Alexander Tizik: "Ny fampandrosoana maoderina dia mitaky fitaovana ara-teknika maoderina"

Inona no hampianarina ao amin'ny Fakiolten'ny GeekBrains ao anatin'ny ampahefatry ny marika?

Ny teoria, fampitahana amin'ny fomba hafa, ohatra azo ampiharina amin'ny Kotlin madio sy amin'ny modely fampiharana Android. Ho an'ny fanazaran-tena dia haseho ny mpianatra ny fampiharana izay mifamatotra amin'ny coroutine ny zava-drehetra. Ny zava-misy dia ny ankamaroan'ny fampiharana dia mitohy asynchronous sy parallèle computing. Saingy ny coroutines Kotlin dia mamela ny kaody misavoritaka, samy hafa na be pitsiny be loatra ary mitaky fampisehoana ho fomba tokana, mora takarina, mahazo ny fahamarinan'ny famonoana sy ny fampisehoana.

Hianarantsika ny fomba fanoratana kaody coroutine idiomatika izay mamaha olana azo ampiharina ary azo takarina indray mipi-maso na dia tsy misy fahalalana lalina momba ny fiasan'ny coroutines (izay tsy azo lazaina momba ny tranomboky toa an'i RxJava). Ho azontsika ihany koa ny fomba fampiasana hevitra sarotra kokoa, toy ny modelin'ny mpilalao, hamahana olana sarotra kokoa, toy ny fitahirizana angon-drakitra ao amin'ny foto-kevitra MVI.

Raha ny marina, vaovao tsara kokoa. Teo am-panoratana ny fifidianana dia navoaka ny fanavaozana ny tranomboky Kotlin Coroutines, izay nahitana ny kilasy. Flow - karazana analogue Flowable ΠΈ Observable avy amin'ny RxJava. Ny fanavaozana, raha ny marina, dia mameno ny endri-javatra coroutine amin'ny fomba fijerin'ny mpamorona fampiharana. Marina fa mbola misy toerana ho an'ny fampandrosoana: na dia eo aza ny zava-misy fa noho ny fanohanan'ny coroutines amin'ny kotlin/native, dia efa azo atao ny manoratra fampiharana multiplatform ao amin'ny Kotlin ary tsy mijaly noho ny tsy fisian'ny RxJava na ny analogues amin'ny Kotlin madio, fanohanana ny coroutines amin'ny kotlin/native dia tsy mbola feno. Ohatra, tsy misy hevitra momba ny mpilalao. Amin'ny ankapobeny, mikasa ny hanohana mpilalao sarotra kokoa amin'ny sehatra rehetra ny ekipa Kotlin.

Kotlin Coroutines - ahoana no anampian'izy ireo mpamorona Kotlin?

Ny Coroutines dia manome fahafahana lehibe hanoratana kaody azo vakina, azo tazomina ary azo antoka, tsy mifanandrify ary mifanandrify. Azonao atao ihany koa ny mamorona adaptatera ho an'ny rafitra asynchronous hafa sy fomba fiasa izay mety efa ampiasaina amin'ny codebase.

Inona no maha samy hafa ny Coroutine amin'ny kofehy?

Ny ekipa Kotlin dia manondro ny coroutine ho kofehy maivana. Fanampin'izay, ny coroutine dia afaka mamerina sanda sasany, satria, amin'ny fotony, ny coroutine dia kajy mihantona. Tsy miankina mivantana amin'ny kofehy rafitra izany, ny kofehy ihany no manatanteraka coroutines.

Inona avy ireo asa azo ampiharina azo vahana amin'ny fampiasana Corutin, izay tsy afaka na sarotra vahana amin'ny fampiasana Kotlin "madio"?

Izay asa asynchronous, parallèle, "mifaninana" dia voavaha tsara miaraka amin'ny fanampian'ny coroutines - na fanodinana kitika avy amin'ny mpampiasa izany, na mankany amin'ny tambajotra, na misoratra anarana amin'ny fanavaozana avy amin'ny angon-drakitra.

Ao amin'ny Kotlin madio, ireo asa ireo dia voavaha amin'ny fomba mitovy amin'ny Java - amin'ny fampiasana rafitra an'arivony, izay samy manana ny tombony sy ny fatiantoka, fa tsy misy amin'izy ireo manana fanohanana eo amin'ny sehatry ny fiteny.

Ho fehin-kevitra dia tokony holazaina fa ny safidy (sy ny taranja fototra koa) dia havaozina mifanaraka amin'ny fiovan'ny fepetra ivelany. Raha misy fanavaozana manan-danja amin'ny fiteny na rafitra, dia raisin'ny mpampianatra izany ary ovay ny programa. Izany rehetra izany dia ahafahanao manaraka ny fizotran'ny fampandrosoana, raha ny marina.

Source: www.habr.com

Add a comment