Please enable JavaScript.
Coggle requires JavaScript to display documents.
Arquitecturas y patrones de diseño. - Coggle Diagram
Arquitecturas y patrones de diseño.
Arquitecturas para el Desarrollo de Aplicaciones Móviles
Arquitectura Nativa
Desarrollada específicamente para un sistema operativo (Android, iOS).
Usa lenguajes como Kotlin/Java (Android) y Swift/Objective-C (iOS).
Ventajas: alto rendimiento, acceso completo al hardware.
Desventajas: requiere desarrollo doble (una app por plataforma).
Arquitectura Híbrida
Combina tecnologías web con un contenedor nativo.
Usa frameworks como Ionic, Cordova, Flutter, React Native.
Ventajas: desarrollo multiplataforma, menor tiempo y costo.
Desventajas: rendimiento menor al nativo.
Arquitectura Basada en la Nube
Procesamiento y almacenamiento en la nube.
Ejemplos: Firebase, AWS Mobile, Azure Mobile Apps.
Ventajas: sincronización en tiempo real, escalabilidad.
Ventajas: sincronización en tiempo real, escalabilidad.
Arquitectura de Aplicaciones Web Progresivas
Aplicaciones web que se comportan como apps nativas.
Usa HTML, CSS, JavaScript.
Ventajas: sin instalación, funcionan offline.
Desventajas: acceso limitado al hardware.
Patrones de Diseño en Aplicaciones Móviles
MVC (Modelo–Vista–Controlador)
Separa datos, interfaz y lógica.
Muy usado en Android y iOS.
Ejemplo: Activity (Vista), Controller (lógica), Model (datos).
MVP (Modelo–Vista–Presentador)
El Presentador actúa como intermediario entre vista y modelo.
Mejora el mantenimiento y las pruebas del código.
Usado en Android con frameworks como Dagger o RxJava.
MVVM (Modelo–Vista–VistaModelo)
Basado en Data Binding (enlaza vista con datos automáticamente).
Usado en Android Jetpack y Xamarin.
Mejora la separación de responsabilidades.
Clean Architecture
Capa de dominio (lógica)
Capa de datos
Capa de presentación
Singleton
Garantiza que una clase tenga una sola instancia.
Usado para controladores globales, bases de datos, o configuración.
Observer (Observador)
Permite que la vista se actualice automáticamente cuando cambian los datos.
Ejemplo: LiveData o RxJava en Android.
Conclusión
Las arquitecturas móviles determinan cómo se construye y distribuye la app.
Los patrones de diseño definen cómo se organiza el código internamente.
Ambos son esenciales para lograr apps eficientes, escalables y mantenibles.