Buenas prácticas en el despliegue de aplicaciones móviles
Clase 25 de 26 • Curso de Diseño de Software para Apps Móviles
Contenido del curso
- 4

Requerimientos Funcionales y No Funcionales en Aplicaciones
04:22 - 5

Componentes de Arquitectura de Aplicaciones Móviles
10:00 - 6

Carga de Imágenes en Android con Librerías Populares
05:38 - 7

Conceptos clave de CDN y Push Notifications en aplicaciones móviles
05:15 - 8

Creación de Diagramas de Secuencia para Flujos de Usuario
11:07
- 9

Tipos de Comunicación con el Servidor: HTTPS y WebSockets
05:17 - 10

APIs Móviles: Diseño Eficiente y Optimización de Datos
04:47 - 11

Optimización de Modelos de Datos en APIs JSON
08:42 - 12

Implementación de Estrategias Offline en Apps Móviles
04:02 - 13

Patrón Repository para Persistencia de Datos en Apps Móviles
24:18
- 18

Introducción al Testing: Garantizar Funcionalidad en Aplicaciones
09:11 - 19

Pruebas de Instrumentación con Espresso en Android
19:41 - 20

Componentes de Android Material Design y su implementación
09:47 - 21

Internacionalización de Aplicaciones Móviles: Idiomas y Formatos de Texto
04:21 - 22

Uso de Charles Proxy y otras herramientas para optimizar desarrollo de apps
05:06
¿Qué necesitamos tener en cuenta para el despliegue de aplicaciones Android?
El despliegue de una aplicación Android en producción es un paso crucial en el desarrollo. No se trata solo de subir la aplicación a la Play Store, sino de hacer un lanzamiento bien planificado que minimice los errores y maximice la aceptación por parte de los usuarios. Para lograrlo, es imprescindible seguir algunas buenas prácticas, comenzando por la gestión de entornos.
¿Cómo gestionar los diferentes entornos de prueba?
La gestión de entornos es vital. En el entorno de desarrollo, puedes trabajar con datos moqueados para testear funcionalidades básicas. Luego, en un entorno más realista como el sandbox, realizas pruebas más intensas simulando situaciones del mundo real, como respuestas fallidas del servidor, latencias, etc. Este entorno, también conocido como fase beta, permite detectar cómo se comporta la aplicación antes de lanzarla al público en general.
¿Qué es una fase beta cerrada y por qué es importante?
La fase beta cerrada es un proceso en el que una versión de la aplicación, conocida como release candidate, se lanza a un grupo reducido de usuarios. Estos usuarios son conscientes de que la aplicación todavía puede contener errores. La retroalimentación de esta fase es crucial para corregir fallos y asegurar una experiencia de usuario más robusta.
¿Cómo realizar un rollout progresivo efectivo?
Un rollout progresivo implica lanzar la actualización de la aplicación gradualmente. Primero, llega a un porcentaje reducido de usuarios, como el 5%, para monitorear su rendimiento y detectar problemas potenciales. Si el feedback es negativo, se detiene el lanzamiento al resto de los usuarios, limitando el impacto negativo y permitiendo corregir errores antes de una distribución más amplia.
¿Por qué es esencial contar con una granja de pruebas?
Una granja de pruebas te permite evaluar la aplicación en un conjunto diverso de dispositivos físicos. Es importante realizar pruebas en diferentes gamas de dispositivos (baja, media y alta) para garantizar un rendimiento óptimo. La diversidad de dispositivos, como Samsung o Huawei, que pueden diferir en arquitectura, es crucial para realizar pruebas como end-to-end, unitarias y manuales, asegurando así una aplicación consistente y robusta en el entorno real de los usuarios.
¿Cómo implementar el versionamiento semántico correctamente?
El versionamiento semántico es un sistema que facilita el seguimiento de cambios en la aplicación. Se estructura con tres números: major, minor y patch.
- Major: Cambios drásticos. Ej., nueva experiencia de usuario o cambios visuales importantes.
- Minor: Nuevas funcionalidades. Actualizaciones regulares sin alterar la major.
- Patch: Correcciones de errores. No introduce nuevas funcionalidades ni cambios significativos.
Por ejemplo, en la versión 18.0.1:
18indica cambios drásticos.0significa que no se han añadido nuevas funcionalidades.1representa una corrección o arreglo posterior al lanzamiento inicial de la versión major.
Este sistema de versionamiento permite a los desarrolladores y usuarios entender rápidamente la historia de cambios de la aplicación, facilitando el seguimiento y gestión eficiente del software. Sin embargo, es vital mantener el orden y no abusar de él, para evitar una versión excesivamente compleja que podría ser abrumadora y poco útil.