RxSwift û korûtînên li Kotlin - di pêşkeftina mobîl de ji AGIMA û GeekBrains vebijarkek hilbijartî

RxSwift û korûtînên li Kotlin - di pêşkeftina mobîl de ji AGIMA û GeekBrains vebijarkek hilbijartî

Zanîn baş e, tenê mezin e. Lê pratîk jî hewce ye da ku hûn daneyên wergirtî bikar bînin, wan ji statûya "hilanîna pasîf" veguherînin rewşa "bikaranîna çalak". Perwerdehiya teorîk çiqasî baş be jî, xebata "li qadê" dîsa jî hewce ye. Ya jor hema hema li her qada xwendinê, di nav de, bê guman, pêşkeftina nermalavê jî derbas dibe.

Vê salê, GeekBrains, wekî beşek ji fakulteya pêşkeftina mobîl a zanîngeha serhêl GeekUniversity, bi ajansa înteraktîf AGIMA re dest bi xebatê kir, ku tîmê wê pêşdebirên profesyonel in (ew projeyên tevlihev ên bargiraniyê, portalên pargîdanî û sepanên mobîl diafirînin, ew hemî). AGIMA û GeekBrains ji bo kûrbûnek kûr di mijarên pratîkî yên pêşkeftina serîlêdana mobîl de hilbijartiyek çêkiriye.

Roja din em bi Igor Vedeneev, pisporê iOS-ê, û Alexander Tizik, pisporê Android-ê re axivîn. Bi saya wan, bijarteya li ser pêşkeftina mobîl bi pratîkî hate dewlemend kirin qursa taybetî ya li ser çarçoveya RxSwift и korûtînên li Kotlin. Di vê gotarê de, pêşdebir li ser girîngiya her deverê ji bo bernamenûsan diaxivin.

Bernameya reaktîf di iOS-ê de RxSwift wekî mînak bikar tîne

RxSwift û korûtînên li Kotlin - di pêşkeftina mobîl de ji AGIMA û GeekBrains vebijarkek hilbijartî
Mamosteyê bijartî Igor Vedeneev: "Bi RxSwift, serlêdana we dê bifire"

Di dema dersa hilbijartî de xwendekar çi agahdarî digirin?

Em ne tenê li ser kapasîteyên çarçoveyê diaxivin, lê di heman demê de destnîşan dikin ka meriv wê çawa di kombînasyona MVVM + RxSwift ya klasîk de bikar tîne. Gelek mînakên pratîkî jî têne nîqaş kirin. Ji bo berhevkirina daneyên ku hatine bidestxistin, em serîlêdanek dinivîsin ku bi qasî ku gengaz nêzî şert û mercên xebata zeviyê ye. Ev dê bibe serîlêdana lêgerîna muzîkê ku bikar tîne iTunes Search API. Li wir em ê hemî Pratîkên çêtirîn bicîh bînin, û ji bo karanîna RxSwift di paradîgmaya MVC de vebijarkek hêsantir bifikirin.

RxSwift - çima bernamenûsek iOS hewcedarê vê çarçoveyê ye, ew çawa jiyanê ji pêşdebirek re hêsantir dike?

RxSwift rêkûpêk bi rûkên bûyerê û girêdanên di navbera tiştan de dixebite. Mînaka herî hêsan û eşkere girêdan e: Mînakî, hûn dikarin pêwendiyê nûve bikin bi tenê bi danîna nirxên nû di guherbarek di viewModel de. Bi vî rengî, navbeynkar bi daneyê dibe. Wekî din, RxSwift dihêle hûn pergalê bi şêwazek daxuyandî rave bikin, ku dihêle hûn koda xwe birêxistin bikin û xwendinê zêde bikin. Hemî ev dibe alîkar ku serîlêdanan bi bandortir pêşve bibin.

Ji bo pêşdebirek, zanîna çarçoweyê di heman demê de ji nû ve zêdeyek baş e, ji ber ku têgihiştina bernameya reaktîf, û nemaze ezmûna bi RxSwift re, di sûkê de tê nirx kirin.

Çima vê çarçoveya taybetî li ser yên din hilbijêre?

RxSwift xwedan civata herî mezin e. Ango, şansek mezintir heye ku pirsgirêka ku pêşdebir pê re rû bi rû ye jixwe ji hêla kesek ve hatî çareser kirin. Di heman demê de hejmareke mezin a girêdanên ji qutîkê. Wekî din, RxSwift beşek ReactiveX e. Ev tê vê wateyê ku ji bo Android-ê analogek heye, mînakî (RxJava, RxKotlin), û hevkarên di atolyeyê de dikarin bi heman zimanî bi hev re biaxivin, tevî ku hin bi iOS re, yên din bi Android re dixebitin.

Çarçove bi domdarî tê nûve kirin, xeletiyên piçûk têne rast kirin, piştgirî ji bo taybetmendiyên guhertoyên nû yên Swift-ê tê zêdekirin, û girêdanên nû têne zêdekirin. Ji ber ku RxSwift çavkaniyek vekirî ye, hûn dikarin hemî guhertinan bişopînin. Wekî din, gengaz e ku meriv wan bixwe zêde bike.

Divê RxSwift li ku derê were bikar anîn?

  1. Bindings. Wekî qaîdeyek, em li ser UI-yê dipeyivin, kapasîteya guheztina UI-yê, mîna ku bertek nîşanî guheztinên daneyê didin, û bi eşkere ji navbeynê re nabêjin ku wextê nûvekirinê ye.
  2. Têkiliya di navbera pêkhate û operasyonan de. Tenê mînakek. Pêdivî ye ku em navnîşek daneyan ji torê bistînin. Bi rastî, ev ne operasyonek wusa hêsan e. Ji bo vê yekê, hûn hewce ne ku daxwazek bişînin, bersivê di nav komek tiştan de nexşe bikin, wê li databasê hilînin û ji UI re bişînin. Wekî qaîdeyek, pêkhateyên cûda ji bo pêkanîna van operasyonan berpirsiyar in (em ji prensîban hez dikin û dişopînin LISERXWE?). Hebûna amûrek mîna RxSwift li ber dest, mimkun e ku meriv rave bike ku pergal dê çi bike, û ew ê ÇAWA bike dê li cîhên din be. Ji ber vê yekê ye ku baştir organîzekirina kodê tête peyda kirin û xwendin zêde dibe. Bi nisbî dipeyivî, kod dikare di nav tabloyek naverokê û pirtûkê bixwe de were dabeş kirin.

Korotîn li Kotlin

RxSwift û korûtînên li Kotlin - di pêşkeftina mobîl de ji AGIMA û GeekBrains vebijarkek hilbijartî
Mamosteyê dersa hilbijartî Alexander Tizik: "Pêşveçûna nûjen amûrên teknîkî yên nûjen hewce dike"

Dê li fakulteya GeekBrains wekî beşek çaryeka branded çi were fêr kirin?

Teorî, danberhevên bi nêzîkatiyên din re, mînakên pratîkî yên di Kotlina paqij û di modela serîlêdana Android-ê de. Di warê pratîkê de, dê ji xwendekaran re serîlêdanek were nîşandan ku tê de her tişt bi kortînan ve girêdayî ye. Rastî ev e ku pir serîlêdan bi tevahî asynchronous û hesabkirina paralel in. Lê kortûnên Kotlin dihêle ku kodek tevlihev, heterojen an zêde tevlihev û performansê-daxwaz bi rengek yekane, têgihîştinek hêsan were kêm kirin, di pêkanîn û performansa rast de sûd werbigire.

Em ê fêr bibin ku koda îdyomatîk di kortînan de binivîsin ku pirsgirêkên pratîkî çareser dike û di nihêrîna pêşîn de tê fêm kirin jî bêyî zanîna kûr a ka çawa korûtîn dixebitin (ya ku li ser pirtûkxaneyên mîna RxJava nayê gotin). Em ê her weha fam bikin ka meriv çawa têgînên tevlihevtir, wek modela lîstikvan, bikar tîne da ku pirsgirêkên tevlihevtir çareser bike, wek mînak depoya daneyê di konsepta MVI de.

Bi awayê, bêtir nûçeyên baş. Dema ku bijartî dihat tomarkirin, nûvekirinek ji pirtûkxaneya Kotlin Coroutines re hate berdan, ku tê de ders xuya bû. Flow - analoga cureyan Flowable и Observable ji RxJava. Nûvekirin di bingeh de ji hêla pêşdebirê serîlêdanê ve taybetmendiya korûtîn temam dike. Rast e, hîn jî cîh ji bo pêşkeftinê heye: tevî vê rastiyê ku, bi saya piştgirîya korûtînên di kotlin/xwecihî de, jixwe gengaz e ku meriv serîlêdanên pir-platformê li Kotlin binivîsîne û ji kêmbûna RxJava an analogan di Kotlina safî de cefayê negire. , Piştgiriya ji bo korûtînên li kotlin/xwecihî hîn ne temam bûye. Mînak têgîna lîstikvanan tune. Bi gelemperî, tîmê Kotlin plan heye ku li ser hemî platforman piştgirî bide aktorên tevlihevtir.

Kotlin Coroutines - ew çawa alîkariya pêşdebirek Kotlin dikin?

Coroutine ji bo nivîsandina kodek ku tê xwendin, parastin û ewledar, asynchronous û hevdemî ye fersendek mezin peyda dike. Her weha hûn dikarin ji bo çarçove û nêzîkatiyên din ên asynkron ên ku jixwe di bingeha kodê de têne bikar anîn adaptoran biafirînin.

Coroutines ji têlan çawa cûda ne?

Tîma Kotlin ji korûtînan re têlên sivik dibêjin. Zêdetir, korûtînek dikare hin nirxê vegerîne, ji ber ku, di bingehê xwe de, korûtînek hesabek rawestandî ye. Ew rasterast bi mijarên pergalê ve ne girêdayî ye; Mijar tenê korûtînan pêk tînin.

Kîjan pirsgirêkên pratîkî dikarin bi karanîna Coroutine werin çareser kirin, ku bi karanîna Kotlina "paqij" nayê çareser kirin an jî dijwar e?

Her peywirên asynkron, paralel, "hevrikî" bi karanîna kortûnan baş têne çareser kirin - ew be ku ew klîkên bikarhêner hilîne, çûna serhêl, an jî endambûna nûvekirinên ji databasê be.

Di Kotlina safî de, ev pirsgirêk bi heman awayê wekî Java-yê têne çareser kirin - bi alîkariya hezaran çarçove, ku her yek ji wan erênî û neyînîyên xwe hene, lê yek ji wan piştgirîya asta zimanî nake.

Wek encam, hêjayî gotinê ye ku herdu dersên bijartî (û dersên sereke jî) li gorî guhertinên şert û mercên derve têne nûve kirin. Ger nûvekirinên girîng di ziman an çarçowe de xuya bibin, mamoste vê yekê hesab dikin û bernameyê diguhezînin. Hemî ev dihêle hûn tiliya xwe li ser pêvajoya pêşveçûnê bihêlin, da ku biaxivin.

Source: www.habr.com

Add a comment