Anwendungsschicht
React / Next.js
Deine Anwendungsoberfläche, Authentifizierung, Routing, Abrechnung, Benutzer, Berechtigungen und APIs. Der Editor ist eine Route darin, nicht das gesamte Produkt.
PageKit — der selbst gehostete GrapesJS-Website-Builder, als Quellcode. Early Access sichern
Baue einen einbettbaren visuellen Seitenbauer mit React und GrapesJS. Beginne mit dem Open-Source-Editor-Kern und füge dann Blöcke, responsive Steuerungen, Speicher, Vorlagen und E-Mail-Funktionen über Plugins hinzu.
Blöcke
Deine Seite
Stile
26k+
GitHub-Sterne
100+
Plugins auf GJS.Market
1.4M+
npm-Downloads / Monat
$0
Lizenzgebühr für den Herausgeber
Der unveränderte Open-Source-Editor. Das ist die Grundlage, auf der alles andere auf dieser Seite aufbaut – Canvas, Blöcke, Stilmanager, Gerätewechsel, Rückgängig/Neumachen, Export.
Lädt einen Live-Editor von einer Drittanbieter-Demo-Seite. Nichts wird geladen, bis du danach fragst.
Ein React-Seitenbauer ist eine visuelle Bearbeitungsoberfläche, die in eine React-Anwendung eingebettet ist und es Nutzern ermöglicht, Seiteninhalte zu erstellen, zu verändern und zu anordnen, ohne HTML und CSS von Hand schreiben zu müssen.
Das wichtige Wort ist embedded. Ein React-Seitengenerator ist keine separate Website, die Ihre Nutzer besuchen – er ist ein Weg innerhalb Ihres Produkts, hinter Ihrem Login, in Ihre Datenbank.
Drei Schichten erledigen die Arbeit und gehören drei verschiedenen Eigentümern. Verwirrung ist der häufigste Grund, warum ein Seitenbau-Projekt ins Stocken kommt.
Anwendungsschicht
Deine Anwendungsoberfläche, Authentifizierung, Routing, Abrechnung, Benutzer, Berechtigungen und APIs. Der Editor ist eine Route darin, nicht das gesamte Produkt.
Bearbeitungsebene
Die visuelle Leinwand, Komponenten, Blöcke, Styling, Drag & Drop, Befehle und Serialisierung. Der Teil, der Monate zum Schreiben und Jahre zum Härten brauchen würde.
Persistenzschicht
Projektspeicherung, Benutzer, Berechtigungen, Publizierung und Geschäftslogik. Der Editor gibt dir JSON und HTML; wohin es gehört und wer es sehen kann, ist deins.
Eine Leinwand, auf die man eine Kiste legen kann, ist ein Wochenende. Alles darunter verwandelt diesen Prototyp in etwas, das man zahlenden Kunden präsentieren kann – und jeder Punkt auf der Liste ist ein Subsystem, das jemand bauen, testen und weiterarbeiten muss.
Den ersten Drag-and-Drop-Prototyp zu bauen ist relativ einfach. Alles drumherum zu bauen, was einen Editor in der Produktion zuverlässig macht, ist der teure Teil.
Es gibt einen guten Grund, deinen eigenen Editor zu schreiben: Dein Bearbeitungsmodell ist wirklich anders als alles, was es gibt. Abgesehen davon verlangt jeder der drei Wege tatsächlich von deinem Team.
Du besitzt jede Schicht, auch die, die nichts mit deinem Produkt zu tun haben.
Du implementierst und pflegst
Jedes dieser Systeme ist ein Subsystem, das sich zurücksetzen kann, und keines davon unterscheidet dein Produkt.
Übernehmen Sie eine Bearbeitungsgrundlage und bauen Sie Ihre Anwendung darum herum.
Du implementierst
Der Editor hört auf, ein Projekt zu sein. Es wird zu einer Abhängigkeit, die du konfigurierst.
Siehe den CodeFügen Sie spezialisierte Funktionen hinzu, ohne die Editor-Architektur zu beeinflussen.
Du installierst
Die Features, die du als Nächstes geschrieben hättest, sind bereits veröffentlicht, bepreist und einsetzbar.
Plugins durchsuchenBaue keinen visuellen Editor von Grund auf. Baue dein React-Produkt auf einer bewährten Editor-Grundlage auf.
Jede Ebene hat eine Aufgabe. Halte sie getrennt, und das Ganze bleibt austauschbar – einschließlich des Editors, was der Sinn eines Standard-Editors ist.
GrapesJS
Leinwand, Komponenten, Blöcke, Stile, Befehle, Serialisierung. Open Source, selbstgehostet, keine Lizenzgebühr.
React / Next.js
Dein Dashboard, deine Authentifizierung, das Routing, die Abrechnung und die APIs. Der Editor ist eine Route innerhalb deiner App.
GJS.Market
Die Funktionen, die Sie sonst als Nächstes bauen würden – Seiten, Vorlagen, Speicher, E-Mail, SEO.
Dein React-Seiten-Builder
Der gleiche Editor-Kern, der auf fünf verschiedene Produkte zeigte. Was sich zwischen ihnen ändert, sind die Blöcke, das Speichermodell und die Ausgabe – nicht der Editor.
Lassen Sie Ihre Kunden innerhalb Ihres SaaS, unter Ihrem Branding und Ihrer Infrastruktur Seiten erstellen und anpassen.
Baue einen SaaS-SeitenbauerBieten Sie Marketern eine visuelle Oberfläche für Landingpages, damit Kampagnenänderungen nicht mehr als Engineering-Tickets erscheinen.
Baue einen Landing-Page-BuilderMehrseitige Seiten mit visueller Bearbeitung, geteilten Vorlagen, Navigation und Seiteneinstellungen.
Baue einen Website-BuilderVisuelle E-Mail-Erstellung mit MJML-Ausgabe, sodass das, was Ihre Nutzer entwerfen, den Kontakt mit echten E-Mail-Clients übersteht.
Baue einen React-E-Mail-BuilderFügen Sie visuelle Bearbeitung in ein bestehendes Inhaltssystem hinzu, ohne das bereits vorhandene Inhaltsmodell zu ersetzen.
Fügen Sie visuelle Bearbeitung in ein CMS hinzuInhalts- und Seitenbearbeitungsoberflächen für Teams innerhalb Ihres Unternehmens, bei denen eine gehostete Plattform keine Option ist.
Siehe den Plugin-KatalogDas ist der Teil, der Teams überrascht, die gehostete Plattformen bewerten: Es gibt kein zweites System, das synchron gehalten werden muss, weil es kein zweites System gibt.
Die Daten fließen nach unten: Deine App mountet den Editor, der Editor gibt ein Projekt zurück, dein Backend speichert es.
Fünf Werkzeuge, die sich alle als visuelle Editoren für React beschreiben und nicht austauschbar sind. Jede Zelle unten stammt aus der eigenen Dokumentation jedes Projekts oder den Metadaten des veröffentlichten Pakets.
| Leistungsfähigkeit | GrapesJS | Puck | Craft.js | Builder.io | Plasmic |
|---|---|---|---|---|---|
| React-Integration | Offizielle Verpackung | React-native API | React-native API | React SDK | React SDK + Codegen |
| Lizenz | BSD-3-Clause core, MIT React wrapper | MIT | MIT | MIT SDK, hosted platform | MIT |
| Selbst den Redakteur selbst moderieren | ✓ — läuft vollständig in deiner App | ✓ | ✓ | — gehostete Plattform | Teilweise – Studio-Selfhosting ist dokumentiert |
| Integrieren Sie Ihre eigene App-Benutzeroberfläche | ✓ | ✓ | ✓ | Über Integration | Unternehmen — Whitelabelling & Embedding |
| Visuelle Leinwand | ✓ | ✓ — iframe gleicher Herkunft | ✓ — du lieferst die umgebende Benutzeroberfläche | ✓ | ✓ |
| Drag & Drop | ✓ | ✓ | ✓ | ✓ | ✓ |
| Individuelle Komponenten | ✓ — benutzerdefinierte Bauteiltypen | ✓ — Konfiguration + Renderfunktion | ✓ — Benutzerkomponenten | ✓ — registrierte Komponenten | ✓ — Codekomponenten |
| Deine React-Komponenten wurden auf der Leinwand gerendert | Über Integration – die Leinwand rendert DOM | ✓ — gebürtig | ✓ — gebürtig | ✓ | ✓ |
| Fertiges Editor-UI | ✓ — Standard-UI enthalten | ✓ | — du baust die Benutzeroberfläche | ✓ — gehostete Benutzeroberfläche | ✓ — Hoststudio |
| Style-Manager für beliebige CSS | ✓ — Style Manager | Gepflogenheit | Gepflogenheit | ✓ | ✓ |
| Responsive / Viewport-Bearbeitung | ✓ — Gerätemanager | ✓ — Sichtfenster | Gepflogenheit | ✓ | ✓ |
| Persistiere in deiner eigenen Datenbank | ✓ — Storage Manager + benutzerdefinierte Adapter | ✓ — Sie besitzen die Daten | ✓ — Fortsetzung an JSON | — Inhalt lebt in Builder | Kommt darauf an – Projekte befinden sich in Plasmic |
| HTML / CSS-Export | ✓ — getHtml() / getCss() | Gepflogenheit | Gepflogenheit | Kommt darauf an | ✓ — CodeGen |
| Plugin-Ökosystem | ✓ — GJS.Market, 100+ plugins | ✓ — Plugin API | — | ✓ | ✓ |
| White-Label | ✓ | ✓ | ✓ | Kommt auf den Plan an | Unternehmen |
| E-Mail (MJML / Newsletter) | ✓ — MJML & Newsletter-Voreinstellungen | Gepflogenheit | Gepflogenheit | — E-Mail-Modelle veraltet | — |
| Embed für deine eigenen Endkunden | ✓ | ✓ | ✓ | Kommt auf den Plan an | Unternehmen |
| Neueste Veröffentlichung | 0.23.6 · 2026-08-25 | 0.23.0 · 2026-08-07 | 0.2.12 · 2025-02-14 | 9.4.4 · 2026-09-02 | 2.0.26 · 2026-09-02 |
✓ = dokumentierte Fähigkeit. Benutzerdefiniert = unterstützt, aber Sie implementieren sie. Über Integration / Hängt / Enterprise = verfügbar unter den vom Anbieter festgelegten Bedingungen. — = nicht angeboten oder nicht als Fähigkeit des Produkts selbst dokumentiert.
2026-09-02 wurde anhand der offiziellen Dokumentation jedes Projekts, der Metadaten des npm-Registers und des GitHub-Repositoriums überprüft. Produktfähigkeiten und Preise ändern sich im Laufe der Zeit – prüfen Sie die aktuelle Dokumentation, bevor Sie eine architektonische Entscheidung treffen.
Keine dieser Fragen ist universell besser. Sie sind Antworten auf verschiedene Fragen, und die Frage, die du tatsächlich stellst, ist meist offensichtlich, sobald sie aufgeschrieben ist.
Wähle es, wann
Du brauchst einen einbettbaren visuellen Editor, den du von Ende zu Ende steuerst: selbstgehostet, tief anpassbar, plugin-basiert, HTML/CSS-orientiert und in der Lage, in Seiten, Vorlagen und E-Mails zu wachsen. Am besten geeignet für SaaS-Produkte und CMS-Editoren.
Sieh dir den Schnellstart anDenk darüber nach, wenn
Dein Hauptanwendungsfall ist das Komponieren und Konfigurieren von React-Komponenten, die du bereits ausgeliefert hast. Das Puck-Modell ist eine Konfiguration von React-Komponenten mit typisierten Feldern – eine starke Lösung, wenn das Designsystem, nicht das freie CSS, die Einheit der Bearbeitung ist.
GrapesJS vs. PuckDenk darüber nach, wenn
Du möchtest ein niedrigstufiges React-Editor-Framework und beabsichtigst, das Editor-Erlebnis selbst zu erstellen. Es bietet Drag & Drop sowie ein Komponentenzustandsmodell; die Toolbars, Panels und Stilsteuerungen stehen dir zum Schreiben.
GrapesJS vs. Craft.jsBerücksichtigen Sie sie, wenn
Du möchtest eine verwaltete visuelle Bearbeitungsplattform und bist damit vertraut, dass Inhalte oder Projekte auf der Seite des Anbieters leben. Beide sind starke Produkte; beide tauschen etwas architektonische Kontrolle gegen einen viel kürzeren Weg zur ersten Seite ein.
Vergleichen Sie die AlternativenDrei Ergebnisse, von denen eines nicht GrapesJS ist. Wenn eine Vergleichsseite dir nicht sagen kann, wann du weggehen sollst, ist sie kein Vergleich.
Der Redakteur lebt hinter deinem Login, schreibt in deine Datenbank und trägt dein Branding. Du erwartest, dass du es jahrelang weiter ausdehnst.
Wenn Nutzer Instanzen von bereits ausgelieferten Komponenten konfigurieren und freies Styling ausdrücklich nicht gewünscht ist, fühlt sich ein React-First-Editor natürlicher an als ein allgemeiner visueller Editor.
Das Inhaltsmodell bestimmt den Editor, nicht umgekehrt. Einen Editor auszuwählen, bevor man weiß, was eine "Seite" in deinem Produkt ist, ist der häufigste Weg, wie diese Projekte umgeschrieben werden.
Zwei Pakete und eine Komponente. Der Wrapper bündelt die Kernbibliothek nicht, also installieren Sie beide. Das untenstehende Beispiel läuft wie beschrieben – der @grapesjs/react-Wrapper verlangt, dass der Core explizit weitergegeben wird, was der Schritt ist, den die meisten Drittanbieter-Tutorials weglassen.
npm i grapesjs @grapesjs/react'use client';
import grapesjs, { type Editor } from 'grapesjs';
import GjsEditor from '@grapesjs/react';
import 'grapesjs/dist/css/grapes.min.css';
export default function PageBuilder() {
const onEditor = (editor: Editor) => {
// The full GrapesJS API is yours from here: Blocks, Pages,
// DeviceManager, Commands, StorageManager.
editor.Blocks.add('hero', {
label: 'Hero',
category: 'Sections',
content: '<section class="hero"><h1>Headline</h1></section>',
});
};
return (
<GjsEditor
// Required. The wrapper does not bundle the core library.
grapesjs={grapesjs}
options={{
height: '100vh',
// Persistence is wired separately — see the storage step below.
storageManager: false,
}}
onEditor={onEditor}
/>
);
}Was jedes Stück bewirkt
Die visuelle Bearbeitungsfläche. Sie rendert DOM innerhalb eines iframes, weshalb Styles nicht aus deiner Anwendung gelangen können.
Die Palette, aus der Nutzer ziehen. Registrieren Sie hier die Bereiche Ihres Produkts, und sie werden zu bearbeitbaren Inhalten.
Persistiere Projekte auf deinem eigenen Backend. Lokale und entfernte Adapter sind eingebaut; benutzerdefinierte Adapter benötigen eine Last und eine Speichermethode.
Die Erweiterungsoberfläche. Alles von Tailwind-Blöcken bis zu MJML-E-Mails kommt auf diese Weise an, ohne den Editor zu forken.
Speicher ist der Ort, an dem Prototypen enden und Produkte beginnen. GrapesJS liefert lokalen und entfernten Speicher aus und ermöglicht es Ihnen, einen vollständig individuellen Adapter mit zwei asynchronen Methoden zu registrieren – sodass der Editor nie wissen muss, wie Ihr Backend aussieht.
// Persist projects to your own API. GrapesJS ships `local` and `remote`
// storage; `Storage.add` registers a fully custom adapter.
// Docs: grapesjs.com/docs/modules/Storage.html
const onEditor = (editor: Editor) => {
editor.Storage.add('api', {
async load() {
const res = await fetch(`/api/pages/${pageId}`);
return res.json(); // → the project JSON GrapesJS restores from
},
async store(project) {
await fetch(`/api/pages/${pageId}`, {
method: 'PUT',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify(project),
});
},
});
};
// …then point the editor at it:
options={{
storageManager: { type: 'api', autosave: true, stepsBeforeSave: 5 },
}}Der Editor gibt HTML und CSS zurück. Was man damit macht, ist eine Anwendungsentscheidung: Sie rendern sie von einer Next.js-Route, pushen Sie sie auf ein CDN oder senden Sie sie als E-Mail. Der Editor befindet sich nicht im Serving Path.
// Editor output → a production page.
// getHtml/getCss return the exact markup the canvas rendered.
const html = editor.getHtml();
const css = editor.getCss();
await fetch('/api/publish', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ slug, html, css }),
});
// Your app renders it wherever you control — a Next.js route, a CDN
// object, an email send. The editor is not in the serving path.Verifiziert mit @grapesjs/react 0.23.6, das auf React 18/19 und Next.js 15 abzielt. Ein Hinweis, den man früh wissen sollte: Der React-Wrapper baut dein UI around auf der Leinwand – er rendert deine React-Komponenten nicht inside darauf. Wenn das Rendern von lebenden React-Komponenten auf der Leinwand eine harte Voraussetzung ist, ist ein React-First-Editor die bessere Wahl, und diese Seite sagt das auch im obigen Vergleich.
// app/editor/page.tsx — the editor is client-only.
// GrapesJS measures the DOM on init, so it must never render on the server.
import dynamic from 'next/dynamic';
const PageBuilder = dynamic(() => import('@/components/page-builder'), {
ssr: false,
loading: () => <EditorSkeleton />,
});
export default function EditorRoute() {
// Auth, params and data fetching stay on the server side of your app.
return <PageBuilder />;
}Praktische Anmerkungen
Der Editor ist ein Blatt des Baumes, nicht der Stamm.
Mounten Sie den Herausgeber.
Integriere GrapesJS in eine Route in deiner React-Anwendung. An diesem Punkt hast du eine funktionierende Leinwand und die Standard-Benutzeroberfläche – eine Tagesarbeit, nicht ein Quartal.
Definieren Sie Ihr Inhaltsmodell
Entscheide, was eine Seite in deinem Produkt ist, was Nutzer erstellen dürfen und was sie nicht anfassen dürfen. Diese Entscheidung beschränkt alles danach, also triffe sie, bevor du Blöcke schreibst.
Blöcke und Komponenten hinzufügen
Verwandle die Abschnitte deines Produkts in Blöcke und benutzerdefinierte Komponententypen. Hier fühlt sich der Editor wie Teil deines Produkts an, statt wie ein generisches Werkzeug.
Verbindungsspeicher
Registrieren Sie einen Speicheradapter gegen Ihre eigene API, mit Autosave und Wiederherstellung. Projekte gehören jetzt den Nutzern, und Entwürfe überdauern einen geschlossenen Tab.
Veröffentlichen
Wandeln Sie gespeicherte Projekte in Produktionsseiten um – eine Next.js-Route, ein CDN-Objekt, eine E-Mail-Sendung. Der Editor bleibt aus dem Bereitstellungspfad heraus.
Die meisten "Wir müssen unseren Redakteur ersetzen"-Gespräche drehen sich um eine fehlende Fähigkeit. Einen Redakteur zu ersetzen kostet ein Viertel; das Hinzufügen einer Fähigkeit kostet einen Nachmittag.
Der offizielle Wrapper mountet GrapesJS als React-Komponente und stellt dir die Editor-Instanz zur Verfügung. Starter- und React-UI-Packs gehen noch weiter.
React-PluginsMJML und Newsletter-Presets verwandeln denselben Editor in einen E-Mail-Builder mit einem Output, der echte E-Mail-Clients überlebt.
E-Mail-PluginsBlockpacks geben den Nutzern am ersten Tag etwas, das sie ziehen können, anstatt eine leere Palette und ein Backlog-Ticket.
Block-PluginsVorlagen- und Projektmanager fügen gespeicherte Startpunkte, Multi-Projekt-Handling und Seiten-Einstellungen hinzu.
Vorlagen-PluginsTailwind-Blockpacks erlauben es dem Editor, Utility-Klassen auszuliefern, die zum Rest deines Codebestands passen.
Tailwind-PluginsSpeicheradapter decken IndexedDB, Firestore und benutzerdefinierte REST-Endpunkte ab – oder schreiben Sie eigene in etwa zwanzig Zeilen.
Speicher-PluginsInhaltserstellung, Bildwerkzeuge und Accessibility/SEO-Auditoren werden ohne Fork in denselben Editor eingebunden.
Durchstöbern Sie den KatalogErsetze den Editor nicht, nur weil ein Feature fehlt. Erweitere den Editor.
Beginnen Sie mit dem Editor-Kern und fügen Sie die Funktionalität hinzu, die Ihr Produkt tatsächlich benötigt. Preise, Namen und Thumbnails stammen direkt aus dem Katalog, sodass hier nichts von dem zum Verkauf stehenden Dinge abweichen kann.
Starter, React-UI-Schichten und Komponentenvoreinstellungen für Teams, die den Editor in einer React- oder Next.js-App montieren.
Durchsuchen-KategorieEine funktionierende React-Integration zum Starten statt einer leeren Datei.
React-UI-Komponenten für die Panels rund um die Leinwand.
Ein React-orientiertes Preset, sodass der Editor konfiguriert und nicht nackt ankommt.
Eine vollständige shadcn-ähnliche Editor-Oberfläche – der deutlichste Beweis dafür, wie weit die Benutzeroberfläche sich bewegen kann.
Was Nutzer ziehen und wo die Seiten stehen: Blockpaletten, Mehrseitenhandhabung, Vorlagen und Bruchpunkte.
Durchsuchen-KategorieDie Starter-Blockpalette, damit die Nutzer am ersten Tag etwas zum Ziehen haben.
Mehrseitige Projekte mit Navigations- und Seiteneinstellungen.
Gespeicherte Vorlagen, aus denen Nutzer wählen, anstatt leer zu beginnen.
Benutzerdefinierte Breakpoints, die zu deinem Designsystem passen, nicht zu den Standardwerten.
Der Teil, der jedem Prototyp fehlt. Projektmanagement, Offline-Speicher, Cloud-Adapter und Absturzwiederherstellung.
Durchsuchen-KategorieMehrere Projekte pro Nutzer, aufgelistet, geladen und gewechselt.
Lokal-zuerst-Persistenz im Browser, nützlich für Entwürfe und Offline-Bearbeitung.
Ein fertiger Speicheradapter für Firestore-gestützte Produkte.
Autosave und Wiederherstellung, also ist ein verlorener Tab kein verlorener Nachmittag.
Wo ein Page Builder als Nächstes wächst: E-Mail-Ausgabe, Workflows in Utility-Klassen und Accessibility/SEO-Audits.
Durchsuchen-KategorieMJML-Komponenten im Canvas, live kompiliert – eine E-Mail, die in echten Clients gerendert wird.
Responsives E-Mail-Blockpaket für Newsletter- und Kampagnen-Workflows.
Tailwind-Block gesetzt, sodass die Editor-Ausgabe mit dem Rest deiner Codebasis übereinstimmt.
Zugänglichkeit und SEO-Prüfung im Herausgeber, vor der Veröffentlichung.
Drei Einkaufslisten statt eines Katalog-Dumps. Jede einzelne entspricht dem, was ein funktionierender Build dieses Produkts über den freien Kern hinaus benötigt.
Für kundenorientierte Entwickler in Ihrem Produkt
Für die Erstellung von mehrseitigen Webseiten
Für die Erstellung visueller E-Mails
Live-Katalogpreise. Ein Stapel ist ein Vorschlag, kein Bündel – kaufen Sie die benötigten Teile.
Die Editor-Lizenz ist selten die Zahl, die zählt. Das sind die Kostenstellen, die jede Route schafft – absichtlich ohne erfundene Zahlen, denn die Preise und der Umfang Ihres Teams sind die einzigen Inputs, die eine Zahl real machen würden.
Der Anfangsbau ist die kleinere Hälfte.
Kostenstellen
Jede zukünftige Feature-Anfrage landet bei dem Team, dem der Editor gehört – also dir.
Der Redakteur kommt; die Produktarbeit bleibt.
Kostenstellen
Keine Lizenzgebühr für den Kern, und die Wartung im Vorstrom ist die Aufgabe von jemand anderem.
Kauf die Features, die du gerade planen wolltest.
Kostenstellen
Jedes Plugin entfernt eine Zeile aus der Roadmap, anstatt eine hinzuzufügen.
Siehe KatalogpreiseDer teure Teil eines Page Builders ist nicht die erste Demo. Es ist alles, was nötig ist, um den Editor produktionsbereit zu machen.
Hier ist das gesamte Argument auf einem Bildschirm. Die linke Spalte zeigt Arbeit, die nur du machen kannst, weil sie dein Produkt ist. Die anderen beiden sind bereits existierende Arbeiten.
Der teure Teil eines Seitenbauers ist nicht die erste Demo. Es ist alles, was nötig ist, um den Redakteur produktionsreif zu machen – und fast nichts davon ist das, wofür Ihre Kunden Sie bezahlen.
Vier Teams kommen mit derselben Anforderung und sehr unterschiedlichen Einschränkungen auf diese Seite.
Sie benötigen einen visuellen Editor innerhalb Ihres Produkts, auf Ihrer Domain, unter Ihrem Branding – und Sie können Kunden nicht zu einer Drittanbieterplattform schicken, um ihre eigenen Inhalte zu bearbeiten.
Visuelles Bearbeiten ist ein Feature auf einer Roadmap voller solcher Karten. Man braucht es, um es auszuliefern, ohne ein dauerhaftes internes Plattformteam zu werden.
Man baut dieselbe Bearbeitungsfläche für Client um Kunde auf. Eine wiederverwendbare, selbsthostbare Grundlage ist mehr wert als jedes einzelne Projekt.
Man möchte einen erweiterbaren Editor-Kern und volle Kontrolle über die umliegende Anwendung, ohne die Produktentscheidungen anderer zu übernehmen.
Drei Fragen. Zwei der vier Antworten sind nicht GrapesJS.
Muss der visuelle Editor in deiner eigenen Anwendung integriert werden?
Jeder Weg auf einen Blick
Jede davon geht deutlich tiefer als die obige Matrix – Datenmodelle, Migrationspfade und die Fälle, in denen das andere Tool gewinnt.
Zwei verschiedene Datenmodelle: ein JSON-Baum von React-Komponentenprops im Vergleich zu einem Dokument mit typisierten Komponenten und CSS. Ein Leitfaden, welches zu deinem Inhalt passt.
Lesen Sie den VergleichEin mit Batterien enthaltener Editor gegen ein Rahmenwerk, um Ihren eigenen zu erstellen. Enthält das, was Sie in jedem Fall tatsächlich schreiben müssen.
Lesen Sie den VergleichDas größere Feld – gehostete Plattformen, React-First-Editoren und WYSIWYG-Komponenten – mit dem Kompromiss, den jeder von dir verlangt zu akzeptieren.
Sehen Sie alle AlternativenBeginnen Sie mit GrapesJS, integrieren Sie es mit React und erweitern Sie Ihren Editor um die Funktionalität, die Ihr Produkt benötigt.
Öffne einen Live-Editor, nutze dann den Quick-Start und mounte einen in deiner eigenen React-App.
Probier GrapesJSBlöcke, Seiten, Vorlagen, Speicheradapter, MJML-E-Mail und SEO-Tools – bepreist nach Funktionalität.
Durchsuchen Sie GJS.Market-PluginsArchitektur-Review, ein benutzerdefinierter Editor-Build oder eine zweite Meinung, bevor du dich für einen Stack entscheidest.
Sprich mit einem GrapesJS-ExpertenBaue dein Produkt. Nicht deine Editor-Infrastruktur.