Vytvořte dvakrát stejnou aplikaci

Souhrn architektury a testování aplikací ve Swift + Kotlin

( Eric Silverberg) (23. prosince 2020)

V naší sérii o (Clean MVVM) jsme sdíleli lekce z reálného života, které dodávají významného mobilního klienta na více platforem po více než deset let. Clean MVVM je architektonický přístup k vytváření konzistentních aplikací ve Swift a Kotlin, aby se maximalizovalo opětovné použití architektonických návrhů a návrhů kódu. V nejlepším případě vám Clean MVVM umožňuje zkopírovat a vložit Swift do Kotlin nebo Kotlin do Swift a jednoduše překrýt syntaxi.

Ano, bude to na zkoušce

Níže jsou užitečné body všech článků v této sérii shrnuto:

Architektura

  • Řídicí tok je: View ➡ ViewModel ➡ Logic ➡ Repository ➡ API / Store
  • Při komunikaci změn stavu mezi vrstvami použijte reaktivní proudy
  • Logické třídy jsou bez státní příslušnosti a lze je skládat
  • Třídy úložiště mají stav a měly by být globální singletony injektované prostřednictvím systému DI
  • Modely by měly být struktury nebo uzavřené třídy, které používají pouze primitivní typy
  • BehaviorSubject / LiveData / Property / jsou vaše primitiva go-to pro data, která musí být k dispozici po celou dobu obrazovky a mění se v nepředvídatelných intervalech
  • PublishSubject / Observable / SignalProducer / Publisher jsou určeny pro události, obvykle v důsledku vstupu uživatele
  • Single / Completable / SignalProducer / AnyPublisher jsou pro rozhraní API a volání do místního úložiště

Testování

  • použití injektáže závislosti pro konstrukci objektu v testech
  • Pouze simulované třídy vnější vrstvy – primárně síťová rozhraní API
  • Strukturujte své testy narativně pomocí BDD a minimalizujte počet tvrzení na test (v ideálním případě pouze jednu)
  • Použijte třídy TestObserver (nebo jejich ekvivalent) k vyhodnocení asynchronních streamů

Ještě jedna věc…

Pokud jste mobilní vývojář, který má rád architekturu aplikací, máte zájem pracovat pro hodnoty-jed st aplikační společnost sloužící queer komunitě, promluvte si s námi! Navštivte https://www.scruff.com/en/careers , kde najdete informace o pracovních příležitostech v Perry Street Software .

Více v sérii

  • (Clean MVVM Intro)
  • (ViewModels in Swift & Kotlin)
  • (Logické třídy v Swift & Kotlin)
  • (Úložiště a modely domén v Swift & Kotlin)
  • (třídy API ve Swift & Kotlin)
  • (Pohledy ve Swift & Kotlin)
  • (Testování MVVM ve Swift & Kotlin)
  • (Testování asynchronicity ve Swift & Kotlin)
  • (Clean MVVM Summary) ← jste zde

o autorovi

Eric Silverberg je generální ředitel a zakladatel Perry Street Software , vydavatel dvou největších světových aplikací pro seznamování LGBTQ + pro iOS a Android. Dodávky mobilních aplikací dodává od roku 2010 a psaní kódu od té zprávy z anglické učebnice v Hypertalku v roce 1995.