Crie o mesmo aplicativo duas vezes

Um resumo da arquitetura e teste de aplicativos em Swift + Kotlin

( Eric Silverberg) (23 de dezembro de 2020)

Em nossa série sobre (Clean MVVM), compartilhamos lições da vida real, enviando um grande cliente móvel em várias plataformas por mais de uma década. O MVVM limpo é uma abordagem arquitetônica para construir aplicativos consistentes em Swift e Kotlin, para maximizar a reutilização do projeto arquitetônico e de código. Na melhor das hipóteses, o Clean MVVM permite que você copie e cole Swift no Kotlin ou Kotlin no Swift e apenas altere a sintaxe.

Sim, isso estará no teste

Abaixo estão os pontos-chave em todos os artigos desta série, de forma útil resumido:

Arquitetura

  • O fluxo de controle é: Exibir ➡ ViewModel ➡ Lógica ➡ Repositório ➡ API / armazenamento
  • Use fluxos reativos ao comunicar mudanças de estado entre as camadas
  • As classes lógicas não têm estado e podem ser compostas
  • As classes de repositório têm estado e devem ser singletons globais injetados por meio de um sistema DI
  • Os modelos devem ser estruturas ou classes seladas que usam apenas tipos primitivos
  • BehaviorSubject / LiveData / Property / são seus primitivos go-to para dados que precisam estar disponíveis durante uma tela e mudanças em intervalos imprevisíveis
  • PublishSubject / Observable / SignalProducer / Publisher são para eventos, normalmente como resultado da entrada do usuário
  • Single / Completable / SignalProducer / AnyPublisher são para APIs e chamadas para armazenamento local

Teste

  • Use injeção de dependência para construção de objeto em testes
  • Apenas simulações de classes de camada externa – principalmente APIs de rede
  • Estruture seus testes narrativamente usando BDD e minimize o número de afirmações por teste (de preferência, apenas uma)
  • Use classes TestObserver (ou seu equivalente) para avaliar fluxos assíncronos

Mais uma coisa…

Se você é um desenvolvedor móvel que gosta de arquitetura de aplicativos, está interessado em trabalhar para um values-fir st empresa de aplicativos que atende a comunidade queer, fale conosco! Visite https://www.scruff.com/en/careers para obter informações sobre empregos em Perry Street Software .

Mais na série

  • (Clean MVVM Intro)
  • (ViewModels em Swift & Kotlin)
  • (Classes lógicas em Swift & Kotlin)
  • (Repositórios e modelos de domínio em Swift & Kotlin)
  • (classes de API em Swift & Kotlin)
  • (Visualizações em Swift & Kotlin)
  • (Testando MVVM em Swift & Kotlin)
  • (Testando assincronicidade em Swift & Kotlin)
  • (Limpar resumo do MVVM) ← você está aqui

Sobre o autor

Eric Silverberg é o CEO e fundador da Perry Street Software , editora de dois dos maiores aplicativos de namoro LGBTQ + do mundo para iOS e Android. Ele envia aplicativos móveis desde 2010 e escreve códigos desde aquele relatório do livro da aula de inglês no Hypertalk em 1995.