RxSwift lan coroutine ing Kotlin - pilihan ing pangembangan seluler saka AGIMA lan GeekBrains

RxSwift lan coroutine ing Kotlin - pilihan ing pangembangan seluler saka AGIMA lan GeekBrains

Kawruh iku apik, mung apik. Nanging latihan uga dibutuhake supaya sampeyan bisa nggunakake data sing ditampa, nransfer saka status "panyimpenan pasif" menyang status "panggunaan aktif". Ora ketompo carane apik latihan teori, karya "ing lapangan" isih dibutuhake. Ing ndhuwur ditrapake kanggo meh kabeh bidang studi, kalebu, mesthi, pangembangan piranti lunak.

Taun iki, GeekBrains, minangka bagéan saka fakultas pangembangan seluler universitas online GeekUniversity, wiwit nggarap agensi interaktif AGIMA, sing timnya minangka pangembang profesional (dheweke nggawe proyek beban dhuwur sing rumit, portal perusahaan lan aplikasi seluler, iku kabeh). AGIMA lan GeekBrains wis nggawe pilihan kanggo nyilem jero babagan masalah praktis pangembangan aplikasi seluler.

Ing dina liyane kita ngomong karo Igor Vedeneev, spesialis iOS, lan Alexander Tizik, spesialis ing Android. Thanks kanggo wong-wong mau, pilihan babagan pangembangan seluler diperkaya kanthi praktis kursus khusus ing framework RxSwift и coroutines ing Kotlin. Ing artikel iki, pangembang ngomong babagan pentinge saben wilayah kanggo programer.

Pemrograman reaktif ing iOS nggunakake RxSwift minangka conto

RxSwift lan coroutine ing Kotlin - pilihan ing pangembangan seluler saka AGIMA lan GeekBrains
Guru pilihan Igor Vedeneev: "Kanthi RxSwift, aplikasi sampeyan bakal mabur"

Informasi apa sing ditampa siswa sajrone elektif?

Kita ngomong ora mung babagan kemampuan framework, nanging uga nuduhake carane nggunakake ing MVVM klasik + kombinasi RxSwift. Sawetara conto praktis uga dibahas. Kanggo nggabungake data sing dipikolehi, kita nulis aplikasi sing cedhak karo kahanan operasi lapangan. Iki bakal dadi aplikasi telusuran musik nggunakake iTunes Search API. Ing kana kita bakal ngetrapake kabeh Praktek Paling Apik, uga nimbang pilihan sing luwih gampang kanggo nggunakake RxSwift ing paradigma MVC.

RxSwift - kok programmer iOS perlu framework iki, carane nggawe urip luwih gampang kanggo pangembang?

RxSwift streamlines bisa karo aliran acara lan sambungan antarane obyek. Conto sing paling gampang lan paling jelas yaiku bindings: contone, sampeyan bisa nganyari antarmuka kanthi mung nyetel nilai anyar ing variabel ing viewModel. Mangkono, antarmuka dadi data-driven. Kajaba iku, RxSwift ngijini sampeyan kanggo njlèntrèhaké sistem ing gaya deklaratif, sing ngijini sampeyan kanggo ngatur kode lan nambah readability. Kabeh iki mbantu ngembangake aplikasi kanthi luwih efisien.

Kanggo pangembang, kawruh framework uga plus apik ing resume, wiwit pangerten program reaktif, lan utamané pengalaman karo RxSwift, rego ing pasar.

Napa milih kerangka tartamtu iki tinimbang liyane?

RxSwift nduwe komunitas paling gedhe. Tegese, ana kemungkinan luwih gedhe yen masalah sing diadhepi pangembang wis dirampungake dening wong liya. Uga nomer akeh bindings metu saka kothak. Kajaba iku, RxSwift minangka bagean saka ReactiveX. Iki tegese ana analog kanggo Android, contone (RxJava, RxKotlin), lan kolega ing workshop bisa ngomong basa sing padha karo saben liyane, senadyan kasunyatan sing sawetara karya karo iOS, liyane karo Android.

Kerangka kasebut terus dianyari, kewan omo cilik didandani, dhukungan kanggo fitur saka versi Swift anyar ditambahake, lan binding anyar ditambahake. Wiwit RxSwift mbukak sumber, sampeyan bisa ngetutake kabeh owah-owahan. Kajaba iku, sampeyan bisa nambah dhewe.

Ngendi RxSwift kudu digunakake?

  1. Bindings. Minangka aturan, kita ngomong babagan UI, kemampuan kanggo ngganti UI, kaya-kaya nanggepi owah-owahan data, lan ora kanthi tegas ngandhani antarmuka yen wektune kanggo nganyari.
  2. Hubungan antarane komponen lan operasi. Mung conto. Kita kudu entuk dhaptar data saka jaringan. Nyatane, iki dudu operasi sing gampang. Kanggo nindakake iki, sampeyan kudu ngirim panjalukan, peta respon menyang Uploaded obyek, nyimpen menyang database lan ngirim menyang UI. Minangka aturan, macem-macem komponen tanggung jawab kanggo nindakake operasi kasebut (kita tresna lan tindakake prinsip SOLID?). Duwe alat kaya RxSwift ing tangan, dadi bisa kanggo njlèntrèhaké APA sistem bakal nindakake, lan CARA bakal nindakake iku bakal ing panggonan liyane. Amarga iki, organisasi kode sing luwih apik bisa digayuh lan keterbacaan mundhak. Relatif, kode kasebut bisa dipérang dadi daftar isi lan buku kasebut.

Coroutines ing Kotlin

RxSwift lan coroutine ing Kotlin - pilihan ing pangembangan seluler saka AGIMA lan GeekBrains
Guru kursus pilihan Alexander Tizik: "Pengembangan modern mbutuhake sarana teknis modern"

Apa sing bakal diwulangake ing fakultas GeekBrains minangka bagean saka kuartal bermerek?

Teori, mbandhingake karo pendekatan liyane, conto praktis ing Kotlin murni lan ing model aplikasi Android. Kanggo latihan, siswa bakal ditampilake aplikasi sing kabeh diikat karo coroutine. Kasunyatane, umume aplikasi pancen ora sinkron lan komputasi paralel. Nanging coroutine Kotlin ngidini kode sing mbingungake, heterogen utawa rumit banget lan nuntut kinerja dikurangi dadi gaya siji sing gampang dimangerteni, entuk keuntungan ing eksekusi lan kinerja sing bener.

Kita bakal sinau nulis kode idiomatik ing coroutines sing ngrampungake masalah praktis lan bisa dimangerteni sepisanan sanajan tanpa kawruh jero babagan cara kerja coroutine (sing ora bisa dicritakake babagan perpustakaan kaya RxJava). Kita uga bakal ngerti carane nggunakake konsep sing luwih rumit, kayata model aktor, kanggo ngatasi masalah sing luwih rumit, kayata gudang data ing konsep MVI.

Miturut cara, kabar apik liyane. Nalika elektif direkam, nganyari perpustakaan Kotlin Coroutines dirilis, ing ngendi kelas kasebut katon. Flow - jinis analog Flowable и Observable saka RxJava. Nganyari kasebut ndadekake fitur coroutine lengkap saka sudut pandang pangembang aplikasi. Bener, isih ana ruang kanggo dandan: sanajan kasunyatane amarga dhukungan saka coroutine ing kotlin / native, wis bisa nulis aplikasi multi-platform ing Kotlin lan ora nandhang kekurangan RxJava utawa analog ing Kotlin murni, dhukungan kanggo coroutines ing kotlin / native durung rampung. Contone, ora ana konsep aktor. Umumé, tim Kotlin duwe rencana kanggo ndhukung aktor sing luwih rumit ing kabeh platform.

Kotlin Coroutines - kepiye carane mbantu pangembang Kotlin?

Coroutines nyedhiyakake kesempatan sing apik kanggo nulis kode sing bisa diwaca, dijaga, lan aman, ora sinkron, lan konkurensi. Sampeyan uga bisa nggawe adaptor kanggo kerangka kerja lan pendekatan asinkron liyane sing bisa digunakake ing basis kode.

Kepiye Coroutine beda karo benang?

Tim Kotlin nelpon coroutines benang entheng. Kajaba iku, coroutine bisa ngasilake sawetara nilai, amarga, ing inti, coroutine minangka pitungan sing digantung. Ora langsung gumantung ing utas sistem; utas mung nglakokake coroutine.

Masalah praktis apa sing bisa ditanggulangi nggunakake Coroutine, sing ora bisa utawa angel diatasi nggunakake Kotlin "murni"?

Sembarang tugas asynchronous, paralel, "kompetitif" ditanggulangi kanthi apik nggunakake coroutine - bisa uga ngolah klik pangguna, online, utawa langganan nganyari saka database.

Ing Kotlin murni, masalah iki ditanggulangi kanthi cara sing padha kaya ing Jawa - kanthi bantuan ewu kerangka, sing saben duwe pro lan kontra, nanging ora ana sing ndhukung tingkat basa.

Minangka kesimpulan, kudu dikandhakake yen loro pilihan (lan kursus utama uga) dianyari sesuai karo owah-owahan ing kahanan njaba. Yen nganyari penting katon ing basa utawa kerangka kerja, guru nggatekake lan ngowahi program kasebut. Kabeh iki ngidini sampeyan tetep driji ing pulsa proses pangembangan, supaya bisa ngomong.

Source: www.habr.com

Add a comment