Créez deux fois la même application

Un résumé de larchitecture et des tests dapplications dans Swift + Kotlin

( Eric Silverberg) (23 décembre 2020)

Dans notre série sur (Clean MVVM), nous avons partagé des leçons de la vie réelle en expédiant un client mobile majeur sur plusieurs plates-formes depuis plus dune décennie. Clean MVVM est une approche architecturale permettant de créer des applications cohérentes dans Swift et Kotlin, afin de maximiser la réutilisation de la conception architecturale et de code. À son meilleur, Clean MVVM vous permet de copier-coller Swift dans Kotlin, ou Kotlin dans Swift, et de modifier simplement la syntaxe.

Oui, ce sera sur le test

Voici les points clés de tous les articles de cette série, utilement résumé:

Architecture

  • Le flux de contrôle est: View ➡ ViewModel ➡ Logic ➡ Repository ➡ API / Store
  • Utilisez des flux réactifs lors de la communication des changements détat entre les couches
  • Les classes logiques sont sans état et peuvent être composées
  • Les classes de référentiel ont un état et doivent être des singletons globaux injectés via un système DI
  • Les modèles doivent être des structures ou des classes scellées qui utilisent uniquement des types primitifs
  • BehaviorSubject / LiveData / Property / sont vos primitives de référence pour les données qui doivent être disponibles pendant la durée dun écran et qui changent à des intervalles imprévisibles
  • PublishSubject / Observable / SignalProducer / Publisher sont pour les événements, généralement à la suite dune entrée utilisateur
  • Single / Completable / SignalProducer / AnyPublisher sont pour les API et les appels au stockage local

Test

  • Utiliser linjection de dépendances pour la construction dobjets dans les tests
  • Simulez uniquement les classes de couche externe – principalement les API réseau
  • Structurez vos tests de manière narrative à laide de BDD et minimisez le nombre dassertions par test (idéalement une seule)
  • Utilisez les classes TestObserver (ou leur équivalent) pour évaluer les flux asynchrones

Encore une chose…

Si vous êtes un développeur mobile qui aime larchitecture dapplications, êtes intéressé à travailler pour un valeurs-sapin st société dapplications au service de la communauté queer, parlez-nous! Consultez https://www.scruff.com/en/careers pour obtenir des informations sur les emplois chez Perry Street Software .

Plus dans la série

  • (Clean MVVM Intro)
  • (ViewModels in Swift & Kotlin)
  • (Classes logiques dans Swift & Kotlin)
  • (Référentiels et modèles de domaine dans Swift & Kotlin)
  • (classes API en Swift & Kotlin)
  • (Vues en Swift & Kotlin)
  • (Test de MVVM dans Swift & Kotlin)
  • (Test de lasynchronicité dans Swift & Kotlin)
  • (Clean MVVM Summary) ← vous êtes ici

À propos de lauteur

Eric Silverberg est le PDG et fondateur de Perry Street Software , éditeur de deux des plus grandes applications de rencontres LGBTQ + au monde sur iOS et Android. Il expédie des applications mobiles depuis 2010 et écrit du code depuis ce rapport de livre de cours danglais dans Hypertalk en 1995.