PageKit: el creador de sitios GrapesJS autoalojado, con el código fuente incluido. Obtener acceso anticipado

Constructor sin código para desarrolladores

Crea un Creador de Sitios Web Sin Código con GrapesJS

Deja que tus usuarios construyan las páginas visualmente mientras tu equipo de desarrollo controla el editor, los componentes, el sistema de diseño, los datos, los permisos y el flujo de trabajo de publicación. Tú construyes el producto. GrapesJS es el motor de edición dentro de él.

Núcleo de código abierto, BSD-3-ClauseAutoalojado — no hay proveedor de editores en tu stackReact, Vue, Angular, Next.jsTu base de datos, tu canal de publicación
app.yourproduct.com/pages/homeTu producto
Puesto: Marketing
  • Escritorio
  • Tableta
  • Móvil
Vista previaPublicar
  • Bloques
  • Capas
  • Hero
  • Características
  • Precios
  • Testimonio
  • CTA

Capas

  • Página
  • Cabecera
  • Hero
  • Título

Página principal — borrador

Bloqueado
Sección Hero
Tus usuarios obtienen una experiencia sin código. Tu equipo mantiene el control total.
En directo, en esta página

Un editor visual de verdad, funcionando aquí mismo

Esto es GrapesJS en sí, arrancado en tu navegador en esta página — no es una captura de pantalla ni un vídeo. Arrastra un bloque, selecciona un elemento y cambia el estilo. Todo en el lienzo es HTML y CSS simples, que es exactamente lo que tus usuarios estarían produciendo.

  • Arrastrar y soltar
  • Style Manager
  • Árbol de capas
  • Vistas responsivas
  • Deshacer / rehacer
Alcance

¿Qué estás construyendo realmente?

No estás instalando un creador de páginas. Estás añadiendo una función de edición sin código a un producto que ya posees — con tus usuarios, tus permisos, tus datos y tu publicación. El editor visual es una capa de eso, y es la capa que no tienes que escribir.

La cadena, de extremo a extremo

  1. Tu producto
  2. Tus usuarios
  3. Editor sin código
  4. GrapesJS
  5. Tu API / base de datos
  6. Vista previa / publicación
  7. Tu página web de producción
Siete capas. Exactamente una de ellas es GrapesJS.

Cada capa por encima y por debajo del motor es tu producto. Ahí es donde reside tu diferenciación — y es donde debe ir tu tiempo de ingeniería.

Límite de responsabilidad

¿Quién es el Propietario de Qué?

Lo más útil que debes decidir antes de escribir cualquier código: qué subsistema pertenece a tu aplicación, cuál viene con el editor y cuál puedes comprar ya de fábrica. Todo lo que necesita un servidor está a la izquierda.

Tu aplicación
  • AutenticaciónSesiones, tokens, SSO
  • UsuariosCuentas y perfiles
  • OrganizacionesTeams, espacios de trabajo, inquilinos
  • FacturaciónPlanes, cuotas, facturas
  • PermisosQuién puede editar, revisar y publicar
  • Lógica de negocioLas reglas reales de tu producto
  • Base de datosDonde se desarrollan los proyectos y revisiones
  • PublicaciónConvertir una página aprobada en una URL activa
  • AnalíticaQué hicieron los visitantes con la página
GrapesJS
  • Edición visualManipulación directa en un lienzo vivo
  • Lienzo y arrastrar y soltarOrdenación, anidamiento, zonas de destino
  • ComponentesNodos tipados con su propio comportamiento
  • BloquesLa paleta que un usuario arrastra
  • EstiloStyle Manager, sectores, clases
  • RasgosCampos de configuración por componente
  • CapasEl árbol de componentes, navegable
  • ComandosDeshacer, rehacer, previsualizar, acciones personalizadas
  • Edición responsivaPuntos de interrupción de dispositivos en el lienzo
  • Estado del editorProyecto JSON entrando, proyecto JSON saliendo
Plugins GJS.Market
  • Bibliotecas de bloques adicionalesTailwind, Bootstrap, paquetes de secciones
  • Componentes adicionalesTablas, deslizadores, formularios, pestañas
  • Adaptadores de almacenamientoDirectus, Firebase, IndexedDB
  • Extensiones del editor UIPaneles y carcasas alternativas
  • Auxiliares de flujo de trabajoExportar, desplegar, vista de código

Nada que requiera un servidor aparece en GrapesJS. El editor se ejecuta en el navegador; no tiene idea de quién está conectado.

El verdadero coste

Por qué es difícil construir un editor sin código

Un editor visual parece una demo de arrastrar y soltar hasta que lanzas uno. Estos son los subsistemas que resultan ser obligatorios, más o menos en el orden en que el gesto del usuario los recorre — y cada uno tiene que seguir funcionando mientras los demás cambian.

  • Un lienzo de arrastrar y soltar con objetivos de caída válidos y reglas de anidamiento
  • Un sistema de componentes con tipos, valores predeterminados y comportamiento por tipo
  • Manipulación DOM que sobrevive a una estructura de usuario arbitraria
  • Gestión de estilos que escribe CSS real, no sopa en línea
  • Edición responsiva entre puntos de interrupción
  • Deshacer / rehacer sobre cada una de las anteriores
  • Una paleta de bloques sobre la que los usuarios pueden razonar
  • Componentes reutilizables que se actualizan en todas partes a la vez
  • Gestión de activos: subir, navegar, reemplazar, eliminar
  • Un árbol de capas para seleccionar lo que un ratón no puede alcanzar
  • Un sistema de comandos para que las características sean direccionables y scriptables
  • Persistencia que no pierda ni una hora de trabajo
  • Serialización lo suficientemente estable para recargar y para diferenciar
  • Vista previa que coincida con lo que verá un visitante
  • Publicaciones que producen resultados limpios y desplegables
  • UI personalizado, porque los paneles por defecto nunca son tu producto
  • Una arquitectura de plugins, o todo se calcifica

Nada de eso es tu producto. Construir el producto alrededor de un motor de editor existente es un proyecto fundamentalmente diferente a construir el propio motor de editores: el primero entrega una funcionalidad, el segundo compromete a un equipo a mantener un editor para siempre.

El motor

¿Por qué usar GrapesJS para un generador sin código?

GrapesJS es un framework de editor visual de código abierto que tú mismo alojas e integras. Te proporciona la capa de edición — lienzo, componentes, estilo, paneles, comandos — como módulos documentados que configuras, amplías o reemplazas. Cada módulo a continuación enlaza con su propia documentación, para que puedas comprobar cada reclamación antes de comprometerte.

Versión 0.23.6, con licencia BSD-3-Clause; el envoltorio oficial @grapesjs/react es MIT. Ambos permiten uso comercial. Lo que GrapesJS no incluye es igualmente importante: no hay backend, no hay usuarios, ni permisos ni pipeline de publicación — véase el límite de responsabilidad arriba.

El diferenciador

No código no significa no tener control

Un creador profesional sin código nunca expone todo el editor a todos los usuarios. Esa es la diferencia entre un juguete y una función de producto. Tu equipo decide — por rol, por plantilla, por componente — cuánto del editor puede alcanzar una persona determinada.

Diez decisiones que siguen siendo tuyas

  • ¿Qué bloques están disponibles?Registra solo los bloqueos que este rol debería ver.Seleccionado
  • Qué componentes pueden editarseFlags de 'editable' y 'seleccionable' por tipo.Seleccionado
  • Qué estilos están permitidosLos sectores Style Manager que definas, nada más.Seleccionado
  • ¿Qué propiedades son visiblesRecorta un sector a dos campos si esa es la respuesta correcta.Seleccionado
  • ¿Qué componentes están bloqueados?El cabezazo y el pie de campo se mantienen intocables.Bloqueado
  • Qué áreas son editablesUna ranura editable dentro de una plantilla fija.Seleccionado
  • ¿Qué áreas son de solo lectura?Texto legal, precios, bloqueos de cumplimiento.Bloqueado
  • ¿Qué fichas de diseño están disponiblesLos colores de la marca y la escala de tipos son las únicas opciones.Seleccionado
  • Quién puede modificar plantillasLa creación de plantillas es una capacidad aparte de la edición de páginas.Bloqueado
  • Quién puede publicarEl botón de publicar es una pista UI; tu API es la puerta.Bloqueado
editor-config.jsJS
const editor = grapesjs.init({
  container: '#editor',
  // 1. The user only ever sees blocks you registered.
  blockManager: { blocks: approvedBlocks(user.role) },
  // 2. The Style Manager only offers properties you allow.
  styleManager: { sectors: allowedSectors(user.role) },
  // 3. Devices are your breakpoints, not arbitrary widths.
  deviceManager: { devices: BRAND_BREAKPOINTS },
});

// 4. Lock the chrome: a marketer never edits the header or the footer.
editor.on('component:add', (component) => {
  if (LOCKED_TYPES.includes(component.get('type'))) {
    component.set({
      editable: false,
      draggable: false,
      removable: false,
      copyable: false,
    });
  }
});

// 5. Hide panels this role has no business seeing.
if (!user.can('edit_code')) {
  editor.Panels.removeButton('options', 'export-template');
}

// Every line above is a RENDERING decision. The server still checks
// user.can('publish') before it accepts the payload.

Todo lo anterior es una decisión de renderizado. Ocultar un panel no es un permiso: un usuario determinado aún puede llamar al API del editor desde una consola. Tu backend debe revisar las mismas reglas antes de aceptar una partida guardada o una publicación. Consulta la sección de roles más abajo.

Mismo motor, productos diferentes

Un editor. Experiencias de usuario diferentes.

No necesitas tres editores para atender a tres tipos de usuario. Una instancia GrapesJS, configurada desde el rol del usuario iniciado sesión, produce tres productos realmente diferentes. Cada columna siguiente muestra lo que añade a la anterior.

  1. 1Principiante

    Rellena la página

    Para personas que nunca han abierto una herramienta de diseño y nunca deberían tener que hacerlo.

    • Editar el texto en su lugar
    • Sustituir imágenes de la biblioteca de recursos
    • Inserta bloques aprobados
    • Reordenar secciones dentro de una plantilla
    • No hay panel de estilo en absoluto
  2. 2Marketer

    Construye la página

    Añade todo lo que un propietario de campaña necesita para lanzar sin desarrollador.

    • Crear nuevas secciones desde cero
    • Empieza con plantillas
    • Ajustar la disposición y el espaciado
    • Revisa y corrige el comportamiento de respuesta
    • Edita los estilos aprobados dentro de tus tokens
  3. 3Usuario avanzado

    Diseñar el sistema

    Añade los controles que espera un diseñador interno o un operador de agencia.

    • Componentes avanzados: tablas, deslizadores, formularios
    • Controles de disposición de forma libre
    • El Style Manager completo
    • Guarda símbolos y plantillas reutilizables
    • Clases y estados personalizados

La configuración es de datos, no de código. Lo que significa que la diferencia entre tu plan Starter y tu plan Enterprise puede ser una fila en una tabla.

Seguridad de marca

Crea un constructor sin código alrededor de tu sistema de diseño

La forma más rápida de hacer un editor visual seguro es no ofrecerle nada inseguro. Si alimentas tus tokens en el Style Manager y tus componentes en el Block Manager, "fuera de marca" deja de ser un problema de reseña: se vuelve inaccesible.

  • Color

    • brand/600
    • brand/700
    • ink/900
    • ink/500
    • surface/50
  • Tipo y escala

    • display
    • heading
    • body
    • caption
    • mono
  • Espaciado

    • space-2
    • space-4
    • space-8
    • space-12
    • space-16

Disponible en el editor

  • Botón de marca
  • Sección Hero
  • Tarjeta de precios
  • Testimonio
  • Imagen
  • Texto

No accesible

  • HTML arbitrario
  • Componentes no aprobados
  • Estilos sin soporte

Los usuarios crean contenido real sin poder romper la coherencia de marca — y tu equipo de diseño deja de revisar las páginas una a una. Si ya envías una biblioteca de componentes, esos componentes se convierten en los bloques.

Bloques

Da a los usuarios bloques de construcción en lugar de un lienzo en blanco

Un lienzo en blanco no es libertad, es una mirada vacía. El mayor factor que determina si los usuarios no técnicos tienen éxito en tu constructor es si lo primero que ven es un conjunto seleccionado de secciones que ya parecen tu producto.

  • Hero

    Titular, sublínea, un llamado a la acción.

  • Características

    Cuadrícula de características de dos a cuatro columnas.

  • Precios

    Tarjetas de plan transferidas a los datos de tu propio plan.

  • Testimonios

    Cita, atribuición, logotipo opcional.

  • FAQ

    Pares de preguntas y respuestas.

  • Llamada a la acción

    Un mensaje, un botón.

  • Contacto

    Campos de formulario que se publican en tu endpoint.

  • Pie de página

    Normalmente cerrados, siempre presentes.

Plantillas

Empieza desde algo, no desde nada

Los bloques responden "¿qué puedo añadir?". Las plantillas responden "¿por dónde empiezo?". Envía un conjunto pequeño y con opiniones — un tipo de página que realmente crean tus usuarios, no una galería.

Tipos de plantillas que merecen la pena enviar

  • Página de aterrizaje
  • Precios
  • Página de producto
  • Evento
  • Documentación
  • Portal del cliente
  • Campaña
  • Micrositio

Las plantillas son proyectos guardados ordinarios con una bandera. Almacenarlas es tarea de tu aplicación, lo que significa que también lo es el versearlas.

La mejor experiencia sin código no obliga a los usuarios a diseñarlo todo desde cero.

Persistencia

¿A dónde va el contenido del usuario?

En tu base de datos, en tus endpoints, bajo tu esquema. GrapesJS de GrapesJS es un cliente HTTP con una URL de carga y una URL de almacén — no es un servicio de alojamiento, y GJS.Market no guarda las páginas de tus clientes.

Qué ocurre realmente al guardar

  1. Editor
  2. Storage Manager
  3. Tu API
  4. Tu base de datos
storage.jsJS
grapesjs.init({
  container: '#editor',
  storageManager: {
    type: 'remote',
    autosave: true,
    autosaveIntervalMs: 10_000,   // debounce: one write, not one per keystroke
    stepsBeforeSave: 20,
    options: {
      remote: {
        urlLoad:  `/api/pages/${pageId}`,
        urlStore: `/api/pages/${pageId}`,
        headers:  { Authorization: `Bearer ${token}` },
      },
    },
  },
});

// The editor sends you project JSON. What that JSON is allowed to
// become — a draft, a revision, a published page — is your API's call.

GrapesJS proporciona la capa de edición. Tu aplicación controla cómo se almacenan y publican los proyectos — por eso también los borradores, revisiones y rollbacks son tuyos para diseñar. El guardado automático pertenece a un debounce; guardar por pulsación es un ataque de denegación de servicio a tu propio API.

Dos artefactos, dos trabajos

  • Proyecto JSON — estado del editor

    El árbol de componentes, estilos y recursos que el editor necesita para reabrir la página exactamente tal y como estaba. Versionado, diffable, nunca servido a los visitantes. Esto es lo que es una revisión.

  • HTML / CSS — contenido publicado

    Lo que producen 'editor.getHtml()' y 'editor.getCss()': una página estática que limpias, almacenas y sirves. Un visitante nunca debería cargar el entorno de ejecución del editor.

Flujo de trabajo

Del borrador a la página publicada

Editar y publicar son acciones diferentes con perfiles de riesgo distintos, y un producto sin código de producción las separa. Las dos etapas bloqueadas que aparecen a continuación son donde debe estar una comprobación de autorización — no en el editor, sino en tu API.

  1. 1

    Borrador

    Una fila de proyecto sin URL activa.

  2. 2

    Edición

    Proyecto JSON guardado automáticamente, revisión por sesión.

  3. 3

    Vista previa

    Salida renderizada en una URL temporal firmada.

  4. 4

    Revisión

    Un revisor ve la vista previa, no el editor.

  5. 5

    Aprobar

    Un estado cambia tu API autoriza y registra.

  6. 6

    Publicar

    Resultados desinfectados escritos en tu lugar de producción.

Autorización comprobada aquí

Los permisos, aprobaciones y lógica de publicación pertenecen a la aplicación y a su backend. GrapesJS no tiene concepto de borrador, aprobación o URL activa — esos estados están en tu base de datos, y el rollback es simplemente publicar una revisión anterior.

Acceso

Da a cada usuario el nivel adecuado de control

Cuatro roles cubren la mayoría de los productos de construcción. Cada uno recibe un editor realmente diferente porque cada uno carga una configuración distinta — pero todos se aplican en el mismo lugar: tu backend.

  • Administrador

    Configura el editor, las plantillas y los roles

  • Diseñador

    Edita el diseño y los estilos

  • Revisor

    Previsualiza y aprueba; no se puede editar

  • Editor de contenido

    Edita texto e imágenes; no puede cambiar el diseño

Cómo se traslada una decisión de permiso

  1. Usuario iniciado sesión
  2. Función
  3. Tu capa de póliza
  4. Paneles renderizadas
  5. Bloques registrados
  6. Publicación aceptada

La autenticación y autorización a nivel de aplicación las gestiona tu backend. El editor es la última parada en esa cadena, nunca la primera: muestra las consecuencias de una decisión que tu servidor ya ha tomado, y tu servidor debe volver a tomarla cuando llega la partida.

La decisión

¿Construir el editor desde cero o usar GrapesJS?

Esta tabla es deliberadamente estrecha: solo compara el motor de edición. Todo lo que aparece en el límite de responsabilidad marcado como "tu aplicación" es tu trabajo de cualquier forma — ese es el punto.

CapacidadConstruir desde ceroGrapesJS
Lienzo visualConstrucciónDisponible
ComponentesConstrucciónDisponible
Arrastrar y soltarConstrucciónDisponible
BloquesConstrucciónExtensible
EstiloConstrucciónDisponible
CapasConstrucciónDisponible
ComandosConstrucciónDisponible
Integración de almacenamientoConstrucciónConfigurable
Componentes personalizadosConstrucciónCompatible
Arquitectura de pluginsConstrucciónCompatible
UX específico de productoConstrucciónPersonalizable

Capacidades comprobadas con la documentación GrapesJS 0.23.6; listados de catálogo y precios verificados 2026-09-03.

No construyas el motor de edición si tu producto real es la aplicación que lo rodea.

Mercado

Extiende tu constructor sin código con plugins

Listados reales del catálogo GJS.Market, agrupados por el trabajo que haces en lugar de por la taxonomía del catálogo. Los precios vienen del catálogo en vivo, así que lo que ves aquí es lo que cuesta un producto hoy.

Dos cosas que necesitarás están deliberadamente ausentes de estas estanterías, porque el catálogo no las tiene: un plugin de roles y permisos, y un plugin de flujo de trabajo de aprobación. Ambos deberían estar en tu aplicación de todos modos — consulta las secciones de roles y publicaciones anteriores, o llévalas a nuestro equipo de implementación.

Puntos de partida

Construye tu stack

Tres combinaciones que ponen un constructor en funcionamiento delante de los usuarios rápidamente. Cada una es un punto de partida, no una lista de materiales — cambia cualquier fila por la equivalente que encaje en tu backend.

Los precios se leen del catálogo en vivo en el momento de compilación. Los plugins gratuitos son de código abierto y autoalojados como el núcleo.

Propiedad

Haz que el constructor forme parte de tu producto

El white labeling no es ocultar un logotipo. Consiste en hacer que el editor se lea como una característica de tu aplicación en lugar de como una herramienta de terceros que alguien ha incorporado.

  • Marca personalizada

    Tus colores, tipografía e iconografía en todo el editor Chrome.

  • Paneles personalizados

    Reconstruye las barras de herramientas en función de las tareas reales de tus usuarios.

  • Componentes personalizados

    Los componentes de tu sistema de diseño, nombrados como los nombre tu equipo.

  • Terminología personalizada

    Si tus usuarios dicen "módulo", el editor no debería decir "component".

  • Menos UI, no más

    Eliminar controles es la personalización menos utilizada que existe.

  • Experiencia controlada

    Valores predeterminados, estados vacíos y la incorporación que coincidan con el resto de tu producto.

Eliminar la marca GrapesJS es trivial y está permitido por la licencia BSD-3-Clause. Hacer que el editor sienta que tu producto es un proyecto de diseño — paneles, terminología, valores predeterminados y todo lo que un usuario no ve.

Integración

Usa GrapesJS con tu pila de aplicaciones

GrapesJS se renderiza en un elemento DOM simple, así que integrarlo depende principalmente de qué gancho de ciclo de vida llama 'grapesjs.init()' y cuándo se limpie. Elige tu framework para los detalles específicos.

Tu framework alimenta la aplicación. GrapesJS alimenta la capa de edición visual.

Antes de que envíes

Lista de verificación de producción para un constructor sin código

La diferencia entre "el editor funciona" y "podemos poner clientes en él" es más o menos esta lista. Cada grupo enlaza de nuevo a la sección que lo argumenta.

Editor

La experiencia de edición

Lo que el usuario puede alcanzar y lo que no.

  • Paleta de bloques seleccionada
  • Componentes personalizados para tu sistema de diseño
  • Style Manager restringido a tus tokens
  • Edición responsiva en tus puntos de ruptura reales

Registrar bloques por rol, no una vez a nivel global.

Datos

No se pierde nada

Persistencia en la que el usuario puede confiar para un día de trabajo.

  • Persistencia del proyecto en tus propios endpoints
  • Guardado automático con un intervalo sensato
  • Revisiones por sesión de edición
  • Copias de seguridad y una ruta de restauración probada

autosave reboteado, no es una escritura por pulsación.

Seguridad

La salida no es confiable

Todo lo que produce el editor proviene de un usuario.

  • Sanea el HTML y el CSS publicados
  • Validar los recursos subidos por tipo y tamaño
  • Autoriza cada partida guardada y publicación en el lado del servidor
  • Valida el proyecto JSON almacenado antes de renderizarlo

Desinfecta al salir, en el servidor.

UX

La gente realmente puede usarlo

La diferencia entre la adopción y una cola de soporte.

  • Plantillas iniciales para cada tipo de página
  • Vista previa que iguala la producción
  • Deshacer y rehacer en todas partes
  • Controles visibles y operativos

Las plantillas superan a un lienzo vacío cada vez.

Publicación

Publicar es un acto aparte

La edición y la publicación tienen diferentes perfiles de riesgo.

  • Un estado explícito de borrador
  • Un paso de revisión que no requiere acceso del editor
  • Una acción de publicación autorizada
  • Retroceso en un solo paso

Rollback está publicando una revisión anterior.

Operaciones

Puedes ver lo que está pasando

El editor ahora forma parte del tiempo de actividad de tu producto.

  • Analítica en páginas publicadas
  • Gestión de errores en cargas y guardados fallidos
  • Monitorización en los puntos finales de almacenamiento
  • Un registro de quién cambió qué

Errores del editor de registros con el id del proyecto adjunto.

Seguridad

Consideraciones de seguridad

Un constructor sin código es, por construcción, una función que permite a los usuarios incluir contenido arbitrario en tu producto. Trata todo lo que produce como entrada no confiable, porque lo es.

  • Sanea la salida publicada

    Pasa el HTML y CSS producidos por un desinfectante revisado en el servidor antes de almacenarse o servirse.

  • Validar los activos subidos

    Comprueba el tipo, tamaño y dimensiones del lado del servidor, y sirve medios de usuario desde un origen separado.

  • Hacer cumplir permisos en el backend

    Cada guardado, aprobado y publicado se autoriza de nuevo en el servidor, lo que sea que haya mostrado el editor.

  • Nunca confíes en la autorización del lado del cliente

    Un panel oculto es un estado UI. El API del editor sigue siendo accesible desde una consola de navegador.

  • Validar los datos almacenados del proyecto

    El proyecto JSON también es entrada del usuario. Valida su forma antes de devolverla a un renderizador.

  • Controla la ejecución de código personalizado

    Si permites un componente de código personalizado, decide deliberadamente dónde se ejecuta y quién puede añadir uno.

  • Proteger los endpoints de publicación

    Limita la velocidad, alcanza el alcance por proyecto y registra cada llamada.

GrapesJS es una biblioteca de edición, no un límite de seguridad. No garantiza la seguridad del marcado que produce, y no puede: el marcado proviene de tu usuario. La sanitización, validación y autorización son responsabilidad de tu aplicación.

Rendimiento

Mantén tu editor sin código rápido

El editor es una aplicación pesada del lado del cliente que vive dentro de tu producto. La mayoría de los logros vienen de no cargarlo — y de no cargarlo dos veces.

  • Inicializar bajo demanda

    Arranca el editor cuando un usuario lo abre, no cuando la ruta se carga.

  • Funciones opcionales de carga perezosa

    Plugins de importación dinámica que el puesto actual puede usar realmente.

  • Carga solo los plugins que necesites

    Cada plugin registrado cuesta tamaño de paquete y tiempo de inicio para siempre.

  • Mantén el catálogo de bloques bien organizado

    Cientos de bloques ralentizan la paleta y paralizan al usuario.

  • Optimizar activos

    Redimensiona y vuelve a codificar al subir: los usuarios insertarán 8 MB en un hero.

  • Aplica debounce al autoguardado

    Una escritura cada pocos segundos, no una por pulsación.

  • Vigila el tamaño del proyecto

    Las imágenes base64 en línea convierten una fila de proyecto en megabytes. Almacena referencias, no datos.

La página publicada nunca debe llevar el editor. Un visitante carga HTML y CSS; solo un autor carga el motor.

¿Qué viene después

Añadir IA sin perder el control

La IA en un creador de páginas es más útil y menos peligrosa cuando se trata como otro usuario del mismo editor — uno que solo puede producir lo que un humano en el mismo rol podría haber producido.

  • Generar secciones

    Forma una sección a partir de tus bloques registrados, no a partir de marcado libre.

  • Generar textos

    Rellena los nodos de texto de un diseño existente, dejando la estructura intacta.

  • Sugerir diseños

    Propone una disposición de componentes aprobados para un objetivo establecido.

  • Transformar contenido

    Reescribe para medir la longitud, el tono o el lugar en el sitio.

  • Generar componentes

    Redacta una nueva definición de componente para que un desarrollador la revise — nunca para registrarla automáticamente.

  • Optimizar páginas existentes

    Sugiere ediciones contra criterios medibles y deja que un humano las apruebe.

La IA debería operar dentro de las mismas restricciones de componentes y sistemas de diseño que los usuarios humanos. Si un generador puede emitir HTML arbitrario que tu paleta de bloques nunca ofrecería, has reabierto todos los agujeros que has cerrado.

Las capacidades anteriores describen un patrón que puedes construir sobre el propio APIs del editor, no una función de GJS.Market lanzada. El catálogo sí tiene una estantería de IA — generación de miniaturas, ayudantes respaldados por GPT — y está enlazada arriba.

FAQ

Preguntas sobre el constructor sin código, respondidas

¿Qué es un generador sin código para desarrolladores?

Es una función de edición visual que incorporas en tu propio producto para que tus usuarios puedan crear páginas sin escribir código — mientras tú mantienes el control sobre los componentes, estilos, datos y publicación. La diferencia con una herramienta sin código es quién la configura: tú lo haces, en código, una vez, y tus usuarios trabajan dentro de esas restricciones.

¿Puedo crear un creador de páginas web sin código con GrapesJS?

Sí. GrapesJS es un framework de editor visual de código abierto diseñado para ser embebido y ampliado. Proporciona el lienzo, los componentes, los bloques, el estilo, las capas y los comandos; tú proporcionas la aplicación que lo rodea — usuarios, permisos, almacenamiento y publicación.

¿Puedo ocultar HTML y CSS a los usuarios?

Sí. La vista de código es un panel opcional, no un requisito. Elimina los botones de exportación y vista de código de los paneles y tus usuarios nunca ven el marcado — editan en el lienzo y establecen valores en el Trait Manager.

¿Puedo restringir qué componentes pueden editar los usuarios?

Sí. Los componentes tienen propiedades por tipo como 'editable', 'seleccionable', 'arrastrable' y 'removible'. Configúralas cuando un componente esté definido o cuando se añada, y el editor no permitirá que el usuario acceda a él. Recuerda que esto es una regla de renderizado — tu API debe volver a comprobar lo mismo al guardar.

¿Puedo bloquear secciones de una página?

Sí, y es una de las configuraciones más comunes en los constructores de producción: un encabezado y un pie de página fijos con una región editable entre ellos. Bloquea los componentes cromados y registra solo los bloques que se permitan dentro de la ranura editable.

¿Puedo crear diferentes experiencias de editor para distintos roles?

Sí — desde un solo editor. Construye las opciones 'grapesjs.init()' a partir del rol del usuario que ha iniciado sesión: qué bloques están registrados, qué sectores Style Manager existen, qué paneles se renderizan. Un editor de contenido y un diseñador obtienen entonces productos realmente diferentes de la misma instancia.

¿Puedo hacer cumplir los colores y las fuentes de la marca?

Sí. Define tú mismo los sectores y propiedades del Style Manager y expone tus tokens como las únicas opciones disponibles, en lugar de seleccionadores de color y campos de fuente gratuitos. Los plugins de fuentes en el catálogo pueden restringir las familias disponibles a las que permitas.

¿Puedo guardar proyectos en mi propia base de datos?

Sí, y deberías. El Storage Manager en modo remoto llama a una URL de carga y a una URL de tienda que proporcionas, con tus propios encabezados. GrapesJS no almacena nada por sí mismo, y GJS.Market nunca ve el contenido de tus clientes.

¿Puedo construir un editor sin código SaaS?

Sí — esa es la forma más común. Tu SaaS posee cuentas, planes, cuotas y multitenencia; el editor es una función dentro de él. El empaquetado, los límites y la configuración por inquilino están cubiertos en la guía del creador de páginas de SaaS.

¿Puedo usar un editor basado en GrapesJS en white-label?

Sí. El núcleo está licenciado por BSD-3-Clause, lo que permite uso comercial y no requiere que muestres la marca GrapesJS. Reconstruir los paneles, la terminología y los valores predeterminados para que el editor se lea como parte de tu producto es un proyecto de diseño y no una cuestión de licencia.

¿Puedo crear bloques personalizados?

Sí. Un bloque es una entrada de paleta que produce un componente. Registra el tuyo propio con el Block Manager y define los tipos de componentes correspondientes para que el resultado perdido se comporte como espera tu producto — así es como un sistema de diseño se convierte en editor.

¿Puedo usar GrapesJS con React, Vue, Angular y Next.js?

Sí. GrapesJS se renderiza en un elemento DOM simple, así que cualquier framework puede alojarlo: inicializa en el gancho de montaje, destruye en el gancho de desmontaje. Existe un envoltorio oficial React, @grapesjs/react (MIT); Vue y Angular no tienen envolvimiento oficial y llaman directamente al mismo API. En Next.js el editor debe cargarse solo en el lado del cliente.

¿Puedo añadir IA a un constructor basado en GrapesJS?

Puedes crear funciones de IA en el APIs del editor — generando secciones a partir de tus bloques registrados, rellenando textos en un diseño existente, sugiriendo una disposición. La restricción importante es que la IA debería estar limitada a los mismos componentes y tokens que un humano en ese rol podría usar. El catálogo tiene una estantería de IA, pero ningún plugin allí genere páginas enteras para ti.

¿Pueden los usuarios publicar directamente en mi sitio web?

Pueden desencadenar una publicación; tu aplicación decide qué significa eso. Un flujo típico toma la salida HTML y CSS del editor, la limpia en servidor, la almacena como una nueva revisión y cambia el puntero en vivo — con una comprobación de autorización antes de que se ejecute cualquier cosa.

¿Debería construir un editor sin código desde cero?

Solo si el editor en sí es el producto que pretendes mantener. Si tu producto es la aplicación que lo rodea — los usuarios, el flujo de trabajo, los datos — entonces construir el lienzo, el sistema de componentes, deshacer stack, el motor de estilo y el serializador tú mismo es un compromiso permanente de mantenimiento para un componente que nadie te compra.

Implementación

¿Necesitas ayuda para construir tu generador sin código?

La mayoría de los equipos no se quedan atascados en 'grapesjs.init()'. Se quedan atascados en las partes que esta página dice que son suyas — permisos, publicación, almacenamiento y hacer que el editor se sienta como su producto. Eso es lo que hace nuestro equipo.

  • Integración personalizada de GrapesJS
  • Componentes personalizados
  • Desarrollo de plugins
  • Personalización del editor
  • Integración de almacenamiento
  • Flujos de trabajo de publicación
  • Experiencias de marca blanca
  • Arquitectura empresarial
Empieza

Construye tu experiencia sin código

Da a tus usuarios la libertad de construir visualmente sin perder el control de tu producto.

Empieza aquí

Empieza a construir con GrapesJS

Cuéntanos qué estás construyendo y consigue un plan definido para el editor dentro de tu producto.

Empieza a construir con GrapesJS
Ampliación

Explora los plugins GJS.Market

Bloques, adaptadores de almacenamiento, interfaces de editor y componentes — listados reales con precios actuales.

Explora los plugins GJS.Market
Busca ayuda

Habla con un experto en GrapesJS

Integración, componentes personalizados, permisos y flujos de trabajo de publicación, construidos con tu equipo.

Habla con un experto

Tu producto. Tus usuarios. Tus reglas. Tu editor.