Debes tener la visión para escalar y no dejar deuda Técnica. Por lo tanto es importante trabajar con el equipo de Backend
¿Qué implica diseñar software de apps móviles?
Bienvenida al diseño de software para apps móviles
Introducción
Tipos de aplicaciones
Diseño de una app móvil
Requerimientos
Diseño de alto nivel: backend, API
Diseño de alto nivel: ImageLoader
Diseño de alto nivel: CDN y Push Provider
Flujos del usuario
Data y Networking
Tipos de comunicación con el servidor
Qué es un API desde la perspectiva mobile
Como crear un modelo de datos
Características offline a la app
¿Cómo implementar offline first?
La base de un gran performance
Tips de Performance
Analytics para apps móviles
Seguridad para apps móviles
Accesibilidad para apps móviles
Herramientas profesionales para el diseño de software móvil
Testing: buenas prácticas y test unitarios
Testing: instrumentación, end2end y manual
Sistemas de diseño visual
Internacionalización
Tooling: Charles Proxy, Stetho, Chuck y Canary
Consideraciones finales para diseñar software móvil
Modularización del código
Monitoreo para apps móviles
Deployment para apps móviles
Crea apps móviles exitosas
No tienes acceso a esta clase
¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera
Las APIs (Interfaces de Programación de Aplicaciones) tienen características y perspectivas únicas cuando se utilizan en dispositivos móviles. Uno de los puntos clave es que deben exponer solamente la funcionalidad necesaria. Tener datos adicionales implica un procesamiento innecesario, lo que puede consumir más batería y tiempo, perjudicando la experiencia del usuario.
Dos cosas en las que debemos enfocarnos son:
El desarrollo de APIs requiere una comunicación fluida entre los equipos de backend y frontend. Generalmente, el backend podría proporcionar más datos de los necesarios, lo cual nos obliga a procesarlos nuevamente en la aplicación, afectando el rendimiento.
Es vital participar activamente en el desarrollo de APIs para:
En situaciones donde se requiere gran cantidad de información, es recomendable minimizar las llamadas al API:
Por ejemplo, si una aplicación requiere datos de cursos, como en Platzi, el API podría estar estructurado así:
GET api.platzi.com/cursos
Para obtener detalles específicos de un curso:
GET api.platzi.com/cursos/detail?id=2512
En mis primeras experiencias trabajando con APIs, no participar en su desarrollo resultó en aplicaciones lentas. Aprendí que es crucial estar involucrado en el proceso de creación de las APIs. Esta participación no solo mejoró significativamente el rendimiento de las aplicaciones, sino que también generó más segundas oportunidades para reducir tiempos de respuesta.
Consejo: No subestimes la importancia de la estrecha colaboración entre el frontend y el backend. Con dedicación, podrás transformar una aplicación lenta en una altamente eficiente.
¡Complementa lo que aprendiste hoy con práctica continua! Sigue explorando y desarrollando tus habilidades en el uso de APIs para mejorar cada vez más tus aplicaciones móviles.
Aportes 4
Preguntas 1
Debes tener la visión para escalar y no dejar deuda Técnica. Por lo tanto es importante trabajar con el equipo de Backend
10 TIPS PARA CONSTRUCCIOND DE API EN PERSPECTIVA MOBILE
Diseña una arquitectura de API clara y escalable: La arquitectura de la API debe ser diseñada cuidadosamente para asegurar la escalabilidad de la aplicación. Al elegir una arquitectura, debes considerar aspectos como el tamaño del equipo, la complejidad de la aplicación, la disponibilidad de recursos y las necesidades del negocio.
Utiliza patrones de diseño comunes: Utilizar patrones de diseño comunes ayuda a simplificar la comprensión y el mantenimiento de la API. Algunos patrones de diseño comunes son MVC, MVP, MVVM, entre otros.
Asegura la autenticación y autorización: La autenticación y autorización son aspectos críticos de cualquier API. Asegúrate de implementar un sistema de autenticación seguro y de verificar los permisos de acceso adecuados para cada usuario.
Utiliza HTTP correctamente: La mayoría de las API se basan en el protocolo HTTP. Asegúrate de utilizar correctamente los verbos HTTP como GET, POST, PUT y DELETE para garantizar una comunicación efectiva y segura entre la aplicación y el servidor.
Documenta tu API: Documentar tu API es esencial para que los desarrolladores comprendan su uso y funcionamiento. Asegúrate de proporcionar una documentación clara y concisa que cubra todos los aspectos importantes de la API, incluyendo la autenticación, los recursos, los parámetros y los códigos de estado.
Implementa pruebas automatizadas: Las pruebas automatizadas son importantes para garantizar que la API funcione correctamente y sea segura. Implementa pruebas unitarias y de integración para asegurarte de que cada componente de la API funciona correctamente y que las interacciones entre los componentes funcionan como se esperaba.
Utiliza formatos de datos estándar: Utiliza formatos de datos estándar como JSON o XML para asegurar la compatibilidad con otras aplicaciones y sistemas. Además, utiliza un formato de datos consistente en toda la API para facilitar la comprensión y el mantenimiento de la misma.
Optimiza la eficiencia de la API: Optimiza la eficiencia de la API para reducir los tiempos de respuesta y mejorar el rendimiento de la aplicación. Esto puede incluir el uso de técnicas como la caché de datos y la compresión de respuesta.
Maneja adecuadamente los errores: Manejar adecuadamente los errores es crucial para asegurar que la API funcione de manera confiable. Asegúrate de proporcionar mensajes de error claros y útiles que ayuden a los desarrolladores a solucionar problemas.
Implementa medidas de seguridad: Implementa medidas de seguridad para proteger la API de ataques malintencionados. Esto puede incluir la validación de entrada de datos, la encriptación de datos y el uso de certificados SSL/TLS.
En mi experiencia como dev mobile, me he encontrado en proyectos ya empezados donde precisamente, tenian estas practicas de desarrollo chapuceras en cuanto al consumo de apis por parte de la app mobile y el frontend web. Principalmente esto ocurre cuando no existe un middleware que por decirlo de alguna manera, haga todo el trabajo sucio de llamar a todas las apis del cliente, organizar la información y mandarlo todo en una sola respuesta xml o json al frontend. Que el frontend deba llamar a mas de una api de backend para la información que necesita, ya eso es una muy mala práctica.
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?