Creador de páginas de arrastrar y soltar React

Una pila de construcción visual moderna y lista para producción para equipos SaaS

Construido para equipos de producto y crecimiento

Lanza un creador visual de páginas en el que los usuarios puedan confiar en la producción

Combina GrapesJS con React para ofrecer una experiencia limpia de arrastrar y soltar, flujos de trabajo gestionados de contenido y una publicación fiable en tu propia infraestructura.

Instantánea de lanzamiento

Team Ready

Configuración típica

< 1 hora

Licencia

MIT + Núcleo libre

Producción

HTML + CSS + JSON

Presentación

Autogestionado

22k+
GitHub Stars
100+
Plugins
MIT
Licencia Abierta
10y+
Historia de la producción

Plan de implementación de 4 pasos para los equipos de React

110 min

Monta el editor con seguridad

Renderiza GrapesJS en un envoltorio solo de cliente con useRef + useEffect. Evita conflictos de SSR en Next.js usando importación dinámica.

220 min

Definir bloques reutilizables

Envía secciones preconstruidas (héroe, precios, testimonios, CTA) para que los usuarios puedan crear páginas completas en minutos.

315 min

Conectar almacenamiento persistente

Guarda instantáneas en HTML/CSS o JSON en tu API, y el contenido de versiones para rollback y experimentación A/B.

410 min

Publicar y supervisar

Valida la salida, desinfecta el código personalizado y traslada las páginas publicadas a tu CDN o pipeline de renderizado de aplicaciones.

GrapesJS vs Puck vs Craft.js vs Builder.io

CaracterísticaGrapesJSPuckCraft.jsBuilder.io
Código abierto✓ MIT✓ MIT✓ MIT✗ Propietario
React-nativoVía ref/useEffect✓ Nativo✓ Nativo✓ Nativo
Mercado de pluginsGJS.Market (100+)NingunoSolo para la comunidadLimitada
Generador de correo electrónico✓ MJML
Lienzo WYSIWYG
Autoalojado✗ Alojado
PreciosGratisGratisGratis$0–$2,999+/mo

Elige GrapesJS cuando tu hoja de ruta lo necesite

Necesitas un ecosistema de plugins

GJS.Market ofrece 100+ plugins. Puck y Craft.js no tienen un mercado comparable — tú construyes todo tú mismo.

Necesitas soporte para crear correo electrónico

GrapesJS es el único framework compatible con React con soporte nativo para el constructor de correo MJML a través del preset del boletín.

Necesitas flexibilidad en el framework

GrapesJS funciona con JS vanilla, React, Vue, Angular y Next.js. Puck y Craft.js solo permiten React.

Necesitas licencia MIT para SaaS

Las cuatro opciones son MIT. Pero GrapesJS tiene el historial más largo en aplicaciones SaaS de producción.

Packs de plugins recomendados para el lanzamiento

ReaccionarGratis

Kit de inicio React

Boilerplate preconfigurado GrapesJS + React

Lo mejor para: Lanzamiento rápido del MVP

BloquesGratis

Bloques de viento de cola

Biblioteca de bloques Tailwind CSS arrastre y solta

Lo mejor para: Sistemas de diseño

UIGratis

Gestor de varias páginas

Gestionar varias páginas en una sola instancia de editor

Lo mejor para: Suites de páginas de destino

AlmacenamientoGratis

Gestor de Almacenamiento Pro

Persiste el contenido del editor en cualquier API REST

Lo mejor para: Backends SaaS

PresetsGratis

Bootstrap Preset

Bootstrap 5 componentes como bloques de arrastrar y soltar

Lo mejor para: Interfazes heredadas

ExportaciónGratis

Exportar HTML

Exportar HTML y CSS limpios y minificados

Lo mejor para: Traspaso de producción

Empieza en 3 pasos

Paso 1

Dependencias de instalación

Añade GrapesJS y paquetes de preajustes de página web a tu app.

npm install grapesjs grapesjs-preset-webpage

Paso 2

Montar el componente editor

Crea un componente del lado del cliente usando useRef + useEffect.

Inicializa grapesjs.init() en tu componente.

Paso 3

Ejecutar e iterar

Inicia tu app y añade bloques, estilos y flujo de exportación.

NPM run dev

Configuración mínima de React

// Install
npm install grapesjs grapesjs-preset-webpage

// React page builder component
import { useEffect, useRef } from 'react';
import grapesjs from 'grapesjs';
import webpagePlugin from 'grapesjs-preset-webpage';
import 'grapesjs/dist/css/grapes.min.css';
import { loadFunnelTranslations } from '@/lib/i18n-page';
import type { GetStaticProps } from 'next';
import { useTranslation } from 'next-i18next';

export default function PageBuilder() {
  const containerRef = useRef(null);

  useEffect(() => {
    const editor = grapesjs.init({
      container: containerRef.current,
      plugins: [webpagePlugin],
      storageManager: { type: 'local' },
    });

    return () => editor.destroy();
  }, []);

  return <div ref={containerRef} style={{ height: '100vh' }} />;
}

Lista de comprobación del primer lanzamiento

  • 1Definir permisos de rol para el acceso a editores
  • 2Activar el guardado automático con detección de conflictos
  • 3Añadir modos de vista previa para móvil y escritorio
  • 4Seguimiento de eventos de publicación y análisis de conversión
  • 5Establecer reglas de sanitización HTML y CSP
  • 6Preparar la retrocesa para lanzamientos fallidos

Notas de rendimiento para React

Carga perezosa GrapesJS

Usa dynamic import() para cargar GrapesJS solo cuando se necesite el editor. Esto mantiene tu paquete inicial pequeño.

iframe vs DOM de sombra

GrapesJS se renderiza por defecto en iframe — esto aísla los estilos del editor de tu aplicación CSS. Puedes cambiar a Shadow DOM para una integración más estrecha.

Memoize al editor

Guarda la instancia del editor en una referencia, no en un estado, para evitar re-renderizados innecesarios cuando el contenido cambia.

Preguntas frecuentes

Construye tu creador de páginas en React en este sprint

Compara opciones, elige tu pila y lanza con packs de plugins ya usados en producción.

Explorar los plugins de React