Utwórz tę samą aplikację dwukrotnie

Podsumowanie projektowania i testowania aplikacji w języku Swift + Kotlin

( Eric Silverberg) (23 grudnia 2020 r.)

W naszej serii dotyczącej (Clean MVVM) od ponad dziesięciu lat dzielimy się lekcjami z życia wziętymi, wysyłając głównego klienta mobilnego na wiele platform. Clean MVVM to podejście architektoniczne do tworzenia spójnych aplikacji w Swift i Kotlin, aby zmaksymalizować ponowne wykorzystanie projektów architektonicznych i kodu. W najlepszym przypadku Clean MVVM umożliwia kopiowanie i wklejanie Swift do Kotlin lub Kotlin do Swift i po prostu manipulowanie składnią.

Tak, to będzie testowane

Poniżej znajdują się kluczowe punkty wszystkich artykułów z tej serii, pomocne podsumowanie:

Architektura

  • Przepływ kontroli to: Widok ➡ Model widoku ➡ Logika ➡ Repozytorium ➡ API / Sklep
  • Używaj strumieni reaktywnych podczas komunikowania zmian stanu między warstwami
  • Klasy logiczne są bezstanowe i można je składać
  • Klasy repozytorium mają stan i powinny być globalnymi singletonami wprowadzanymi przez system DI
  • Modele powinny być strukturami lub klasami zapieczętowanymi, które używają tylko typów pierwotnych
  • BehaviorSubject / LiveData / Property / to podstawowe elementy danych, które muszą być dostępne przez cały czas wyświetlania ekranu i zmieniane w nieprzewidywalnych odstępach czasu
  • PublishSubject / Observable / SignalProducer / Publisher są dla zdarzeń, zwykle w wyniku działań użytkownika
  • Single / Completable / SignalProducer / są przeznaczone dla interfejsów API i wywołań lokalnej pamięci

Testowanie

  • Użyj iniekcji zależności do konstrukcji obiektów w testach
  • Tylko pozorowane klasy warstwy zewnętrznej – głównie sieciowe interfejsy API
  • Ustrukturyzuj testy w sposób narracyjny za pomocą BDD i zminimalizuj liczbę twierdzeń na test (najlepiej tylko jedną)
  • Użyj klas TestObserver (lub ich odpowiednik) do oceny strumieni asynchronicznych

Jeszcze jedno…

Jeśli jesteś programistą mobilnym, który lubi architekturę aplikacji, chcesz pracować dla value-fir st aplikacja obsługująca queerową społeczność, porozmawiaj z nami! Odwiedź https://www.scruff.com/en/careers , aby uzyskać informacje o ofertach pracy w Perry Street Software .

Więcej z serii

  • (Clean MVVM Intro)
  • (ViewModels in Swift & Kotlin)
  • (Klasy logiki w języku Swift & Kotlin)
  • (Repozytoria i modele domen w języku Swift & Kotlin)
  • (klasy API w Swift & Kotlin)
  • (wyświetlenia w Swift & Kotlin)
  • (Testowanie MVVM w Swift & Kotlin)
  • (Testowanie asynchroniczności w Swift & Kotlin)
  • (Wyczyść podsumowanie MVVM) ← jesteś tutaj

O autorze

Eric Silverberg jest dyrektorem generalnym i założycielem Perry Street Software , wydawca dwóch największych na świecie aplikacji randkowych LGBTQ + na iOS i Androida. Dostarcza aplikacje mobilne od 2010 r. I pisze kod od tego raportu z książki angielskiej w Hypertalk w 1995 r.