Una aplicación web es un programa de software que se ejecuta en un servidor y al que los usuarios acceden a través de un navegador mediante internet o intranet, sin necesidad de instalar nada localmente.
— W3C / IETF Web Architecture
Programas que ya conoces y usas diariamente son aplicaciones web
Documento HTML estático o dinámico accesible por URL.
Conjunto de páginas web relacionadas bajo un mismo dominio.
Aplicación con lógica de negocio completa, base de datos y usuarios.
Interfaz de programación que expone datos y funciones via HTTP.
El modelo fundamental de comunicación en la web: el cliente pide, el servidor responde
Modelo – Vista – Controlador: el patrón arquitectónico más usado en desarrollo web
Todo lo que el usuario ve e interactúa. Renderiza datos del Modelo sin lógica de negocio.
Intermediario. Recibe peticiones, procesa lógica y coordina Model y View.
Lógica de datos. Accede a la BD, aplica reglas de negocio y devuelve información.
| Criterio | Cliente-Servidor | Tres Capas | MVC |
|---|---|---|---|
| Organización | 2 nodos: cliente y servidor | 3 capas independientes | 3 componentes separados por rol |
| Escalabilidad | Media — limitada por servidor central | Alta — capas escalan por separado | Alta — separación clara de responsabilidades |
| Mantenimiento | Difícil — cambios afectan todo | Fácil — modificar capa sin afectar otras | Fácil — modelo, vista y control independientes |
| Reutilización | Baja | Media | Alta — componentes reutilizables |
| Uso común | Apps simples, protocolos FTP/correo | ERP, sistemas empresariales | Laravel, Django, Rails, ASP.NET |
| Complejidad inicial | Baja — simple de implementar | Media | Media — curva de aprendizaje del patrón |
Una API (Application Programming Interface) es un conjunto de reglas y protocolos que permite que dos aplicaciones se comuniquen entre sí de forma estandarizada.
— Como un menú de restaurante: defines qué puedes pedir y cómo recibirás la respuesta
GET · POST · PUT · DELETE
Identifica el tipo de app, arquitectura y uso de APIs en cada caso
"Una buena arquitectura no solo
hace funcionar una aplicación,
también permite que crezca."
— Principio de Arquitectura de Software · Clean Architecture