RxSwift a Coroutines zu Kotlin - e Wahlprogramm an der mobiler Entwécklung vun AGIMA a GeekBrains

RxSwift a Coroutines zu Kotlin - e Wahlprogramm an der mobiler Entwécklung vun AGIMA a GeekBrains

Wëssen ass gutt, just super. Awer Praxis ass och gebraucht fir datt Dir déi kritt Donnéeën benotze kënnt, se vum Status "passiv Späicheren" op de Status "aktive Gebrauch" transferéieren. Egal wéi gutt déi theoretesch Ausbildung ass, Aarbecht "am Feld" ass nach ëmmer néideg. Dat hei uewen gëlt fir bal all Studieberäich, och natierlech Softwareentwécklung.

Dëst Joer huet GeekBrains, als Deel vun der mobiler Entwécklungsfakultéit vun der Online Uni GeekUniversity, ugefaang mat der interaktiver Agence AGIMA ze schaffen, där hir Team professionnell Entwéckler ass (si kreéieren komplex High-load Projeten, Firmenportalen a mobilen Uwendungen, dat ass alles). AGIMA a GeekBrains hunn e Wahlprogramm erstallt fir en déif Tauchen an déi praktesch Themen vun der mobiler Applikatioun Entwécklung.

Den aneren Dag hu mir mam Igor Vedeneev geschwat, engem iOS Spezialist, an dem Alexander Tizik, spezialiséiert op Android. Dank hinnen gouf d'Walkfass iwwer mobil Entwécklung mat praktesch beräichert spezielle Cours iwwer de RxSwift Kader и Coroutinen zu Kotlin. An dësem Artikel schwätzen d'Entwéckler iwwer d'Wichtegkeet vun all Gebitt fir Programméierer.

Reaktiv Programméierung am iOS mat RxSwift als Beispill

RxSwift a Coroutines zu Kotlin - e Wahlprogramm an der mobiler Entwécklung vun AGIMA a GeekBrains
Wahlpflichtfach Igor Vedeneev: "Mat RxSwift flitt Är Demande"

Wéi eng Informatioun kréien d'Schüler während dem Wahlpflicht?

Mir schwätzen net nëmmen iwwer d'Fähigkeiten vum Kader, awer och weisen wéi et an der klassescher Kombinatioun MVVM + RxSwift benotzt gëtt. Verschidde praktesch Beispiller ginn och diskutéiert. Fir d'Donnéeën ze konsolidéieren, schreiwen mir eng Applikatioun déi sou no wéi méiglech un d'Feldbetribsbedéngungen ass. Dëst wäert eng Musek Sich Applikatioun benotzen iTunes Sich API. Do wäerte mir all Best Practices uwenden, plus betruecht eng méi einfach Optioun fir RxSwift am MVC Paradigma ze benotzen.

RxSwift - firwat brauch en iOS Programméierer dëse Kader, wéi mécht et d'Liewen méi einfach fir en Entwéckler?

RxSwift streamlines Aarbecht mat Event Streams a Verbindungen tëscht Objeten. Dat einfachst an offensichtlechst Beispill ass Bindungen: zum Beispill kënnt Dir d'Interface aktualiséieren andeems Dir nei Wäerter an enger Variabel am ViewModel setzt. Sou gëtt d'Interface date-driven. Zousätzlech erlaabt RxSwift Iech de System an engem deklarativen Stil ze beschreiwen, wat Iech erlaabt Äre Code z'organiséieren an d'Liesbarkeet ze erhéijen. All dëst hëlleft Uwendungen méi effizient z'entwéckelen.

Fir en Entwéckler ass d'Wësse vum Kader och e gudde Plus op engem CV, well e Verständnis vun der reaktiver Programméierung, a besonnesch d'Erfahrung mat RxSwift, um Maart geschätzt gëtt.

Firwat dëse bestëmmte Kader iwwer anerer wielen?

RxSwift huet déi gréisste Gemeinschaft. Dat ass, et ass eng méi grouss Chance datt de Problem deen den Entwéckler konfrontéiert scho vun engem geléist gouf. Och eng grouss Zuel vu Bindungen aus der Këscht. Ausserdeem ass RxSwift Deel vun ReactiveX. Dat heescht, datt et en Analog fir Android gëtt, zum Beispill (RxJava, RxKotlin), a Kollegen am Atelier kënnen déi selwecht Sprooch matenee schwätzen, trotz der Tatsaach, datt e puer mat iOS schaffen, anerer mat Android.

De Kader gëtt permanent aktualiséiert, kleng Bugs ginn korrigéiert, Ënnerstëtzung fir Features vun neie Versioune vu Swift gëtt bäigefüügt, an nei Bindungen ginn derbäi. Zënter RxSwift ass Open Source, kënnt Dir all Ännerungen verfollegen. Ausserdeem ass et méiglech se selwer ze addéieren.

Wou soll RxSwift benotzt ginn?

  1. Bindungen. Als Regel schwätze mir iwwer d'UI, d'Fäegkeet fir den UI z'änneren, wéi wann Dir op Datenännerungen reagéiert, an net explizit d'Interface soen datt et Zäit ass ze aktualiséieren.
  2. Relatioun tëscht Komponente an Operatiounen. Just e Beispill. Mir mussen eng Lëscht vun Daten aus dem Netz kréien. Tatsächlech ass dëst net sou eng einfach Operatioun. Fir dëst ze maachen, musst Dir eng Ufro schécken, d'Äntwert an eng Rei vun Objeten mapen, se an d'Datebank späicheren an an d'UI schécken. Normalerweis si verschidde Komponenten verantwortlech fir dës Operatiounen auszeféieren (mir Léift a befollegen d'Prinzipien SOLID?). En Tool wéi RxSwift bei der Hand ze hunn, gëtt et méiglech ze beschreiwen WAT de System wäert maachen, a WÉI et wäert maachen et wäert op anere Plazen sinn. Et ass wéinst dësem datt eng besser Organisatioun vum Code erreecht gëtt an d'Liesbarkeet eropgeet. Relativ gesinn kann de Code an en Inhaltsverzeechnes an d'Buch selwer opgedeelt ginn.

Coroutines zu Kotlin

RxSwift a Coroutines zu Kotlin - e Wahlprogramm an der mobiler Entwécklung vun AGIMA a GeekBrains
Wahlpflichtfach Alexander Tizik: "Modern Entwécklung erfuerdert modern technesch Mëttelen"

Wat gëtt op der GeekBrains Fakultéit als Deel vum Marke Quartier geléiert?

Theorie, Vergläicher mat aneren Approchen, praktesch Beispiller am pure Kotlin an am Android Applikatiounsmodell. Wat d'Praxis ugeet, kréien d'Studenten eng Applikatioun gewisen, an där alles u Coroutine gebonnen ass. D'Tatsaach ass datt déi meescht Uwendungen komplett asynchron a parallel Rechen sinn. Awer Kotlin Coroutines erlaben duerchernee, heterogen oder iwwerdriwwe komplex a leeschtungsfuerderend Code op een eenzegen, einfach ze verstoen Stil reduzéiert ginn, Virdeeler an der korrekter Ausféierung an der Leeschtung ze kréien.

Mir léiere idiomatesche Code a Coroutines ze schreiwen, dee praktesch Probleemer léist an op den éischte Bléck verständlech ass och ouni déif Wëssen iwwer wéi Coroutines funktionnéieren (wat net iwwer Bibliothéiken wéi RxJava gesot ka ginn). Mir wäerten och verstoen wéi Dir méi komplex Konzepter benotzt, sou wéi de Schauspillermodell, fir méi komplex Probleemer ze léisen, sou wéi d'Datelager am MVI-Konzept.

Iwwregens, méi gutt Neiegkeeten. Wärend de Wahlpflicht opgeholl gouf, gouf en Update vun der Kotlin Coroutines Bibliothéik verëffentlecht, an där d'Klass erschéngt Flow - Analog vun Typen Flowable и Observable vun RxJava. Den Update mécht wesentlech Coroutines Feature komplett aus der Siicht vum Applikatioun Entwéckler. Richteg, et gëtt nach ëmmer Plaz fir Verbesserung: trotz der Tatsaach, datt dank der Ënnerstëtzung vu Coroutines am Kotlin / native, ass et scho méiglech Multi-Plattform Uwendungen zu Kotlin ze schreiwen an net ënner dem Mangel u RxJava oder Analoga am pure Kotlin ze leiden, Ënnerstëtzung fir Coroutines a Kotlin / gebierteg ass nach net komplett. Zum Beispill gëtt et kee Konzept vun Akteuren. Am Allgemengen huet d'Kotlin Team Pläng fir méi komplex Akteuren op all Plattformen z'ënnerstëtzen.

Kotlin Coroutines - wéi hëllefen se engem Kotlin Entwéckler?

Coroutines bidden eng super Geleeënheet fir Code ze schreiwen dee liesbar, erhalebar a sécher ass, asynchron a concurrency. Dir kënnt och Adaptere fir aner asynchrone Kaderen an Approche erstellen, déi schonn an der Codebase benotzt kënne ginn.

Wéi ënnerscheede Coroutines vun Threads?

D'Kotlin Team nennt Coroutines liichtgewiicht thread. Plus, eng Coroutine kann eng Aart vu Wäert zréckginn, well, am Kär, eng Coroutine eng suspendéiert Berechnung ass. Et hänkt net direkt vu Systemthreads of; Threads féieren nëmmen Coroutines aus.

Wéi eng praktesch Problemer kënne mat Coroutine geléist ginn, déi net oder schwéier mat "rengen" Kotlin ze léisen?

All asynchron, parallel, "kompetitiv" Aufgabe si gutt mat Hëllef vu Coroutines geléist - sief et d'Veraarbechtung vu Benotzerklicken, online goen oder Iech op Updates vun enger Datebank abonnéieren.

Am pure Kotlin ginn dës Probleemer op déiselwecht Manéier geléist wéi am Java - mat der Hëllef vun Dausende vu Kaderen, déi jidderee seng eegen Virdeeler an Nodeeler huet, awer keen vun hinnen huet Sproochniveau Ënnerstëtzung.

Als Conclusioun ass et derwäert ze soen datt béid Wahlstudien (an och d'Haaptcourse) am Aklang mat Ännerungen an externen Konditiounen aktualiséiert ginn. Wa wichteg Aktualiséierungen a Sproochen oder Kaderen erschéngen, huelen d'Enseignanten dëst Rechnung an änneren de Programm. All dëst erlaabt Iech Äre Fanger um Puls vum Entwécklungsprozess ze halen, souzesoen.

Source: will.com

Setzt e Commentaire