Crea la stessa app due volte

Un riepilogo dellarchitettura e dei test delle app in Swift + Kotlin

( Eric Silverberg) (23 dicembre 2020)

Nella nostra serie su (Clean MVVM), abbiamo condiviso lezioni di vita reale distribuendo un importante client mobile su più piattaforme per oltre un decennio. Clean MVVM è un approccio architettonico per la creazione di app coerenti in Swift e Kotlin, per massimizzare il riutilizzo della progettazione architettonica e del codice. Nella migliore delle ipotesi, Clean MVVM ti consente di copiare e incollare Swift in Kotlin o Kotlin in Swift e modificare semplicemente la sintassi.

Sì, sarà in prova

Di seguito sono riportati i punti chiave di tutti gli articoli di questa serie, utilmente riepilogato:

Architettura

  • Il flusso di controllo è: Visualizza ➡ ViewModel ➡ Logica ➡ Repository ➡ API / Store
  • Usa flussi reattivi quando comunichi i cambiamenti di stato tra i livelli
  • Le classi logiche sono senza stato e possono essere composte
  • Le classi del repository hanno uno stato e dovrebbero essere singleton globali iniettate tramite un sistema DI
  • I modelli devono essere strutture o classi sealed che utilizzano solo tipi primitivi
  • BehaviorSubject / LiveData / Property / sono le tue primitive di riferimento per i dati che devono essere disponibili per la durata di una schermata e le modifiche a intervalli imprevedibili
  • PublishSubject / Observable / SignalProducer / Publisher sono per eventi, generalmente come risultato dellinput dellutente
  • Single / Completable / SignalProducer / AnyPublisher sono per le API e le chiamate allarchiviazione locale

Test

  • Usa linserimento delle dipendenze per la costruzione di oggetti nei test
  • Solo simulazioni di classi di livello esterno, principalmente API di rete
  • Struttura i tuoi test in modo narrativo utilizzando BDD e minimizza il numero di asserzioni per test (idealmente solo una)
  • Usa le classi TestObserver (o il loro equivalente) per valutare i flussi asincroni

Unaltra cosa …

Se sei uno sviluppatore mobile a cui piace larchitettura delle app, sei interessato a lavorare per un valori-fir st azienda di app al servizio della comunità queer, parlaci! Visita https://www.scruff.com/en/careers per informazioni sui lavori presso Perry Street Software .

Altro nella serie

  • (Clean MVVM Intro)
  • (ViewModels in Swift & Kotlin)
  • (Classi logiche in Swift & Kotlin)
  • (Archivi e modelli di dominio in Swift & Kotlin)
  • (classi API in Swift & Kotlin)
  • (Visualizzazioni in Swift & Kotlin)
  • (Testing MVVM in Swift & Kotlin)
  • (Testing asynchronicity in Swift & Kotlin)
  • (Clean MVVM Summary) ← sei qui

Informazioni sullautore

Eric Silverberg è il CEO e fondatore di Perry Street Software , editore di due delle più grandi app di incontri LGBTQ + al mondo su iOS e Android. Ha distribuito app per dispositivi mobili dal 2010 e ha scritto codice da quel rapporto sul libro di classe inglese a Hypertalk nel 1995.