Construiți aceeași aplicație de două ori

Un rezumat al aplicațiilor de arhitectură și testare în Swift + Kotlin

( Eric Silverberg) (23 decembrie 2020)

În seria noastră despre (Clean MVVM), am împărtășit lecții din viața reală livrând un client mobil major pe mai multe platforme de mai bine de un deceniu. Clean MVVM este o abordare arhitecturală pentru construirea de aplicații consistente în Swift și Kotlin, pentru a maximiza reutilizarea arhitecturală și a proiectării codului. În cel mai bun caz, Clean MVVM vă permite să copiați și să inserați Swift în Kotlin sau Kotlin în Swift și să simplificați sintaxa.

Da, acest lucru va fi la test

Mai jos sunt punctele cheie ale tuturor articolelor din această serie, cu ajutor rezumat:

Arhitectură

  • Fluxul de control este: Vizualizare ➡ ViewModel ➡ Logică ➡ Repository ➡ API / Magazin
  • Utilizați fluxuri reactive atunci când comunicați modificări de stare între straturi
  • Clasele logice sunt fără stare și pot fi compuse
  • Clasele de depozitare au stare și ar trebui să fie singletonii globali injectați printr-un sistem DI
  • Modelele ar trebui să fie structuri sau clase sigilate care utilizează numai tipuri primitive
  • BehaviorSubject / LiveData / Property / sunt primitivele dvs. de acces pentru datele care trebuie să fie disponibile pe durata unui ecran și să fie modificate la intervale impredictibile
  • PublishSubject / Observable / SignalProducer / Publisher sunt pentru evenimente, de obicei ca urmare a introducerii utilizatorului
  • Single / Completable / SignalProducer / sunt pentru API-uri și apeluri către spațiul de stocare local

Testare

  • Utilizați injecția de dependență pentru construirea obiectelor în teste
  • Simulați doar clasele de nivel exterior – în principal API-urile de rețea
  • Structurați-vă testele în mod narrativ folosind BDD și reduceți numărul de afirmații pe test (în mod ideal, doar una)
  • Utilizați clasele TestObserver (sau echivalentul lor) pentru a evalua fluxurile asincrone

Încă un lucru …

Dacă sunteți un dezvoltator mobil care se bucură de arhitectura aplicațiilor, sunteți interesat să lucrați pentru un values-fir st companie de aplicații care deservește comunitatea queer, vorbește cu noi! Accesați https://www.scruff.com/en/careers pentru informații despre locuri de muncă la Perry Street Software .

Mai multe din serie

  • (Introducere MVVM curată)
  • (ViewModels în Swift & Kotlin)
  • (clase de logică în Swift & Kotlin)
  • (Repositorii și modele de domeniu în Swift & Kotlin)
  • (clase API în Swift & Kotlin)
  • (Vizualizări în Swift & Kotlin)
  • (Testarea MVVM în Swift & Kotlin)
  • (Testarea asincronicității în Swift & Kotlin)
  • (Rezumat MVVM curat) ← sunteți aici

Despre autor

Eric Silverberg este CEO și fondator al Perry Street Software , editorul a două dintre cele mai mari aplicații de întâlniri LGBTQ + din lume pe iOS și Android. El a livrat aplicații mobile din 2010 și a scris cod de la acel raport de carte de limba engleză din Hypertalk în 1995.