RxSwift és korutinok Kotlinban – választható tárgy a mobilfejlesztésben az AGIMA-tól és a GeekBrains-től

RxSwift és korutinok Kotlinban – választható tárgy a mobilfejlesztésben az AGIMA-tól és a GeekBrains-től

A tudás jó, csak nagyszerű. De gyakorlásra is szükség van, hogy a kapott adatokat felhasználhassuk, „passzív tárolás” állapotból „aktív használat” állapotba vigyük át. Bármilyen jó is az elméleti képzés, a „terepen” munka továbbra is szükséges. A fentiek szinte minden tudományterületre vonatkoznak, beleértve természetesen a szoftverfejlesztést is.

Idén a GeekBrains a GeekUniversity online egyetem mobilfejlesztő karának részeként megkezdte az együttműködést az AGIMA interaktív ügynökséggel, amelynek csapata professzionális fejlesztők (komplex, nagy terhelésű projekteket, vállalati portálokat és mobilalkalmazásokat készítenek, ez minden). Az AGIMA és a GeekBrains egy választható tananyagot készített a mobilalkalmazás-fejlesztés gyakorlati kérdéseinek mélyreható elmerüléséhez.

A minap beszélgettünk Igor Vedeneev iOS-specialistával és Alexander Tizikvel, aki Androidra szakosodott. Nekik köszönhetően gyakorlatiassággal gazdagodott a mobilfejlesztésről szóló választható tananyag speciális tanfolyam az RxSwift keretrendszerről и korutinok Kotlinban. Ebben a cikkben a fejlesztők az egyes területek fontosságáról beszélnek a programozók számára.

Reaktív programozás iOS-ben, példaként az RxSwift használatával

RxSwift és korutinok Kotlinban – választható tárgy a mobilfejlesztésben az AGIMA-tól és a GeekBrains-től
Választható tanár, Igor Vedeneev: „Az RxSwifttel a jelentkezésed beindul”

Milyen információkat kapnak a hallgatók a szabadon választott tanév során?

Nemcsak a keretrendszer képességeiről beszélünk, hanem bemutatjuk, hogyan kell használni a klasszikus MVVM + RxSwift kombinációban. Számos gyakorlati példa is szóba kerül. A kapott adatok konszolidálására olyan alkalmazást írunk, amely a lehető legközelebb áll a terepi üzemi feltételekhez. Ez egy zenekereső alkalmazás lesz iTunes Search API. Itt alkalmazzuk az összes bevált gyakorlatot, valamint fontolóra veszünk egy egyszerűbb lehetőséget az RxSwift használatára az MVC paradigmában.

RxSwift – miért kell egy iOS programozónak ez a keretrendszer, hogyan könnyíti meg a fejlesztő életét?

Az RxSwift áramvonalak eseményfolyamokkal és objektumok közötti kapcsolatokkal működnek. A legegyszerűbb és legnyilvánvalóbb példa a kötések: például frissítheti a felületet úgy, hogy egyszerűen új értékeket állít be egy változóba a viewModelben. Így az interfész adatvezéreltté válik. Ezenkívül az RxSwift lehetővé teszi a rendszer deklaratív stílusban történő leírását, amely lehetővé teszi a kód rendszerezését és az olvashatóság növelését. Mindez segíti az alkalmazások hatékonyabb fejlesztését.

Egy fejlesztő számára a keretrendszer ismerete is jó pluszt jelent az önéletrajznál, mivel a reaktív programozás megértését, és különösen az RxSwifttel kapcsolatos tapasztalatokat a piacon értékelik.

Miért válassza ezt a keretrendszert másokkal szemben?

Az RxSwift rendelkezik a legnagyobb közösséggel. Vagyis nagyobb az esélye annak, hogy a fejlesztő előtt álló problémát valaki már megoldotta. Szintén nagy számú kötés a dobozból. Ezenkívül az RxSwift a ReactiveX része. Ez azt jelenti, hogy van analóg például Androidra (RxJava, RxKotlin), és a műhelyben dolgozó kollégák ugyanazt a nyelvet beszélhetik egymással, annak ellenére, hogy egyesek iOS, mások Android rendszerrel dolgoznak.

A keretrendszert folyamatosan frissítik, a kisebb hibákat kijavítják, a Swift új verzióiból származó funkciók támogatását adják hozzá, és új kötéseket adnak hozzá. Mivel az RxSwift nyílt forráskódú, nyomon követheti az összes változást. Ezenkívül saját maga is hozzáadhatja őket.

Hol kell használni az RxSwiftet?

  1. Kötések. Általános szabály, hogy a felhasználói felületről beszélünk, a felhasználói felület megváltoztatásának lehetőségéről, mintha reagálnánk az adatok változásaira, és nem kifejezetten azt mondjuk a felületnek, hogy ideje frissíteni.
  2. Összetevők és műveletek kapcsolata. Csak egy példa. Meg kell szereznünk egy listát az adatokról a hálózatról. Valójában ez nem olyan egyszerű művelet. Ehhez el kell küldenie egy kérést, le kell képeznie a választ egy objektumtömbbe, el kell mentenie az adatbázisba, és el kell küldenie a felhasználói felületre. Ezeknek a műveleteknek a végrehajtásáért általában különböző összetevők felelősek (szeretjük és követjük az elveket SZILÁRD?). Ha kéznél van egy olyan eszköz, mint az RxSwift, lehetővé válik, hogy leírjuk, MIT fog csinálni a rendszer, és HOGYAN fog más helyeken csinálni. Ennek köszönhető, hogy a kód jobb szervezése és olvashatósága javul. Relatív értelemben a kód felosztható egy tartalomjegyzékre és magára a könyvre.

Korutin Kotlinban

RxSwift és korutinok Kotlinban – választható tárgy a mobilfejlesztésben az AGIMA-tól és a GeekBrains-től
Választható kurzusoktató Tizik Sándor: „A korszerű fejlődéshez modern technikai eszközökre van szükség”

Mit fognak tanítani a GeekBrains karán a márkanegyed részeként?

Elmélet, összehasonlítások más megközelítésekkel, gyakorlati példák a tiszta Kotlinban és az Android alkalmazásmodellben. Ami a gyakorlatot illeti, a hallgatóknak egy olyan alkalmazást mutatnak be, amelyben minden korutinokhoz kötődik. Az a tény, hogy a legtöbb alkalmazás teljesen aszinkron és párhuzamos számítástechnika. A Kotlin-korutinok azonban lehetővé teszik a zavaros, heterogén vagy túlságosan összetett és teljesítményigényes kódok egyetlen, könnyen érthető stílussá redukálását, ami a helyes végrehajtás és teljesítmény előnyeit élvezi.

Megtanulunk olyan idiomatikus kódot írni korutinokban, amelyek gyakorlati problémákat oldanak meg, és első pillantásra érthetőek a korutinok működésének mélyreható ismerete nélkül is (ami nem mondható el az olyan könyvtárakról, mint az RxJava). Meg fogjuk érteni azt is, hogyan használhatunk bonyolultabb fogalmakat, például az aktor modellt összetettebb problémák megoldására, mint például az adattárház az MVI koncepcióban.

Mellesleg még több jó hír. Amíg a szabadon választható tárgy felvétele zajlott, megjelent a Kotlin Coroutines könyvtár frissítése, amelyben megjelent az osztály Flow - típusok analógja Flowable и Observable az RxJava-tól. A frissítés lényegében teljessé teszi a korutin funkciót az alkalmazásfejlesztő szemszögéből. Igaz, van még hova fejlődni: annak ellenére, hogy a kotlin/native korutin támogatásának köszönhetően már lehet többplatformos alkalmazásokat írni Kotlinban, és nem szenved az RxJava vagy analógok hiányától a tiszta Kotlinben, a korutinok támogatása a kotlin/native nyelvben még nem teljes. Például nincs színészfogalom. Általánosságban elmondható, hogy a Kotlin csapata azt tervezi, hogy összetettebb szereplőket támogasson minden platformon.

Kotlin Coroutines – hogyan segítenek egy Kotlin fejlesztőnek?

A korutinok nagyszerű lehetőséget biztosítanak olvasható, karbantartható és biztonságos, aszinkron és egyidejű kód írására. Adaptereket is létrehozhat más aszinkron keretrendszerekhez és megközelítésekhez, amelyek már használhatók a kódbázisban.

Miben különböznek a korutinok a szálaktól?

A Kotlin csapata a korutint könnyű szálnak nevezi. Ráadásul a korutin visszaadhat némi értéket, mivel a korutin lényegében egy felfüggesztett számítás. Nem függ közvetlenül a rendszerszálaktól, a szálak csak korutinokat hajtanak végre.

Milyen gyakorlati problémákat lehet megoldani a Coroutine segítségével, amelyeket nem vagy nehéz megoldani „tiszta” Kotlin használatával?

Bármilyen aszinkron, párhuzamos, „versenyképes” feladat jól megoldható a korutinok segítségével – legyen az a felhasználói kattintások feldolgozása, az internetezés, vagy az adatbázis frissítéseire való feliratkozás.

A tiszta Kotlinban ezek a problémák ugyanúgy megoldódnak, mint a Java-ban - több ezer keretrendszer segítségével, amelyek mindegyikének megvannak a maga előnyei és hátrányai, de egyik sem rendelkezik nyelvi szintű támogatással.

Konklúzióként érdemes elmondani, hogy a szabadon választható tárgyak (és a főtárgyak is) a külső körülmények változásának megfelelően frissülnek. Ha fontos frissítések jelennek meg a nyelvekben vagy keretrendszerekben, a tanárok ezt figyelembe veszik és módosítják a programot. Mindez lehetővé teszi, hogy úgymond a fejlesztési folyamat pulzusán tartsa az ujját.

Forrás: will.com

Hozzászólás