¿Qué es JAMstack?

Actualizado: septiembre de 2026

JAMstack es una arquitectura web que precompila el frontend en markup estático servido desde una CDN, con JavaScript y APIs para lo dinámico. La sigla — JavaScript, APIs, Markup — se apoya en dos principios: prerenderizado (el frontend se compila por adelantado en archivos estáticos optimizados) y desacoplamiento (frontend y backend solo se hablan por APIs). El reencuadre que este glosario agrega, y que las guías de frontend se saltan: la A es un backend. El famoso “sin servidor” del JAMstack no significa sin backend — significa el servidor de otra persona, accedido por una API.

Puntos clave

PreguntaRespuesta
JAMJavaScript (navegador) · APIs (dinámico) · Markup (estático precompilado)
Los dos principiosPrerenderizado + desacoplamiento
EntregaArchivos estáticos desde una CDN — sin render de origen por solicitud
La “A”APIs = un backend (BaaS, funciones, servicios headless)
“¿Está muerto?”El término se retiró; la arquitectura ganó y se volvió híbrida

El JAM en la práctica

// JavaScript — the JAM in practice: static Markup, browser JS, an API for the dynamic
// The page shell was prebuilt at build time and served from a CDN.
// The dynamic 20% — auth, data, comments — is this API call at runtime:
const query = new Parse.Query('Comment');
query.equalTo('postSlug', 'what-is-jamstack');
const comments = await query.find();
render(comments); // "no server" really means: someone else's server, via an API
// The A in JAM = APIs = a backend. A BaaS is that backend, with no server to run.

El shell de la página se precompiló y se sirvió desde el edge; los comentarios — la parte dinámica — llegan en runtime por una llamada de API. Esa única llamada es la arquitectura entera en miniatura: estático donde se puede, API donde hace falta, y el “servidor” detrás de la API es un servicio que consumes, no uno que operas.

Stack tradicional vs. JAMstack

Stack tradicional renderizado en el servidor versus JAMstackEn un stack tradicional, cada solicitud de un visitante llega a un servidor de origen que consulta una base de datos y renderiza HTML por solicitud. En JAMstack, el frontend se precompila en markup estático en el build y se sirve desde una CDN, y el JavaScript del navegador llama APIs desacopladas para los datos dinámicos, de modo que ningún servidor de origen ni base de datos queda expuesto en el camino de la solicitud.

JAMstack (precompilado + API)

JS llama APIs
para datos dinámicos

Visitante

CDN
markup estático precompilado

APIs desacopladas
BaaS · funciones · CMS

Tradicional (por solicitud)

Visitante

Servidor de origen
renderiza HTML

Base de datos

En un stack tradicional, cada solicitud de un visitante llega a un servidor de origen que consulta una base de datos y renderiza HTML por solicitud. En JAMstack, el frontend se precompila en markup estático en el build y se sirve desde una CDN, y el JavaScript del navegador llama APIs desacopladas para los datos dinámicos, de modo que ningún servidor de origen ni base de datos queda expuesto en el camino de la solicitud.
Tradicional (renderizado en el servidor)JAMstack
HTML generadoPor solicitud, en el origenEn el build, precompilado
Servido desdeUn servidor web de origenEl edge de una CDN
Datos dinámicosRenderizados inline desde la baseJavaScript llamando APIs
AcoplamientoFrontend y backend fundidosDesacoplados vía APIs
Superficie de ataqueOrigen + base expuestosArchivos estáticos + una API endurecida

De dónde viene realmente lo dinámico

La sección que los resultados de búsqueda evitan porque rompe el hechizo del “serverless”. Toda necesidad dinámica de un sitio JAMstack mapea a una llamada de API, y detrás de esa API hay un backend que alguien opera:

  • Autenticación → un servicio de identidad o BaaS emitiendo tokens.
  • Datos → una API de contenido o de base de datos devolviendo JSON.
  • Formularios → una función serverless o un servicio de formularios.
  • Búsqueda, comentarios, comercio → APIs de terceros o de backend.

Así que la descripción honesta del JAMstack es frontend estático + backend desacoplado, y el backend natural es un BaaS: aporta el 20% dinámico — base de datos, autenticación, funciones en la nube, APIs generadas automáticamente — sin ningún servidor que aprovisionar. Las páginas de proveedores empujan aquí un CMS headless, que resuelve solo contenido; un BaaS resuelve el backend dinámico completo, y por eso la dupla es la respuesta más completa a “¿cómo es dinámico un sitio estático?”

El dividendo de seguridad

Desacoplar no es solo una historia de rendimiento; es una postura de seguridad. Sin servidor de origen renderizando páginas y sin base de datos en el camino de la solicitud, la web pública ve archivos estáticos — que no sufren SQL injection y no ejecutan código de servidor que explotar. La única superficie viva es la frontera de la API — alojada aparte, endurecida de forma independiente y por lo general mucho más estrecha que la de un monolito. La entrada de arquitectura desacoplada generaliza el beneficio; en JAMstack aparece como un atacante encontrando una CDN llena de HTML plano donde antes estaba el servidor de origen.

¿JAMstack está muerto? El veredicto honesto

La pregunta más repetida merece la respuesta directa. La sigla se apagó — quien la creó retiró la marca “JAMstack” hacia 2023 en favor de “composable” y “arquitectura web moderna”, y la energía de marketing siguió su camino. La arquitectura ganó. “Precompila lo que puedas, trae el resto vía APIs, sirve desde una CDN” dejó de ser un movimiento y se volvió un default, absorbido por plataformas headless, meta-frameworks híbridos y renderizado en el edge. Lo que evolucionó fue la rigidez: el estático-en-todo puro dio paso a mezclar rutas precompiladas y renderizadas en el servidor página por página. Así que JAMstack no está muerto; es el agua en la que nada la web moderna, sin necesitar ya un nombre.

Casos de uso comunes

  • Marketing, documentación y blogs — contenido igual para todos y que cambia en ciclos previsibles: precompila y sirve desde el edge.
  • Vitrinas de e-commerce — páginas de producto estáticas al frente de una CDN, carrito y checkout vía APIs.
  • Sitios sensibles al SEO — HTML precompilado que los crawlers leen al instante, sin la penalidad de ejecutar JS.
  • Frontend estático + BaaS — el 20% dinámico (autenticación, datos, formularios) sobre un backend gestionado.
  • Lanzamientos de alto tráfico — la CDN absorbe picos como un servidor de origen no puede.

¿Deberías usar JAMstack? Matriz de decisión

SituaciónInclinación
Contenido, docs, marketing, SEO primeroJAMstack — su territorio
Frontend estático que necesita datos dinámicosJAMstack + un BaaS como API
Páginas muy personalizadas por solicitudRenderizado en el servidor o edge
App en tiempo real, altamente interactivaRenderizado en el cliente + datos en vivo
Enorme cantidad de páginas, cambios frecuentesHíbrido — precompila una parte, renderiza el resto
Superficie de ataque pequeña como prioridadJAMstack — el dividendo de seguridad

Limitaciones y trade-offs

  • El tiempo de build crece con el sitio. Precompilar miles de páginas vuelve lento el deploy; los catálogos grandes o que cambian rápido empujan hacia la regeneración híbrida.
  • Dinámico significa cableado. Cada funcionalidad interactiva es una integración de API; la simplicidad está del lado de la entrega, no necesariamente del de la construcción.
  • Editar contenido es menos llave en mano. Los editores no técnicos necesitan un CMS headless o una capa administrativa; no hay un “edita esta página” integrado como en un CMS monolítico.
  • Dependes de APIs que no son tuyas. Los servicios de terceros en el camino de la solicitud agregan riesgo de disponibilidad y versionado — el desacoplamiento corta por ambos lados.
  • No todo debería ser estático. La personalización por solicitud y los datos en tiempo real pelean con el modelo de precompilado; la respuesta moderna es mezclar, no forzar.

JAMstack en Back4app

Back4app es una plataforma open-source de Backend as a Service (BaaS) que combina base de datos gestionada, APIs REST y GraphQL generadas automáticamente, autenticación, almacenamiento de archivos y funciones serverless con Cloud Code. Es precisamente la “A” que un sitio JAMstack necesita: el shell estático se precompila y se sirve desde una CDN, y cada llamada dinámica que hace el JavaScript — login, lecturas y escrituras de datos, envío de formularios, búsqueda — resuelve a una API de Back4app, sin servidor de origen que operar y con las ACL endureciendo la única superficie viva que la arquitectura expone. La dupla es la conclusión honesta de la historia “serverless” que las pestañas de código esbozan: entrega estática desde el edge, comportamiento dinámico desde un backend gestionado, y el dividendo de seguridad de una web pública que ve archivos planos en vez de tu base de datos.

Preguntas frecuentes

¿Qué es JAMstack?

Una arquitectura web que precompila el frontend en markup estático en el build, lo sirve desde una CDN y usa JavaScript en el navegador llamando APIs para todo lo dinámico — desacoplando el frontend del backend. Es un patrón de arquitectura, no un framework ni un producto.

¿Qué significa JAM?

JavaScript, APIs y Markup. El JavaScript corre en el navegador para la interactividad; las APIs proveen los datos dinámicos y las operaciones del lado del servidor; el Markup es el HTML estático precompilado servido desde el edge. Los dos principios fundadores debajo de la sigla son el prerenderizado y el desacoplamiento.

¿Cuál es la diferencia entre JAMstack y un stack tradicional?

Un stack tradicional, como un CMS acoplado a una base de datos, renderiza cada página en un servidor, por solicitud, consultando la base de datos. JAMstack sirve archivos estáticos precompilados desde una CDN y llama APIs solo para las partes dinámicas — sin servidor de origen renderizando la página en cada visita, y sin base de datos expuesta a la web pública.

¿Los sitios JAMstack pueden ser dinámicos?

Sí — la funcionalidad dinámica llega en runtime, con JavaScript llamando APIs: funciones serverless, un CMS headless, servicios de terceros o un Backend as a Service. La parte "estática" es solo el shell; autenticación, datos, búsqueda y comercio llegan todos por llamadas de API.

¿Cómo manejas autenticación, datos y formularios sin backend?

Sí tienes un backend — solo que accedido por APIs, en vez de operado por ti. La autenticación pasa por un servicio de identidad o un BaaS que emite tokens; los datos vienen de una API de contenido o de base de datos; los formularios hacen POST a una función serverless o a un servicio de formularios. Toda necesidad "dinámica" mapea a una llamada de API.

¿Cuál es la diferencia entre JAMstack y SSR?

El timing. SSR renderiza HTML en el servidor por solicitud; JAMstack prerrenderiza en el build y sirve archivos estáticos. Los frameworks modernos los mezclan — rutas estáticas precompiladas, rutas dinámicas renderizadas en el servidor o regeneradas — que es el híbrido hacia el que evolucionó la idea del JAMstack.

¿JAMstack está muerto?

El término de marketing se apagó — quien lo creó retiró la etiqueta hacia 2023 en favor de "composable" y "arquitectura web moderna". Pero la arquitectura ganó: precompilar lo que se pueda, traer el resto vía APIs y servir desde una CDN es simplemente cómo se construye buena parte de la web hoy, viviendo dentro de CMS headless, frameworks híbridos y plataformas de edge.

¿Cuándo deberías usar JAMstack?

Brilla en sitios de contenido, marketing, documentación y páginas sensibles al SEO, donde la velocidad y una superficie de ataque pequeña importan, además de vitrinas de e-commerce apoyadas en APIs. Encaja menos en apps muy en tiempo real o personalizadas por solicitud, donde el renderizado en el servidor o en el edge es la mejor herramienta.

Términos relacionados

Compara con

Lecturas recomendadas

¿Listo para construir tu backend?

Empieza tu proyecto en Back4app en minutos — base de datos, autenticación, APIs y Cloud Code incluidos. Sin tarjeta de crédito.

Escrito y revisado por Back4app Engineering, Back4app Engineering · Publicado el 2026-09-04