4ta Unidad

in #holalast month

Reflexión sobre el caso de estudio: [La señal que nunca llegó]
Autor: @cakhero
Fecha: [09/07/2024]
**Materia:[desarrollo de aplicaciones moviles]
Profesor: @frexus

Caso de estudio
He leído y analizado el caso publicado por el profesor:
Enlace al caso de estudio

En este caso se aborda el tema de [Conexión real entre app y servidor.], donde se presenta una situación real o simulada para aplicar los conceptos vistos en clase.

Reflexión personal
¿Qué tipos de conexiones debe dominar un desarrollador móvil para construir apps funcionales?
Un desarrollador móvil debe dominar varias conexiones esenciales. Primero, HTTP/HTTPS, porque es la base para consumir APIs y mandar información al servidor. También son clave las conexiones asíncronas, ya que permiten hacer peticiones sin trabar la interfaz del usuario. Para casos donde se necesita comunicación en tiempo real, es indispensable conocer WebSockets. Y además, es útil familiarizarse con servicios tipo BaaS como Firebase, que ofrecen autenticación, base de datos y hosting sin tener que administrar servidores desde cero.

¿Qué errores comunes se cometen al intentar conectar una app móvil con bases de datos?
Hay varios errores que se repiten mucho. Por ejemplo, probar todo usando solo localhost, pensando que funcionará igual cuando se suba a internet. Otro error grave es intentar conectar la app directamente a la base de datos, lo cual es totalmente inseguro. También es común olvidar configurar CORS, lo que provoca bloqueos. No usar HTTPS genera fallas y vulnerabilidades. Y al publicar la app, muchos no consideran temas como IPs públicas, dominios o certificados. Finalmente, algunos no agregan autenticación ni validaciones, lo que deja todo muy expuesto.

¿Qué papel juega la API como intermediaria entre la app y el servidor de base de datos?
La API es básicamente la puerta de acceso controlada entre mi aplicación y el backend. Es la encargada de recibir lo que la app solicita, procesar reglas de negocio, consultar o actualizar la base de datos de forma segura y regresar una respuesta en formato JSON. Sin esa capa, la base de datos quedaría completamente vulnerable.

¿Por qué no es recomendable que una app móvil se conecte directamente a una base de datos remota?
Porque eso abre la puerta a un montón de problemas. Es inseguro, ya que la base de datos quedaría expuesta y las credenciales serían visibles dentro de la app. Tampoco habría control de permisos ni validaciones, y las bases de datos no están hechas para aguantar miles de conexiones directas desde móviles. Además, el rendimiento sería muy malo y difícil de escalar. Por eso siempre se usa un backend con API como capa protectora.

¿Cómo afectan las decisiones sobre arquitectura de red (local vs internet) al comportamiento de la app?
La arquitectura cambia completamente la forma en que se comporta la aplicación. En local, todo parece “mágicamente” rápido y funcional. Pero en internet entran factores reales como certificados SSL, permisos, CORS, la latencia, la seguridad, la carga del servidor, y el uso de IPs públicas o dominios. Algo que funciona perfecto en localhost puede romperse completamente cuando se publica si no se adapta a estas condiciones.

¿Qué aprendizajes técnicos y emocionales me deja el caso de Lucas sobre trabajar en entornos reales?
En lo técnico, entendí que una app no es solo lo que se ve: depende totalmente de APIs, servidores y bases de datos. También comprendí que trabajar en producción implica configurar dominios, HTTPS, CORS, autenticación y mucho más. Aprendí que es obligatorio probar en entornos reales, no solo en local, y que equivocarse forma parte natural del desarrollo profesional.

En lo emocional, el caso me recordó que la frustración es normal, pero también es lo que impulsa a mejorar. La perseverancia es clave para convertir errores en aprendizaje. Crear una app también es un acto de humildad, porque muchas veces lo más importante es lo que el usuario no ve. Y sobre todo, que el verdadero crecimiento llega cuando enfrentas problemas reales, no simulaciones.

Reflexión final

El caso de Lucas demuestra que desarrollar una app va más allá de programar pantallas bonitas o funciones básicas; implica comprender el ecosistema completo que permite que la app viva y se comunique en el mundo real. La mayor lección es que una aplicación móvil es un conjunto de conexiones invisibles que deben estar bien configuradas para ofrecer una experiencia sólida. Lucas descubrió que las fallas no siempre provienen del código visible, sino de la infraestructura que sostiene todo: la red, el backend, la API y la seguridad.

Este caso deja claro que el aprendizaje más valioso surge cuando un proyecto deja de estar en un entorno seguro y controlado y se enfrenta al mundo real. Ahí es donde se aprende a ser resiliente, a investigar, a corregir y a mejorar. Así como Lucas, todo desarrollador debe estar dispuesto a fallar, a adaptarse y a reconstruir, porque es en ese proceso donde nace un verdadero profesional del desarrollo móvil.
Actividades complementarias
Práctica desarrollada: Enlace a la publicación en Steem
Descripción breve: [ que desarrollar una app funcional requiere comprender el ecosistema completo de conexiones invisibles y que el aprendizaje más valioso para un desarrollador surge cuando el proyecto se enfrenta a los desafíos del mundo real.].

Evidencias visuales:

Sopa de letras

image.png

Crucigrama

image.png

image.png

image.png

Conclusiones finales

Aprendizaje obtenido:
Este caso me dejó un entendimiento mucho más claro y completo sobre la arquitectura de red necesaria para desarrollar aplicaciones móviles de manera profesional. Aprendí que no basta con programar la app: la verdadera base está en configurar bien la API, el backend y en usar sí o sí HTTPS y CORS cuando se trabaja en un entorno de producción.
Si volviera a empezar un proyecto similar, primero diseñaría la estructura de la API REST y del backend (que son la capa de seguridad), y me aseguraría de tener el servidor publicado con dominio y certificado SSL desde las primeras pruebas. Solo después pasaría a trabajar en la interfaz.

Dificultades enfrentadas:
Lo más complicado fue lograr la conexión entre la app móvil (que estaba probando con Expo Go) y el servidor remoto en PHP. Los errores de CORS y el uso de HTTP en lugar de HTTPS me detuvieron bastante. La solución vino cuando entendí que tenía que habilitar manualmente los encabezados CORS en el script PHP del servidor y, más tarde, migrar la API a un servidor con SSL. Al final descubrí que Android y Expo ya bloquean por defecto cualquier petición que no sea segura, así que el cambio a HTTPS era indispensable.

Backlinks y referencias
Post original del profesor en Steem
Podcast del profesor en DTube
Mi comentario en el post original
Este post forma parte de la actividad de aprendizaje correspondiente a la unidad [ unidad 3].
Publicación realizada con fines educativos como parte del curso de [DESARROLLO DE APLICACIONES MOVILES].