Cómo funcionan las aplicaciones
Mormon NegroSi usás herramientas de inteligencia artificial para programar (ChatGPT, Claude, Copilot), seguramente notaste que cuanto mejor entendés lo que estás haciendo, mejores resultados te dan. No hace falta ser experto, pero sí entender las piezas fundamentales.
Esta guía cubre los conceptos que aparecen una y otra vez cuando construís una aplicación: desde qué es un frontend hasta cómo funcionan los pagos, la inteligencia artificial o el deploy. Organizados por tema, para que puedas ir directo a lo que necesitás.
Si tenés una idea de producto, el planificador te arma una ruta de lectura personalizada. Y si te surge una duda mientras leés, el chat de IA te puede ayudar en el momento.
No asumimos que sabés programar. Solo que tenés curiosidad.
Fundamentos
9¿Qué es una aplicación?
Una aplicación es un programa de software diseñado para que las personas realicen tareas específicas, ya sea desde un navegador, un celular o una computadora.
¿Qué es lo que ve el usuario?
El cliente o frontend es todo lo que corre en el dispositivo del usuario: lo que ve, toca e interactúa en una aplicación.
¿Qué pasa detrás de escena?
El backend es la parte de una aplicación que corre en el servidor, procesando datos, aplicando reglas de negocio y comunicándose con bases de datos.
¿Cómo recuerda cosas una app?
El estado es la información que una aplicación necesita recordar en un momento dado para funcionar correctamente.
¿Cómo se mueve la información?
El flujo de datos describe cómo la información viaja entre el usuario, el frontend, el backend y la base de datos en una aplicación.
¿Cómo se configura una app sin tocar el código?
Valores de configuración que se definen fuera del código para adaptar la aplicación a cada ambiente.
¿Qué pasa cuando algo sale mal en el código?
Situaciones inesperadas que ocurren durante la ejecución de un programa y cómo manejarlas.
¿Qué tipos de valores maneja un programa?
Las diferentes categorías de valores que un programa puede almacenar y manipular.
¿Qué son todos esos archivos en un proyecto?
Los archivos y carpetas que vas a encontrar en cualquier proyecto de código, y para qué sirve cada uno.
Internet
7¿Qué es un dominio?
Un dominio es el nombre legible que identifica a un sitio web en internet, como google.com o miapp.com.ar.
¿Cómo se traduce un nombre a una dirección?
El DNS es el sistema que traduce nombres de dominio legibles (como google.com) a direcciones IP numéricas que las computadoras entienden.
¿Cómo viajan los datos por internet?
HTTP es el protocolo que define cómo se comunican el navegador y el servidor; HTTPS agrega una capa de encriptación para proteger esos datos.
¿Qué pasa cuando el navegador pide algo?
Un request en red es el proceso completo que ocurre cuando el navegador pide un recurso a un servidor, desde la resolución DNS hasta recibir la respuesta.
¿Cómo aparece un sitio en Google?
Técnicas para que tu sitio web aparezca en los primeros resultados de los buscadores.
¿Cómo recuerda un sitio web quién sos?
Pequeños archivos de datos que el navegador almacena para recordar información entre visitas.
¿Por qué el navegador bloquea peticiones a otros dominios?
Un mecanismo de seguridad que controla qué dominios pueden acceder a los recursos de tu servidor.
Interfaz
9¿Qué es una interfaz de usuario?
La UI es el conjunto de elementos visuales e interactivos que permiten a una persona usar una aplicación.
¿Qué hace que una app sea fácil de usar?
La UX es la percepción general que tiene una persona al usar una aplicación, abarcando facilidad de uso, eficiencia y satisfacción.
¿Cómo recibe datos una app?
Los formularios son el principal mecanismo que tienen las aplicaciones para recibir información del usuario.
¿Cómo se mueve el usuario por la app?
La navegación es el sistema que permite al usuario moverse entre las distintas secciones y páginas de una aplicación.
¿Cómo le avisa la app al usuario qué está pasando?
El feedback son las señales visuales y mensajes que una aplicación usa para comunicarle al usuario qué está pasando en cada momento.
¿Cómo se construye una interfaz pieza por pieza?
Piezas reutilizables e independientes que conforman la interfaz de una aplicación.
¿Cómo se adapta una app a distintos dispositivos?
Técnicas para que una interfaz se adapte a cualquier tamaño de pantalla.
¿Cómo se hace una app usable para todos?
Prácticas para hacer que una aplicación sea usable por todas las personas, incluyendo aquellas con discapacidades.
¿Cómo se agrega movimiento a una interfaz?
Transiciones y movimientos visuales que mejoran la experiencia del usuario en una interfaz.
Comunicación
7¿Cómo se comunican las partes?
Una interfaz que permite a dos aplicaciones comunicarse entre sí
¿Cómo son los mensajes entre cliente y servidor?
El modelo de comunicación donde un cliente envía un pedido (request) y el servidor devuelve una respuesta (response).
¿Cómo avisa un sistema a otro que algo pasó?
Un mecanismo donde un servidor envía automáticamente datos a otro sistema cuando ocurre un evento, sin que el otro tenga que preguntar.
¿Cómo se conecta una app con otras?
El proceso de conectar tu aplicación con servicios y plataformas externas para aprovechar funcionalidades que ya existen.
¿Cómo pedir solo los datos que necesitás?
Un lenguaje de consultas para APIs que permite pedir exactamente los datos que necesitás.
¿Cómo se comunican los servicios de forma eficiente?
Un protocolo de comunicación de alto rendimiento para conectar servicios entre sí.
¿Cómo puede el servidor enviar datos sin que se los pidan?
Un mecanismo para que el servidor envíe actualizaciones al cliente en tiempo real a través de HTTP.
Datos
8¿Dónde se guardan los datos?
Un sistema organizado para almacenar, gestionar y recuperar información
¿Cómo se asegura que los datos no se pierdan?
La capacidad de almacenar datos de forma duradera para que sobrevivan al cierre de la aplicación o del servidor.
¿Cómo se acelera el acceso a los datos?
Una capa de almacenamiento temporal que guarda datos frecuentemente usados para acelerar su acceso.
¿Cómo se buscan datos rápidamente?
Una técnica de bases de datos que crea estructuras auxiliares para encontrar datos mucho más rápido sin recorrer toda la tabla.
¿Cómo se cambia la estructura de la base de datos?
Scripts que modifican la estructura de la base de datos de forma controlada y reversible.
¿Cómo se habla con la base de datos desde el código?
Una herramienta que permite interactuar con la base de datos usando objetos en vez de SQL.
¿Cómo se protegen los datos contra pérdidas?
Copias de seguridad de los datos para poder recuperarlos en caso de pérdida o error.
¿Cómo se muestran miles de registros sin colapsar?
Una técnica para dividir grandes conjuntos de datos en páginas más pequeñas y manejables.
Usuarios
7¿Cómo sabe la app quién sos?
El proceso de verificar la identidad de un usuario en una aplicación
¿Cómo sabe la app qué podés hacer?
El proceso de determinar qué acciones o recursos tiene permitido acceder un usuario ya autenticado.
¿Cómo recuerda la app que ya iniciaste sesión?
El mecanismo que permite a una aplicación recordar que un usuario ya inició sesión mientras navega entre páginas.
¿Cómo se administran los usuarios?
El conjunto de funcionalidades que permiten a los usuarios crear, modificar y eliminar sus cuentas dentro de una aplicación.
¿Cómo funciona 'Iniciar sesión con Google'?
Un protocolo que permite a los usuarios iniciar sesión con sus cuentas de Google, GitHub u otros servicios.
¿Cómo se controla quién puede hacer qué?
Un sistema para controlar qué puede hacer cada usuario dentro de una aplicación.
¿Cómo se guía a un usuario nuevo?
El proceso de guiar a un usuario nuevo para que entienda y empiece a usar tu aplicación.
Archivos
5¿Dónde se guardan los archivos?
Cómo y dónde se guardan los archivos que sube o genera una aplicación
¿Cómo se comparten archivos de forma segura?
Cómo controlar quién puede acceder a los archivos almacenados en tu aplicación
¿Cómo se entregan archivos rápido en todo el mundo?
Una red de servidores distribuidos que acelera la entrega de archivos a usuarios en todo el mundo
¿Cómo se reduce el peso de los archivos?
Técnicas para reducir el tamaño de archivos y datos para transferirlos más rápido.
¿Cómo se muestran imágenes sin que la página sea lenta?
Técnicas para servir imágenes de forma eficiente sin sacrificar calidad visual.
Procesamiento
8¿Qué pasa cuando la app espera una respuesta?
Un modelo de ejecución donde cada operación espera a que la anterior termine antes de continuar
¿Cómo hace la app varias cosas a la vez?
Un modelo de ejecución donde las tareas se inician sin esperar a que las anteriores terminen
¿Cómo se organizan las tareas pendientes?
Un sistema que organiza y distribuye tareas pendientes para que se procesen en orden
¿Quién ejecuta las tareas en segundo plano?
Procesos que se ejecutan en segundo plano para realizar tareas sin afectar la experiencia del usuario
¿Cómo se ejecutan tareas automáticamente?
Tareas que se ejecutan automáticamente en horarios o intervalos definidos
¿Cómo se evita que alguien abuse de una API?
Un mecanismo para limitar la cantidad de peticiones que un cliente puede hacer en un período de tiempo.
¿Cómo se procesan miles de registros de forma eficiente?
Procesamiento de grandes volúmenes de datos en lotes en vez de uno por uno.
¿Cómo se hacen varias cosas a la vez?
La capacidad de un programa de manejar múltiples tareas al mismo tiempo.
Tiempo real
4¿Qué es un evento en una aplicación?
Señales que emite una aplicación cuando algo sucede, permitiendo que otras partes reaccionen
¿Cómo mantiene la app una conexión abierta?
Un protocolo que mantiene una conexión abierta entre el cliente y el servidor para comunicación bidireccional en tiempo real
¿Cómo se envían datos continuamente?
Una técnica para enviar datos de forma continua sin esperar a que todo esté listo
¿Cómo avisa la app algo en tiempo real?
Mecanismos que usa una aplicación para avisar al usuario que algo importante ocurrió
Arquitectura
8¿Qué es un monolito?
Un monolito es una arquitectura de software donde toda la aplicación vive en un único código base y se despliega como una sola unidad.
¿Qué son los microservicios?
Los microservicios son una arquitectura donde la aplicación se divide en servicios pequeños e independientes que se comunican entre sí.
¿Cómo se organiza el código en partes?
La modularidad es el principio de organizar el código en partes independientes y reutilizables, cada una con una responsabilidad clara.
¿Qué pasa cuando una parte depende de otra?
Las dependencias son paquetes o módulos externos que tu proyecto necesita para funcionar.
¿Cómo se divide una app en servicios independientes?
Un patrón de arquitectura donde la aplicación se divide en servicios pequeños e independientes.
¿Cómo se unifica el acceso a múltiples servicios?
Un punto de entrada único que gestiona todas las peticiones a los distintos servicios de una aplicación.
¿Cómo se registra todo lo que pasa en una app?
Un patrón donde cada cambio en la aplicación se registra como un evento inmutable.
¿Existen recetas para problemas comunes de código?
Soluciones probadas a problemas comunes de diseño de software.
Infraestructura
8¿Dónde vive una aplicación?
Un servidor es una computadora que almacena y ejecuta aplicaciones para que los usuarios puedan acceder a ellas.
¿Cómo se publica una app?
El deploy es el proceso de publicar una aplicación para que los usuarios puedan acceder a ella.
¿Cómo crece una app?
La escalabilidad es la capacidad de una aplicación para manejar más carga de trabajo sin perder rendimiento.
¿Cómo se registra lo que pasa?
Los logs son registros de eventos que genera una aplicación para que los desarrolladores puedan entender qué pasó y cuándo.
¿Cómo se vigila que todo funcione?
El monitoreo es la práctica de observar continuamente una aplicación para detectar problemas antes de que afecten a los usuarios.
¿Cómo se empaqueta una app para que funcione en cualquier lado?
Una tecnología que empaqueta una aplicación con todo lo que necesita para funcionar en cualquier lugar.
¿Cómo se reparte el tráfico entre servidores?
Un componente que distribuye el tráfico entrante entre varios servidores para evitar sobrecarga.
¿Cómo se protege la comunicación en internet?
Protocolos de seguridad que cifran la comunicación entre el navegador y el servidor.
Versionado
8¿Dónde se guarda el código?
Un repositorio es el lugar donde se almacena todo el código fuente de un proyecto junto con su historial de cambios.
¿Cómo se manejan las versiones del código?
El versionado es el proceso de registrar y gestionar los cambios que se hacen en el código a lo largo del tiempo.
¿Qué es una rama?
Una branch (rama) es una línea de desarrollo independiente que permite trabajar en cambios sin afectar el código principal.
¿Qué es un commit?
Un commit es una foto del estado de tu código en un momento específico, acompañada de un mensaje que describe qué se cambió.
¿Cómo se revisan los cambios antes de unirlos?
Un pull request es una solicitud para incorporar los cambios de una rama al código principal, permitiendo revisión y discusión antes del merge.
¿Cómo se unen los cambios?
Un merge es la operación de unir los cambios de una rama con otra, combinando el trabajo de diferentes líneas de desarrollo.
¿Cómo se rastrean los cambios?
El control de cambios es el conjunto de prácticas y herramientas para rastrear qué se modificó en el código, quién lo hizo y cuándo.
¿Cómo trabajan varias personas en el mismo código?
La colaboración en código es el conjunto de prácticas y flujos de trabajo que permiten que varias personas trabajen en el mismo proyecto sin pisarse.
Testing
8¿Cómo se prueba que una app funcione?
El testing es el proceso de verificar que el software funciona como se espera antes de que llegue a los usuarios.
¿Qué es el control de calidad?
QA (Quality Assurance) es el proceso sistemático de asegurar que un producto de software cumple con los estándares de calidad antes de llegar a los usuarios.
¿Qué es un bug?
Un bug es un error en el software que hace que se comporte de forma inesperada o incorrecta.
¿Cómo se automatizan las pruebas?
El testing automatizado consiste en escribir código que verifica automáticamente que tu software funciona correctamente.
¿Cómo se elige entre dos opciones?
El A/B testing es una técnica para comparar dos versiones de algo y determinar cuál funciona mejor con datos reales.
¿Cómo se testea código que depende de servicios externos?
Una técnica de testing que simula dependencias externas para probar código de forma aislada.
¿Cómo se prueba que todo funcione junto?
Pruebas que verifican que múltiples partes de la aplicación funcionan correctamente juntas.
¿Cuánto código están cubriendo los tests?
Una métrica que indica qué porcentaje del código está cubierto por tests automatizados.
Automatización
5¿Cómo se automatizan procesos?
Un workflow es una secuencia de pasos automatizados que se ejecutan para completar un proceso.
¿Cómo se encadenan tareas?
Un pipeline es una cadena de tareas que se ejecutan en secuencia, donde la salida de una etapa es la entrada de la siguiente.
¿Qué dispara una acción automática?
Un trigger es un evento o condición que dispara automáticamente la ejecución de una acción o proceso.
¿Cómo se automatiza el proceso de publicar código?
Prácticas de integración continua y deploy continuo que automatizan el camino del código a producción.
¿Cómo se automatizan tareas repetitivas?
Pequeños programas que automatizan tareas repetitivas del desarrollo.
Pagos
6¿Cómo cobra una app por única vez?
Un pago único es cuando el usuario paga una sola vez por un producto o servicio, sin compromisos recurrentes.
¿Cómo cobra una app mes a mes?
Las suscripciones permiten cobrarle al usuario de forma recurrente, generalmente mes a mes, a cambio de acceso continuo a un servicio.
¿Cómo funciona un sistema de créditos?
Un sistema de créditos permite que los usuarios compren unidades de consumo por adelantado y las gasten a medida que usan el servicio.
¿Cómo se generan facturas?
La facturación es el proceso de generar comprobantes de pago (facturas) que documentan las transacciones entre tu app y los usuarios.
¿Cómo se procesan pagos en una aplicación?
Servicios que procesan transacciones de pago de forma segura entre compradores y vendedores.
¿Cómo se devuelve el dinero de una compra?
El proceso de devolver el dinero de una transacción al comprador.
Inteligencia artificial
10¿Qué es un modelo de IA?
Un modelo de IA es un programa entrenado con datos para reconocer patrones y generar respuestas.
¿Qué entra y qué sale de un modelo?
Los inputs son los datos que recibe un modelo de IA y los outputs son las respuestas que genera.
¿Cómo se le pide algo a una IA?
Un prompt es la instrucción o texto que le das a un modelo de IA para que genere una respuesta.
¿Cómo entiende una IA el significado?
Los embeddings son representaciones numéricas que capturan el significado de un texto para que una computadora pueda comparar conceptos.
¿Qué es un agente de IA?
Un agente de IA es un sistema que puede tomar decisiones, usar herramientas y ejecutar acciones de forma autónoma.
¿Cómo genera respuestas una IA?
La inferencia es el proceso en el que un modelo de IA ya entrenado genera respuestas a partir de datos nuevos.
¿Cómo se entrena un modelo con datos propios?
El proceso de entrenar un modelo de IA existente con tus propios datos para especializarlo en una tarea.
¿Cómo puede la IA responder con información propia?
Retrieval-Augmented Generation: una técnica que combina búsqueda de documentos con generación de texto por IA.
¿Cómo leen texto los modelos de IA?
El proceso por el cual un modelo de IA descompone texto en unidades más pequeñas llamadas tokens.
¿Cómo se controla lo que responde una IA?
Mecanismos para limitar, validar y controlar las respuestas generadas por modelos de IA.
Analytics
7¿Cómo se mide lo que hacen los usuarios?
Los eventos de analytics son registros de las acciones que los usuarios realizan en tu app, usados para entender su comportamiento.
¿Qué números importan?
Las métricas son indicadores numéricos que te ayudan a entender el rendimiento y la salud de tu producto.
¿Cómo se mide un flujo de usuario?
Un funnel (embudo) es una representación de los pasos que sigue un usuario hasta completar una acción clave en tu producto.
¿Cómo se mide si los usuarios vuelven?
La retención mide si los usuarios vuelven a usar tu producto después de su primera visita.
¿Cómo se compara el comportamiento entre grupos de usuarios?
Grupos de usuarios agrupados por una característica o momento en común para analizar su comportamiento.
¿Cómo se visualizan las métricas del producto?
Paneles visuales que muestran métricas y datos clave de la aplicación en tiempo real.
¿Cómo se sabe de dónde vienen los usuarios?
El proceso de identificar de dónde vienen los usuarios y qué los llevó a convertir.
Marketing
5¿Cómo se publicita un producto digital?
Cómo funcionan los anuncios online para atraer usuarios a tu producto.
¿Cómo se arma una campaña de anuncios?
Cómo estructurar, lanzar y optimizar campañas de anuncios para tu producto digital.
¿Cómo se usan las redes sociales para un producto?
Cómo usar las redes sociales como canal de distribución y crecimiento para tu producto.
¿Cómo se recuperan usuarios que no convirtieron?
Cómo mostrar anuncios a personas que ya interactuaron con tu producto para que vuelvan y conviertan.
¿Qué es el pixel de Facebook y para qué sirve?
Un pixel es un fragmento de código que registra las acciones de los usuarios en tu sitio para medir y optimizar tus campañas publicitarias.
Producto
8¿Qué es un MVP?
Un MVP es la versión más simple de un producto que permite validar una idea con usuarios reales usando el mínimo esfuerzo posible.
¿Cómo se mejora una app?
Iterar es el proceso de mejorar un producto de manera incremental a través de ciclos cortos de construcción, medición y aprendizaje.
¿Cómo se sabe si la idea funciona?
Validar una idea es el proceso de confirmar que existe un problema real y que tu solución le importa a suficiente gente antes de invertir en construirla.
¿Cómo se sabe si el producto encaja?
El product-market fit es el punto donde tu producto satisface una necesidad real del mercado y los usuarios no querrían dejarlo.
¿Cómo se recolecta opinión de los usuarios?
El feedback de usuarios es la información que recopilás de las personas que usan tu producto para entender qué funciona, qué no y qué mejorar.
¿Cómo se planifica el futuro de un producto?
Un plan visual que define las prioridades y la dirección futura de un producto.
¿Cómo se define el precio de un producto?
Estrategias para definir cuánto cobrar por un producto o servicio digital.
¿Cómo se definen las funcionalidades desde el usuario?
Descripciones cortas de funcionalidades escritas desde la perspectiva del usuario.
Ecosistema
7¿Cómo se usan servicios de otros?
Las APIs de terceros son servicios externos que podés integrar en tu aplicación para sumar funcionalidades sin tener que desarrollarlas desde cero.
¿Cómo se conecta con sistemas externos?
Las integraciones externas son las conexiones entre tu aplicación y sistemas de terceros que permiten intercambiar datos y funcionalidades.
¿Se puede crear sin programar?
Las plataformas no-code y low-code permiten crear aplicaciones con poca o ninguna programación, usando interfaces visuales de arrastrar y soltar.
¿Qué son las plataformas?
Una plataforma es un sistema base sobre el cual se construyen, ejecutan o distribuyen aplicaciones y servicios.
¿Qué significa que un software sea de código abierto?
Software cuyo código fuente es público y cualquiera puede usar, modificar y distribuir.
¿Cómo se instalan y gestionan las librerías?
Herramientas que gestionan las dependencias y librerías que usa tu proyecto.
¿Cómo se integra fácilmente con servicios externos?
Kits de desarrollo que facilitan la integración con servicios y plataformas externas.