Compile la misma aplicación dos veces

Un resumen de la arquitectura y las pruebas de aplicaciones en Swift + Kotlin

( Eric Silverberg) (23 de diciembre de 2020)

En nuestra serie sobre (Clean MVVM), hemos compartido lecciones de la vida real sobre el envío de un importante cliente móvil en múltiples plataformas durante más de una década. Clean MVVM es un enfoque arquitectónico para crear aplicaciones consistentes en Swift y Kotlin, para maximizar la reutilización del diseño arquitectónico y de código. En el mejor de los casos, Clean MVVM le permite copiar y pegar Swift en Kotlin, o Kotlin en Swift, y simplemente manipular la sintaxis.

Sí, esto estará en la prueba

A continuación, se muestran los puntos clave de todos los artículos de esta serie. resumido:

Arquitectura

  • El flujo de control es: Ver ➡ ViewModel ➡ Lógica ➡ Repositorio ➡ API / Tienda
  • Use flujos reactivos cuando comunique cambios de estado entre capas
  • Las clases lógicas no tienen estado y se pueden componer
  • Las clases del repositorio tienen estado y deben ser singleton globales inyectados a través de un sistema DI
  • Los modelos deben ser estructuras o clases selladas que usen solo tipos primitivos
  • BehaviorSubject / LiveData / Property / son sus primitivas de referencia para los datos que deben estar disponibles durante la duración de una pantalla y cambian a intervalos impredecibles
  • PublishSubject / Observable / SignalProducer / Publisher son para eventos, generalmente como resultado de la entrada del usuario
  • Single / Completable / SignalProducer / AnyPublisher son para API y llamadas al almacenamiento local

Pruebas

  • Utilice la inyección de dependencias para la construcción de objetos en pruebas
  • Solo simula clases de capa externa, principalmente API de red
  • Estructura tus pruebas de forma narrativa usando BDD y minimiza la cantidad de afirmaciones por prueba (idealmente solo una)
  • Usa las clases TestObserver (o su equivalente) para evaluar transmisiones asincrónicas

Una cosa más…

Si eres un desarrollador móvil que disfruta de la arquitectura de aplicaciones, estás interesado en trabajar para valores-fir st empresa de aplicaciones al servicio de la comunidad queer, ¡hable con nosotros! Visite https://www.scruff.com/en/careers para obtener información sobre trabajos en Perry Street Software .

Más en la serie

  • (Clean MVVM Intro)
  • (ViewModels en Swift & Kotlin)
  • (Clases lógicas en Swift & Kotlin)
  • (Repositorios y modelos de dominio en Swift & Kotlin)
  • (clases de API en Swift & Kotlin)
  • (Vistas en Swift & Kotlin)
  • (Probando MVVM en Swift & Kotlin)
  • (Probando la asincronicidad en Swift & Kotlin)
  • (Limpiar MVVM Resumen) ← estás aquí

Sobre el autor

Eric Silverberg es el CEO y fundador de Perry Street Software , editor de dos de las aplicaciones de citas LGBTQ + más grandes del mundo en iOS y Android. Ha estado enviando aplicaciones móviles desde 2010 y escribiendo código desde ese informe del libro de la clase de inglés en Hypertalk en 1995.