> For the complete documentation index, see [llms.txt](https://tonior.gitbook.io/guia-de-desarrollo-web/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://tonior.gitbook.io/guia-de-desarrollo-web/readme.md).

# Introducción

> Una guía integral para diseñar, construir y escalar aplicaciones web en la era de la IA

## Sobre este libro

Este no es un libro sobre cómo escribir código. Es un libro sobre **cómo pensar** en el desarrollo de aplicaciones web modernas.

En un mundo donde las herramientas de IA pueden generar código, el valor del desarrollador se ha desplazado hacia:

* **Antes**: Entender el problema, diseñar la solución, planificar la arquitectura
* **Después**: Validar, probar, desplegar, escalar y mantener

Este libro es una guía viva, diseñada para evolucionar junto con la industria.

***

## Cómo usar este libro

### Si eres desarrollador junior

Comienza desde el Capítulo 1 y avanza secuencialmente. Los conceptos se construyen uno sobre otro.

### Si eres desarrollador experimentado

Usa el índice como referencia. Cada capítulo es autocontenido y enlaza a conceptos relacionados cuando es necesario.

### Convenciones

* 📖 **Concepto**: Explicación teórica agnóstica a tecnología
* 🛠️ **Práctica**: Implementación concreta con stack específico
* ⚠️ **Advertencia**: Errores comunes a evitar
* 💡 **Insight**: Perspectiva o tip avanzado
* 🤖 **IA**: Cómo aplicar inteligencia artificial en este contexto

***

## Índice

### Parte I: El Nuevo Paradigma

*Contexto y fundamentos para entender el desarrollo web moderno*

1. [**La Evolución del Desarrollador Web**](/guia-de-desarrollo-web/parte-i-el-nuevo-paradigma/01-evolucion-desarrollador.md)
   * Del webmaster al ingeniero de producto
   * El impacto de la IA en el desarrollo
   * Las nuevas habilidades críticas
   * El ciclo completo: antes, durante y después
2. [**Anatomía de una Aplicación Web Moderna**](/guia-de-desarrollo-web/parte-i-el-nuevo-paradigma/02-anatomia-aplicacion.md)
   * Cliente, servidor y la nube
   * El DOM: cómo el navegador representa la página
   * Monolitos vs microservicios vs serverless
   * El stack moderno: capas y responsabilidades
   * Cómo fluyen los datos: del click al pixel
3. [**Pensamiento en Sistemas**](/guia-de-desarrollo-web/parte-i-el-nuevo-paradigma/03-pensamiento-sistemas.md)
   * Más allá del código: pensar en componentes
   * Acoplamiento y cohesión
   * Trade-offs: no hay soluciones perfectas
   * Documentar decisiones: ADRs (Architecture Decision Records)
4. [**Desarrollo Asistido por IA**](/guia-de-desarrollo-web/parte-i-el-nuevo-paradigma/04-desarrollo-asistido-ia.md)
   * El cambio de paradigma
   * Qué puede y qué no puede hacer la IA
   * El ciclo de desarrollo con IA
   * Prompting efectivo para código
   * Cuándo confiar y cuándo verificar
   * MCP: conectando la IA con el mundo

***

### Parte II: El Antes — Diseño y Planificación

*Todo lo que sucede antes de escribir la primera línea de código*

5. [**Entendiendo el Problema**](/guia-de-desarrollo-web/parte-ii-el-antes-diseno-y-planificacion/05-entendiendo-problema.md)
   * Del pedido al requerimiento
   * Técnicas de elicitación
   * User stories vs especificaciones técnicas
   * El arte de hacer las preguntas correctas
6. [**Diseño de Producto y UX**](/guia-de-desarrollo-web/parte-ii-el-antes-diseno-y-planificacion/06-diseno-producto-ux.md)
   * Pensamiento centrado en el usuario
   * Wireframes, mockups y prototipos
   * Sistemas de diseño y componentes
   * Accesibilidad desde el diseño
7. [**Arquitectura de Software**](/guia-de-desarrollo-web/parte-ii-el-antes-diseno-y-planificacion/07-arquitectura-software.md)
   * Patrones arquitectónicos: MVC, Clean Architecture, Hexagonal
   * Cuándo usar qué patrón
   * Diseñando para el cambio
   * Arquitectura evolutiva
8. [**Diseño de APIs**](/guia-de-desarrollo-web/parte-ii-el-antes-diseno-y-planificacion/08-diseno-apis.md)
   * API-First: diseñar el contrato antes del código
   * REST: principios y mejores prácticas
   * GraphQL: cuándo y por qué
   * tRPC y el type-safety end-to-end
   * Versionado y evolución de APIs
   * Documentación como ciudadano de primera clase
9. [**Modelado de Datos**](/guia-de-desarrollo-web/parte-ii-el-antes-diseno-y-planificacion/09-modelado-datos.md)
   * Pensando en entidades y relaciones
   * SQL vs NoSQL: criterios de decisión
   * Normalización vs desnormalización
   * Esquemas evolutivos y migraciones
10. [**Planificación Técnica**](/guia-de-desarrollo-web/parte-ii-el-antes-diseno-y-planificacion/10-planificacion-tecnica.md)
    * Desglose de trabajo (WBS)
    * Identificación de riesgos técnicos
    * Spikes y pruebas de concepto
    * Estimación: el arte de lo imposible

***

### Parte III: El Durante — Implementación

*Patrones y prácticas para construir software de calidad*

11. [**Arquitectura Frontend**](/guia-de-desarrollo-web/parte-iii-el-durante-implementacion/11-arquitectura-frontend.md)
    * Componentes: la unidad básica
    * Estado: local, global y servidor
    * Routing y navegación
    * Renderizado: CSR, SSR, SSG, ISR
    * Performance frontend
12. [**Arquitectura Backend**](/guia-de-desarrollo-web/parte-iii-el-durante-implementacion/12-arquitectura-backend.md)
    * Capas y separación de responsabilidades
    * Controllers, Services, Repositories
    * Inyección de dependencias
    * Manejo de errores y excepciones
    * Logging estructurado
13. [**Autenticación y Autorización**](https://github.com/jaromeroh/guia-desarrollo-web/blob/main/chapters/13-autenticacion-autorizacion.md)
    * Identidad vs permisos
    * Sessions vs tokens (JWT)
    * OAuth 2.0 y OpenID Connect
    * RBAC, ABAC y políticas de acceso
    * Seguridad en la práctica
14. [**Comunicación y Datos en Tiempo Real**](https://github.com/jaromeroh/guia-desarrollo-web/blob/main/chapters/14-tiempo-real.md)
    * HTTP: request-response tradicional
    * WebSockets: comunicación bidireccional
    * Server-Sent Events (SSE)
    * Polling y Long Polling
    * Cuándo usar cada enfoque
15. [**Persistencia y Bases de Datos**](https://github.com/jaromeroh/guia-desarrollo-web/blob/main/chapters/15-persistencia.md)
    * Patrones de acceso a datos
    * ORMs vs Query Builders vs SQL puro
    * Transacciones y consistencia
    * Caching: estrategias y invalidación
    * Búsqueda: índices y full-text search
16. [**Manejo de Tareas Asíncronas**](https://github.com/jaromeroh/guia-desarrollo-web/blob/main/chapters/16-tareas-asincronas.md)
    * Jobs y queues
    * Procesamiento en background
    * Patrones de retry y circuit breaker
    * Event-driven architecture
    * CQRS y Event Sourcing (introducción)

***

### Parte IV: El Después — Calidad y Operaciones

*Asegurar que el software funciona y sigue funcionando*

17. [**Estrategias de Testing**](https://github.com/jaromeroh/guia-desarrollo-web/blob/main/chapters/17-testing.md)
    * La pirámide de testing (y sus alternativas)
    * Unit tests: qué probar y qué no
    * Integration tests: probando colaboraciones
    * E2E tests: el usuario como criterio
    * Testing de APIs
    * TDD y BDD: cuándo tienen sentido
18. [**Integración y Entrega Continua**](https://github.com/jaromeroh/guia-desarrollo-web/blob/main/chapters/18-ci-cd.md)
    * El pipeline como código
    * Builds reproducibles
    * Estrategias de branching
    * Feature flags y trunk-based development
    * Ambientes: dev, staging, production
19. [**Deployment y Infraestructura**](https://github.com/jaromeroh/guia-desarrollo-web/blob/main/chapters/19-deployment.md)
    * Contenedores y Docker
    * Orquestación: Kubernetes básico
    * Plataformas: Vercel, Railway, Fly.io, AWS
    * Infrastructure as Code
    * Estrategias de deployment: blue-green, canary, rolling
20. [**Observabilidad**](https://github.com/jaromeroh/guia-desarrollo-web/blob/main/chapters/20-observabilidad.md)
    * Los tres pilares: logs, métricas, traces
    * Monitoreo proactivo vs reactivo
    * Alertas que importan
    * Debugging en producción
    * Post-mortems y cultura de aprendizaje
21. [**Escalabilidad y Performance**](https://github.com/jaromeroh/guia-desarrollo-web/blob/main/chapters/21-escalabilidad.md)
    * Escalado vertical vs horizontal
    * Cuellos de botella comunes
    * CDNs y edge computing
    * Rate limiting y throttling
    * Optimización: medir antes de actuar
22. [**Seguridad en Aplicaciones Web**](https://github.com/jaromeroh/guia-desarrollo-web/blob/main/chapters/22-seguridad.md)
    * OWASP Top 10: entendiendo las amenazas
    * Input validation y sanitization
    * CORS, CSP y headers de seguridad
    * Secrets management
    * Auditoría y compliance

***

### Parte V: Stacks en Práctica

*Implementaciones concretas de los conceptos anteriores*

23. [**Stack: Next.js + Node.js**](https://github.com/jaromeroh/guia-desarrollo-web/blob/main/chapters/23-stack-nextjs.md)
    * Estructura de proyecto recomendada
    * Patrones con App Router
    * Server Actions y Server Components
    * Integración con bases de datos
    * Deployment en Vercel
24. [**Stack: Python + FastAPI**](https://github.com/jaromeroh/guia-desarrollo-web/blob/main/chapters/24-stack-fastapi.md)
    * Estructura de proyecto recomendada
    * Type hints y Pydantic
    * Async/await en Python
    * SQLAlchemy y Alembic
    * Deployment con Docker
25. [**Stack: Go + APIs de Alto Rendimiento**](https://github.com/jaromeroh/guia-desarrollo-web/blob/main/chapters/25-stack-go.md)
    * Estructura de proyecto recomendada
    * El stdlib de Go para web
    * Concurrencia y goroutines
    * Testing en Go
    * Deployment como binarios

***

### Parte VI: El Futuro

*Hacia dónde vamos*

26. [**La Nueva Capa de Abstracción**](/guia-de-desarrollo-web/parte-vi-el-futuro/26-nueva-capa-abstraccion.md)
    * El terremoto de magnitud 9
    * Agents, subagents, contexto y memoria
    * MCP: el protocolo que conecta todo
    * Configurando tu entorno agentico
    * El modelo mental para entidades estocásticas
    * Patrones y antipatrones
27. [**Tendencias y Horizontes**](https://github.com/jaromeroh/guia-desarrollo-web/blob/main/chapters/27-tendencias.md)
    * Edge computing y distribución global
    * WebAssembly y nuevas posibilidades
    * La convergencia de frontend y backend
    * Desarrollo low-code/no-code
    * Qué permanece constante

***

### Apéndices

* [**A: Glosario**](https://github.com/jaromeroh/guia-desarrollo-web/blob/main/appendices/glosario.md)
* [**B: Herramientas Recomendadas**](https://github.com/jaromeroh/guia-desarrollo-web/blob/main/appendices/herramientas.md)
* [**C: Recursos de Aprendizaje**](https://github.com/jaromeroh/guia-desarrollo-web/blob/main/appendices/recursos.md)
* [**D: Plantillas y Checklists**](https://github.com/jaromeroh/guia-desarrollo-web/blob/main/appendices/plantillas.md)
* [**E: Referencias y Bibliografía**](https://github.com/jaromeroh/guia-desarrollo-web/blob/main/appendices/referencias.md)

***

## Contribuir

Este es un libro vivo. Si encuentras errores, tienes sugerencias o quieres contribuir:

1. Abre un issue describiendo tu propuesta
2. Sigue las guías de estilo del proyecto
3. Envía un PR con tus cambios

## Licencia

Este trabajo está bajo una licencia [Creative Commons Atribución-NoComercial 4.0 Internacional (CC BY-NC 4.0)](https://creativecommons.org/licenses/by-nc/4.0/deed.es).

**Puedes:**

* Compartir — copiar y redistribuir el material en cualquier medio o formato
* Adaptar — remezclar, transformar y construir a partir del material

**Bajo los siguientes términos:**

* **Atribución** — Debes dar crédito apropiado, proporcionar un enlace a la licencia e indicar si se han realizado cambios
* **NoComercial** — No puedes usar el material con fines comerciales

[![CC BY-NC 4.0](https://licensebuttons.net/l/by-nc/4.0/88x31.png)](https://creativecommons.org/licenses/by-nc/4.0/deed.es)

***

*Última actualización: Enero 2026*


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://tonior.gitbook.io/guia-de-desarrollo-web/readme.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
