Erstellen Sie dieselbe App zweimal

Eine Zusammenfassung der Architektur und des Testens von Apps in Swift + Kotlin

( Eric Silverberg) (23. Dezember 2020)

In unserer Serie zu (Clean MVVM) haben wir mehr als ein Jahrzehnt lang praktische Lektionen zum Versand eines großen mobilen Clients auf mehreren Plattformen geteilt. Clean MVVM ist ein Architekturansatz zum Erstellen konsistenter Apps in Swift und Kotlin, um die Wiederverwendung von Architektur und Code-Design zu maximieren. Im besten Fall können Sie mit Clean MVVM Swift in Kotlin oder Kotlin in Swift kopieren und einfügen und einfach die Syntax ändern.

Ja, dies wird getestet

Nachfolgend sind die wichtigsten Punkte für alle Artikel in dieser Reihe hilfreich zusammengefasst:

Architektur

  • Der Kontrollfluss lautet: Ansicht ➡ ViewModel ➡ Logik ➡ Repository ➡ API / Store
  • Verwenden Sie reaktive Streams, wenn Sie Statusänderungen zwischen Ebenen kommunizieren.
  • Logikklassen sind zustandslos und können zusammengesetzt werden.
  • Repository-Klassen haben Status und sollten globale Singletons sein, die über ein DI-System injiziert werden.
  • Modelle sollten Strukturen oder versiegelte Klassen sein, die nur primitive Typen verwenden.
  • BehaviorSubject / LiveData / Property / sind Ihre Grundelemente für Daten, die für die Dauer eines Bildschirms verfügbar sein müssen und sich in unvorhersehbaren Intervallen ändern.
  • PublishSubject / Observable / SignalProducer / Publisher gelten für Ereignisse, die normalerweise auf Benutzereingaben zurückzuführen sind
  • Single / Completable / SignalProducer / AnyPublisher ist für APIs und Aufrufe des lokalen Speichers

Testen

  • Verwenden Sie die Abhängigkeitsinjektion für die Objektkonstruktion in Tests
  • Nur Scheinklassen der äußeren Schicht – hauptsächlich Netzwerk-APIs
  • Strukturieren Sie Ihre Tests narrativ mit BDD und minimieren Sie die Anzahl der Zusicherungen pro Test (im Idealfall nur eine).
  • Verwenden Sie TestObserver-Klassen (oder deren Äquivalent) zum Auswerten asynchroner Streams

Noch etwas…

Wenn Sie ein mobiler Entwickler sind, der App-Architektur mag, sind Sie daran interessiert, für ein values-fir st App-Unternehmen für die queere Community, sprechen Sie mit uns! Besuchen Sie https://www.scruff.com/de/careers , um Informationen zu Jobs bei Perry Street Software zu erhalten .

Mehr in der Reihe

  • (Clean MVVM Intro)
  • (ViewModels in Swift & Kotlin)
  • (Logikklassen in Swift & Kotlin)
  • (Repositorys und Domänenmodelle in Swift & Kotlin)
  • (API-Klassen in Swift & Kotlin)
  • (Ansichten in Swift & Kotlin)
  • (Testen von MVVM in Swift & Kotlin)
  • (Testen der Asynchronität in Swift & Kotlin)
  • (Clean MVVM Summary) ← Sie sind hier

Über den Autor

Eric Silverberg ist der CEO und Gründer von Perry Street Software , Herausgeber von zwei der weltweit größten LGBTQ + -Dating-Apps für iOS und Android. Seit 2010 liefert er mobile Apps aus und schreibt seit dem Bericht über Englischkurse in Hypertalk 1995 Code.