Introducción al curso

1

Construyamos una app para iOS

2

Introducción a la arquitectura MVVM

3

Planeando nuestra app

Creando las primeras pantallas de la app

4

Programando la primera pantalla en módulos

5

Escribiendo la lógica para mostrar dos pantallas

6

Pantalla de inicio de sesión con SecureField y Scroll

7

Completando nuestra pantalla de inicio de sesión

8

Pantalla de registro de usuario

9

Comprobando el funcionamiento de nuestras pantallas

10

Estructura de las pantallas con TabView

11

Creando nuestra pantalla home

12

Pantalla home: logo y barra de búsqueda

13

Pantalla home: programación de interfaces estáticas

14

Pantalla home: carruseles

Aplicando arquitectura MVVM

15

Creando estructura para arquitectura MVVM

16

Modelando nuestro JSON

17

Peticiones al servidor

18

Mostrar información de un servidor de manera dinámica

19

Mostrar imágenes de forma dinámica y eficiente con LazyVGrid

Reproductor y búsqueda de video

20

Pasar datos entre pantallas

21

Darle datos de inicio a un Canvas

22

Reproducir videos dinámicamente de un servidor

23

Mostrar imágenes dinámicamente de un servidor

24

Mostrar alertas

25

Programar clase de búsqueda

26

Programar método de búsqueda

Últimas pantallas de la app

27

Pantalla de favoritos

28

Pantalla de perfil de usuario

29

Módulo de ajustes de perfil con Toggle

30

Pantalla de edición de perfil

31

Módulo de edición de perfil

32

Guardado interno de datos

Utilizando la cámara y fotos del iPhone

33

Captura de foto de perfil: ImagePicker y vista Sheet

34

Captura de foto de perfil con la cámara: modificar librerías de terceros

35

Captura de foto de perfil con la cámara: recuperar imágenes guardadas

¿Qué más posibilidades tiene SwiftUI?

36

Mejoremos nuestra app

Introducción a la arquitectura MVVM

2/36
Recursos
Transcripción

¿Qué es la arquitectura MVVM?

La arquitectura MVVM, por sus siglas en inglés, significa "Model-View-ViewModel" (Modelo-Vista-VistaModelo). Este patrón de arquitectura de software es una forma organizada y eficiente de programar aplicaciones, especialmente a nivel de desarrollo de iOS. Su principal característica es la separación de la vista de la aplicación de la lógica de datos, asegurando una estructura más modular y fácil de mantener.

¿Cómo funciona MVVM?

MVVM opera dividiendo los componentes de la aplicación en tres partes principales:

  1. Vista (View): Es lo que se presenta al usuario. Esta parte es la encargada de mostrar la interfaz gráfica y de interactuar con el usuario.

  2. Modelo (Model): Se encarga de manejar los datos y la lógica de negocios de la aplicación. Es aquí donde los datos se almacenan, se procesan y se actualizan.

  3. VistaModelo (ViewModel): Funciona como un puente entre la vista y el modelo. Solicita datos al modelo y se los entrega a la vista. Aquí es donde se aplica la lógica de programación que coordina las solicitudes de datos y las actualizaciones a la interfaz de usuario.

Diferencias con MVC

Es común comparar MVVM con el patrón MVC (Modelo-Vista-Controlador). Aunque ambos comparten ciertas similitudes, hay diferencias cruciales:

  • Binding: MVVM utiliza un enfoque basado en "binding" o enlace de datos, lo que permite una actualización reactiva en la interfaz de usuario cuando cualquier cambio ocurre en el modelo. Este enfoque facilita que las aplicaciones con UI de tipo "sub UI" funcionen automáticamente de manera reactiva.

  • Reactividad: En MVVM, los cambios en el modelo son reflejados instantáneamente en la vista, mejorando la fluidez de la experiencia del usuario.

Beneficios de usar MVVM

Al optar por MVVM, los desarrolladores pueden disfrutar de varios beneficios:

  • Separación de preocupaciones: Al dividir la aplicación en distintas capas, el desarrollo se vuelve modular y más fácil de mantener.

  • Facilidad para pruebas: Al tener una clara separación entre la lógica de negocio y la interfaz gráfica, las pruebas unitarias se pueden aplicar de manera más efectiva.

  • Reutilización de componentes: Con MVVM, es más sencillo reutilizar componentes entre diferentes partes de la aplicación o incluso entre diferentes aplicaciones.

Esta arquitectura no solo mejora la organización del código sino también puede derivar en un desarrollo más eficiente y rápido, lo que es especialmente beneficioso en proyectos de gran escala o en equipos grandes de desarrollo.

Aportes 0

Preguntas 1

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?