Du willst eine Plattform, kein Build-Projekt
Wenn niemand im Team eine Editor-Roadmap besitzen möchte, ist es mit Abstand günstiger, eine bereits existierende Karte zu übernehmen.
PageKit — der selbst gehostete GrapesJS-Website-Builder, als Quellcode. Early Access sichern
Vergleichen Sie GrapesJS und Plasmic hinsichtlich visueller Seitenerstellung, React-Anwendungen, SaaS-Produkte, CMS-Integrationen, Erweiterbarkeit, Infrastruktur und Editor-Besitz.Plasmic ist eine Plattform für visuelle Entwicklung. GrapesJS ist ein Editor-Framework, um dein eigenes visuelles Bearbeitungserlebnis zu erstellen. Die meisten der unten genannten Unterschiede resultieren eher aus dieser einen Unterscheidung als aus einem Feature-Rennen.
Visuelle Entwicklungsplattform
Plasmic beschreibt sich selbst als Open-Source-Plattform für visuelle Bearbeitung und Inhalte zum Erstellen von Websites und Apps, die darauf ausgelegt ist, in einen bestehenden Codebase integriert zu werden.
Umfasst
Visual-Editor-Framework
GrapesJS ist eine Editor-Engine, die du in Software einbaust, die du bereits besitzt. Sie rendert das Canvas und verwaltet das Dokument; alles drumherum bleibt die Aufgabe deiner Anwendung.
Umfasst
Plasmic bietet dir eine Plattform zur visuellen Entwicklung. GrapesJS gibt dir die Grundlage, um deinen eigenen visuellen Editor zu bauen.
Wenn du nur einen Abschnitt liest, lies diesen. Beide Produkte werden aktiv entwickelt, beide bieten echte visuelle Bearbeitung, und die richtige Wahl hängt fast ausschließlich davon ab, ob der Editor etwas ist, das du verwenden oder besitzen möchtest.
Du willst eine visuelle Entwicklungsplattform, statt eine zu bauen.
Das bist du, wenn
Man bekommt mehr von den umliegenden Produkten für sich und arbeitet innerhalb des Plattformmodells.
Lies die Dokumentation von PlasmicDu möchtest deinen eigenen visuellen Editor bauen, und der Editor ist Teil dessen, was du verkaufst.
Das bist du, wenn
Man bekommt eine Engine und ein Dokumentmodell und gestaltet das Produkt darum herum.
Probier GrapesJSWenn Ihr Produkt sowohl visuellen Seitenaufbau als auch Rich-Text-Bearbeitung benötigt, kann GrapesJS auch mit spezialisierten Rich-Text-Integrationen erweitert werden – es gibt echte Einträge für CKEditor, TinyMCE, Froala und Kendo im Katalog weiter unten auf dieser Seite.
Beide Produkte lassen deine Anwendung und dein Hosting dort, wo sie sind. Plasmic sagt es selbst: Es hostet deine Seite nicht. Was tatsächlich den Besitzer wechselt, ist der Editor, der Content Store und das Liefer-API – und genau das ist der Vergleich dieser Zahl.
Eine visuelle Entwicklungsumgebung rund um Ihre Anwendung und deren Inhalt.
Dein Code und Hosting bleiben deine. Der Editor, die Projektdaten und die Auslieferung von API laufen auf der Infrastruktur von Plasmic – genau das macht es zu einer Plattform und nicht zu einer Bibliothek.
Eine visuelle Editor-Ebene in einer Anwendung, die Sie bereits besitzen.
GrapesJS stellt die Bearbeitungsebene bereit. Ihre Anwendung bleibt verantwortlich für die umliegende Produktarchitektur – Speicherung, Veröffentlichung, Berechtigungen und alles Weitere auf dieser Liste.
Plasmic bietet eine breitere visuelle Entwicklungsumgebung rund um Ihre Anwendung und Inhalte. Sie übernehmen das Projektmodell, den Editor und den Inhalt APIs, und im Gegenzug kommt ein großer Teil der Produktoberfläche bereits fertig an.
GrapesJS stellt die visuelle Editor-Ebene bereit, während Ihre Anwendung für die umliegende Produktarchitektur verantwortlich bleibt. Nichts wird für Sie entschieden, was der Sinn und auch die Kosten sind.
Plasmic ist eine Plattform für visuelle Entwicklung. GrapesJS ist ein visuelles Editor-Framework. Das ist der ganze Vergleich in einer Zeile – alles andere ist eine Konsequenz.
Baue deinen eigenen EditorDas ist ein Spektrum, keine Anzeigetafel. Keines der beiden Enden liegt vorne. Die Frage ist, auf welchem Ende dein Produkt tatsächlich sitzen muss – und das hängt davon ab, ob der Editor ein Werkzeug ist, das dein Team nutzt, oder ein Feature, für das deine Kunden bezahlen.
Mehr vom Workflow ist bereits fertig
Ein CMS, Data Connectors, Mehrspieler-Bearbeitung, Kommentare, Verzweigungen, geplante Inhalte und Experimente sind Plattformfunktionen, die man konfiguriert, statt Features, die man selbst schreibt. Für ein Team, dessen Ziel es ist, Inhalte und Anwendungen zu liefern, ist das eine große Menge Arbeit, die man nie erledigt.
Im Gegenzug: Man arbeitet innerhalb des Plattformmodells, und die Teile des Stacks, die es besitzt, sind konfiguriert und nicht entworfen.
Mehr von der Architektur liegt bei dir zum Entwerfen
Der Editor UI, das Dokumentmodell, die Komponententypen, die Speicherform, das Berechtigungsmodell und die Veröffentlichungspipeline sind alles Entscheidungen, die du triffst. Bei einem Produkt, bei dem der Editor der Unterscheidungsfaktor ist, sind diese Entscheidungen das Produkt.
Im Gegenzug: Dein Team entwirft und pflegt die Produktschicht rund um den Editor. Nichts auf dieser Liste baut sich von selbst auf.
Das ist kein Gewinnervergleich. Es ist ein Kompromiss, und ehrlich gesagt ist es, dass beide Enden etwas kosten.
Fähigkeit für Fähigkeit, ohne Punktzahlen und ohne Gewinner-Banner. Wenn beide Produkte einfach das tun, sagen beide Zellen das. Wenn das eine eine Plattform-Fähigkeit ist und das andere die Aufgabe Ihrer Anwendung, sagen die Zellen das stattdessen – weil dieser Unterschied die eigentliche Antwort ist.
| Leistungsfähigkeit | GrapesJS | Plasmic |
|---|---|---|
| Produkttyp | Visual-Editor-Framework | Visuelle Entwicklungsplattform |
| Lizenz | BSD-3-Clause, Open Source | Open Source, dual-lizenziert |
| Visuelle Bearbeitung | Eingebaut | Eingebaut |
| Drag & Drop | Eingebaut | Eingebaut |
| Seitenaufbau | Eingebaut | Eingebaut |
| Visuelles Canvas | Eingebaut | Eingebaut |
| Stilmanagement | Eingebaut | Eingebaut |
| Component-System | Eingebaut | Eingebaut |
| Individuelle Komponenten | Eingebaut | Eingebaut |
| Konstruktionssysteme | Du entwirfst und baust es | Hauptfokus |
| React-Integration | Eingebaut | Hauptfokus |
| Next.js-Integration | Eingebaut | Hauptfokus |
| Vue-Integration | Eingebaut | Offizieller Loader auf npm eingestellt |
| Angular-Integration | Eingebaut | Offizieller Loader auf npm eingestellt |
| Einfaches JavaScript | Eingebaut | Über das HTML-Render API |
| Rahmenflexibilität | Framework-agnostisch | React-orientiert |
| Ausgabe | HTML, CSS und das portable Projekt JSON | React-Komponenten in deinem Repository |
| Interaktivität und Zustand | Du entwirfst und baust es | Plattformfähigkeit |
| CMS | Ihre Anwendung | Plattformfähigkeit |
| Datenquellen | Ihre Anwendung | Plattformfähigkeit |
| Lagerung | Ihre Anwendung | Plattformfähigkeit |
| Verlagswesen | Ihre Anwendung | Plattformfähigkeit |
| Hosting Ihrer Seite | Ihre Anwendung | Ihre Anwendung |
| Zusammenarbeit | Du entwirfst und baust es | Plattformfähigkeit |
| A/B-Tests | Du entwirfst und baust es | Scale-Plan und höher |
| Personalisierung und Ansprache | Du entwirfst und baust es | Scale-Plan und höher |
| Editor UI-Steuerung | Eingebaut | Enterprise-Plan, durch Partnerschaft |
| White-Label-Editor | Eingebaut | Enterprise-Plan, durch Partnerschaft |
| Editor ist in Ihr Produkt eingebettet | Wofür es geschaffen ist | Enterprise-Plan, durch Partnerschaft |
| Erweiterungsmodell | Eingebaut, erweitert durch Plugins | Eingebaut |
| Selbst-Hosting des Editors | Ihre Anwendung | Plattformcode ist öffentlich; kein veröffentlichter Leitfaden |
| Backend-Eigentum | Ihre Anwendung | Plattformfähigkeit |
| Ökosystem | GJS.Market-Plugins und -Dienste | Plattformintegrationen und Codekomponenten |
Jede Plasmic-Reihe wurde aus der eigenen Dokumentation, der Preisseite, dem GitHub-Repository und npm von Plasmic abgelesen. 2026-09-03. Wo Plasmic keine Antwort veröffentlicht, sagt die Zelle dies und nicht raten. Keine Zeile in dieser Tabelle ist eine Punktzahl, und hier wird nichts als Gewinn dargestellt.Quellen: Plasmic-Dokumentation · Plasmic-Preisgestaltung · Plasmic auf GitHub · Plasmic-Quickstarts · Plasmic White-Label-Dokumente · Plasmic-Sicherheitsdokumente · GrapesJS-Dokumentation · grapesjs auf npm
Zwei Zeilen verdienen einen Satz statt einer Zelle. Die Lizenz von Plasmic ist tatsächlich geteilt: Alles außerhalb des Plattformverzeichnisses ist MIT, und die Studio-Plattform selbst ist AGPL-3.0. Und White-Label-Einbettung ist real, dokumentiert und auf Enterprise-Niveau – es erfordert eine Partnerschaft, die Plasmic selektiv erforscht, was etwas anderes ist als eine npm-Installation, aber es ist kein 'Nein'.
Dieser Abschnitt existiert, weil er wahr ist, nicht weil er großzügig ist. Für einen großen Teil der Teams, die diesen Vergleich suchen, ist Plasmic die richtige Antwort, und der schnellste Weg, sechs Monate zu verschwenden, ist, eine Plattform neu aufzubauen, die man hätte übernehmen können.
Wenn niemand im Team eine Editor-Roadmap besitzen möchte, ist es mit Abstand günstiger, eine bereits existierende Karte zu übernehmen.
Das Plasmic-Modell ist React-nativ. Sein App-Hosting-Mechanismus läuft Studio in deiner eigenen React-Anwendung, sodass es deine realen Komponenten sehen kann, was eine wirklich andere Integrationsstufe als das Rendern auf einer Canvas darstellt.
Das Registrieren von Codekomponenten ermöglicht es den Designern, mit denselben Bausteinen zu komponieren, die deine Ingenieure ausliefern, anstatt mit einem parallelen Set reiner Editor-Blöcke.
Plasmic liefert ein vollständig integriertes CMS mit strukturierten Modellen, Versionierung, Lokalisierung und einem headless API sowie dokumentierten Integrationen mit Drittanbieter-CMS.
Connectoren für gemeinsame Datenquellen sowie alle HTTP- oder GraphQL-Endpunkte sind Plattformfunktionen, nicht etwas, das man pro Projekt verkabelt.
Mehrspieler-Bearbeitung, Kommentare, Verzweigungen mit automatischem Zusammenführen sowie unterschiedliche Rollen als Designer, Entwickler, Inhaltsersteller und Kommentator werden alle Teil des Produkts ausgeliefert.
A/B-Tests, geplante Inhalte und Zielgruppenansprache sind dokumentierte Plattformfähigkeiten im Scale-Plan und höher. Das Äquivalent selbst zu bauen, ist ein echtes Projekt.
Wenn das Ziel ein visueller Entwicklungsworkflow und kein visuelles Bearbeitungsprodukt ist, liegt weniger davon dir selbst zum Bauen – und genau das ist der Sinn einer Plattform.
Wenn drei dieser Punkte deine Situation beschreiben, bewerte zuerst Plasmic. Diese Seite wird weiterhin vorhanden sein, falls die Antwort nein lautet.
Sieh dir an, was Plasmic dokumentiertDas Muster in dieser Liste ist eine einzige Frage: Ist der Editor etwas, das Ihr Team oder Ihre Kunden verwenden? Sobald die Antwort die zweite ist, hört der Editor auf, ein Werkzeug zu sein, und beginnt, Produktoberfläche zu sein – und die Produktoberfläche möchte Ihnen gehören.
Ihre Kunden öffnen den Builder innerhalb Ihrer Anwendung, unter Ihrer Authentifizierung, gegen Ihre Daten. Dafür ist GrapesJS konzipiert.
Wenn das Bearbeitungserlebnis ein Grund ist, warum Leute dein Produkt wählen, kannst du es dir nicht leisten, dass es eine Konfiguration der Benutzeroberfläche eines anderen ist.
Panels, Toolbars, der Ebenenbaum, der Style-Manager und jeder Befehl sind Quellcode, die du ersetzen kannst, nicht Einstellungen, die du umschalten kannst.
Der Storage Manager ist ein Paar von Rückrufen. Projektdaten sind einfach JSON, und wohin sie gehen, ist ganz deine Entscheidung.
Was auch immer 'veröffentlichen' in deinem Produkt bedeutet – ein Build, ein Deploy, ein Datenbankschreib, eine Cache-Invalidierung – du implementierst es, weil nur du weißt, was es bedeutet.
Multi-Tenant-Rollen, Genehmigungsflüsse und Audit-Trails folgen Ihrem bestehenden Modell statt eines zweiten, das von einem Editor auferlegt wird.
Neue Komponententypen, traits, Befehle und Blöcke sind erstklassige Erweiterungspunkte, und das Plugin API ist der Grund, wie der gesamte GJS.Market-Katalog aufgebaut wird.
Es gibt kein Anbieter-Branding zu entfernen und keinen Plan zu erreichen. Der Editor ist eine Abhängigkeit in deiner Anwendung und sieht aus wie das, was du ihn gestalten lässt.
Der Editor sitzt auf dem bereits vorhandenen Inhaltsmodell, anstatt dich zu bitten, Inhalte in ein neues zu verschieben.
GrapesJS hat keine Meinung zu deinem Framework, deinem Backend, deiner Datenbank oder deiner Bereitstellung. Diese Neutralität ist das Merkmal.
Der gemeinsame Faden: Wählen Sie GrapesJS, wenn der Editor Teil Ihres Produkts werden muss, statt einer Plattform, auf der Ihr Produkt angewiesen ist.
Dies ist der Abschnitt, für den die meisten Leser tatsächlich gekommen sind, daher ist hier ein konkretes Szenario und keine Abstraktion.
Stellen Sie sich vor, Sie bauen eine SaaS-Plattform, auf der jeder Ihrer Kunden Landingpages für sein eigenes Unternehmen erstellen kann. Sie loggen sich in Ihr Produkt ein, öffnen einen Page Builder und veröffentlichen unter ihrer eigenen Domain. Wem gehört jede Schicht davon?
Ihr SaaS integriert Plasmic, und Plasmic bietet das Bearbeitungserlebnis zusammen mit dem dahinterstehenden Projekt, Inhalt und Datenmodell. White-Label-Embedding für Ihre Endnutzer ist dokumentiert und real, aber es handelt sich um eine Enterprise-Vereinbarung: iframe-basiert, über eine Plattform API bereitgestellt und erfordert ausdrücklich eine Partnerschaft, die Plasmic selektiv erforscht. Das ist eine kommerzielle Diskussion, keine Abhängigkeit, die Sie hinzufügen.
Dein SaaS besitzt jede Ebene, und GrapesJS ist eine davon. Deine Authentifizierung entscheidet, wer reinkommt, dein Tenant-Modell entscheidet, was es sieht, deine Datenbank speichert die Seiten, und dein Publishing-System entscheidet, was 'live' bedeutet. Der Editor ist eine Komponente darin, kein Dienst daneben.
GrapesJS wird zum Editor innerhalb Ihres SaaS und nicht zur SaaS-Plattform selbst. Für ein Produkt, dessen Wert der Erbauer ist, ist diese Unterscheidung das Geschäftsmodell.
Siehe das SaaS-Builder-MusterEmbedding ist der Ort, an dem sich die Framework-Form auszahlt. Ihre Nutzer verlassen Ihr Produkt nie, sehen nie eine zweite Marke, melden sich nie zweimal an und erfahren nie, dass eine dritte Partei beteiligt ist.
Ihr Produkt
Die Anwendung, die Ihre Nutzer bereits nutzen
Die Bearbeitungsebene
GrapesJS, im Inneren montiert
Verkehr
Dein API
Persistenz
Deine Datenbank
Lieferung
Dein Verlagswesen
Ein eingebetteter Editor ist keine kleinere Version einer Plattform. Es ist eine andere Produktentscheidung, und genau dafür ist GrapesJS entwickelt.
Baue einen einbettbaren SeitenbauerDas ist eine der deutlichsten Spaltungen auf der Seite und sie ist nicht nah: Eines dieser Produkte liefert einen CMS aus, das andere nicht.
Plasmic verfügt über ein vollständig integriertes CMS, das in den visuellen Editor integriert ist: strukturierte Datensätze, die in Modelle organisiert sind, Bearbeitungs- und Veröffentlichungshistorie, Lokalisierung, Datei- und Bildfelder sowie ein kopfloses API zum Rendern von Inhalten überall. Seine Dokumentation beschreibt außerdem Integrationen mit Drittanbietersystemen, und alle Datenintegrationen werden als gewöhnliche Codekomponenten implementiert.
Integriert sich außerdem mit
Dokumentierte Datenverbinder
GrapesJS wird überhaupt kein CMS ausgeliefert. Was es Ihnen bietet, ist eine visuelle Bearbeitungsschicht, die mit jedem bereits laufenden Inhaltsmodell verbunden werden kann – ein headless CMS, Ihr eigenes REST API, ein GraphQL-Endpunkt oder ein für Ihre Domain entworfenes Datenbankschema. Wenn Sie bereits ein Content-Modell haben, mit dem Sie zufrieden sind, ist das ein Vorteil. Wenn nicht, ist das Arbeit.
Üblicherweise angebunden an
Plasmic gibt dir ein CMS. GrapesJS gibt dir einen Editor, der zu dem CMS passt, das du bereits hast. Keines von beiden ist abstrakt besser – es hängt ganz davon ab, ob du bereits einen hast.
Bearbeitung auf einem kopflosen CMSDieser Abschnitt bedarf Sorgfalt, denn hier liegen Vergleichsbeiträge meist in beide Richtungen falsch – und dort enden die meisten Suchanfragen nach einem React-Visual-Editor.
Das Komponentenmodell von Plasmic ist React. Sein App-Hosting-Mechanismus läuft Studio in deiner eigenen React-Anwendung, sodass der Editor Zugriff auf die gleichen Komponenten hat wie deine App. Codegen gibt React-Komponenten in dein Repository ein, und der Loader rendert veröffentlichte Plasmic-Inhalte in deinem React-Baum. Seine Quickstarts decken React, Next.js, Gatsby, Remix, Hydrogen und TanStack ab.
Plasmic-Quickstart-Ziele
GrapesJS lässt sich sauber in eine React-Anwendung einbetten – es gibt einen offiziellen Wrapper, und das Einbinden besteht aus ein paar Zeilen. Aber GrapesJS-Komponenten sind keine React-Komponenten. Die Canvas ist echtes DOM, das der Editor besitzt, und deine Designsystemkomponenten werden ihm als Komponententypen und Blöcke zugänglich gemacht, anstatt als JSX durchzugehen.
npm install grapesjsDer ganze Abhängigkeitsabdruck.
Diese Unterscheidung ist wichtiger als jede Feature-Zeile. GrapesJS rendert nicht automatisch beliebige React-Komponenten als native GrapesJS-Komponenten – wer etwas anderes behauptet, beschreibt ein anderes Produkt. Was GrapesJS dir stattdessen gibt, ist ein Komponenten-System, auf das du dein Designsystem absichtlich zuweist.
'use client';
import { useRef } from 'react';
import grapesjs from 'grapesjs';
import type { Editor, ProjectData } from 'grapesjs';
import GjsEditor from '@grapesjs/react';
import 'grapesjs/dist/css/grapes.min.css';
// GrapesJS mounts INSIDE your React app — but a GrapesJS component is not a
// React component. The canvas renders real DOM that GrapesJS owns, so your
// design-system components are exposed to it as component types and blocks,
// not passed through as JSX.
export default function PageEditor({
projectId,
onSave,
}: {
projectId: string;
onSave: (id: string, data: ProjectData) => void;
}) {
const editorRef = useRef<Editor | null>(null);
return (
<GjsEditor
// Required: the wrapper never imports grapesjs itself, which is what
// lets your app pin the version.
grapesjs={grapesjs}
options={{ height: '100vh', storageManager: false }}
onEditor={(editor) => {
editorRef.current = editor;
}}
onUpdate={(projectData) => onSave(projectId, projectData)}
/>
);
}Mounting von GrapesJS in einer React-Anwendung. Der Wrapper importiert absichtlich nicht die Engine – du gibst sie weiter, was deiner App erlaubt, die Version zu pinnen.
Das Spiegelbild ist ebenfalls wahr und ebenfalls erwähnenswert. Plasmic ist nicht nur für React: Nicht-React-Stacks konsumieren veröffentlichte Inhalte über ein HTML-Render-API, wobei JavaScript, PHP und REST-Quickstarts dokumentiert sind. Aber die Vue-, Svelte- und Angular-Loader-Pakete sind auf npm nicht mehr unterstützt, sodass ein Vue- oder Angular-Team gerenderte Ausgaben konsumiert, anstatt nativ in ihrem Framework zu bearbeiten.
Veraltet auf npm
Für ein React-Team, das visuelle Bearbeitung über eigene Komponenten möchte, passt das Modell von Plasmic am besten. Für ein Team, das den Editor überall ausführen und seiner eigenen Architektur unterlegen muss, ist Framework-Neutralität mehr wert als Framework-Nativeness.
Beide Produkte unterstützen benutzerdefinierte Komponenten. Das ist nicht die interessante Frage, und eine Tabellenzeile mit '✓ / ✓' würde den tatsächlichen Unterschied verbergen.
Du registrierst React-Komponenten in Studio und komponierst damit visuell. Da Studio in deinem app host läuft, verwendet es die echten Komponenten – deine Requisiten, deine Varianten, deine Design-Tokens – statt einer separaten Editor-Kopie.
Du definierst Komponententypen, traits, Blöcke, Stile, Befehle und Plugins. Ein Typ deklariert sein eigenes Modell, seine editierbaren Regionen, sein Einstellungspanel und seine Drop-Regeln. Das Designsystem wird als Editor-Primitive dargestellt und nicht aus einer Komponentenbibliothek importiert.
Was ein Komponententyp definieren kann
Der entscheidende Unterschied ist nicht, ob beide Komponenten unterstützen. Beide tun das. Der Unterschied ist, wie viel von der umliegenden Editor-Architektur du kontrollierst – und ob dein Komponentenmodell dein React-Baum oder ein von dir entworfenes Dokumentmodell ist.
// A custom component type: your design system's rules, enforced in the
// canvas. Traits become the settings panel your users actually see.
editor.Components.addType('pricing-card', {
isComponent: (el) => el.classList?.contains('pricing-card'),
model: {
defaults: {
name: 'Pricing card',
attributes: { class: 'pricing-card' },
// Lock the frame, open up the parts you want edited.
draggable: '.pricing-grid',
traits: [
{ name: 'plan', label: 'Plan name' },
{ type: 'number', name: 'price', label: 'Price' },
{
type: 'select',
name: 'emphasis',
label: 'Emphasis',
options: [
{ id: 'default', name: 'Default' },
{ id: 'featured', name: 'Featured' },
],
},
],
components: `
<h3 class="pricing-card__plan">Starter</h3>
<p class="pricing-card__price">$0</p>
<a class="pricing-card__cta" href="#">Choose</a>`,
},
},
});
// Give it a palette entry so a non-technical user can place one.
editor.Blocks.add('pricing-card', {
label: 'Pricing card',
category: 'Commerce',
content: { type: 'pricing-card' },
});Ein benutzerdefinierter Komponententyp: die Regeln deines Designsystems, die in dem Canvas durchgesetzt werden, wobei traits das Einstellungspanel wird, das deine Nutzer sehen.
Blocks sind das, was ein nicht-technischer Nutzer schleppt. Jeder enthält einen Komponententyp, den du definiert hast, und so entsteht ein gesichertes, markenbezogenes Bearbeitungserlebnis.
Schlagzeile, Begleittext, ein Aufruf zum Handeln.
Plankarten mit traits für Namen, Preis und Betonung.
Ein einzelnes Conversion-Band mit gesperrtem Rahmen.
Ein Icon-und-Text-Raster mit einer festen Spaltenregel.
Von Asset-Manager unterstütztes Bildgitter.
Zitat, Quellenangabe und optionaler Avatar.
Formularfelder sind an deinen eigenen Endpunkt verdrahtet.
Navigation mit editierbaren Links und einem Logo slot.
Beide geben dir Komponenten. Nur einer von ihnen gibt dir das Komponentensystem selbst.
Es wäre einfach, hier 'Lock-in' zu schreiben. Es wäre auch falsch, und diese Seite wird das nicht tun. Beide Produkte erzeugen Output, die man halten kann, beide haben dokumentierte Exportpfade, und die eigentliche Frage ist eher operationell als moralisch: Welche Teile des laufenden Systems betreibt euer Team?
Ihre Anwendung und Plasmic, die visuelle Entwicklung, Plattformfähigkeiten und Integrationen darum herum bereitstellen. Plasmic hostet Ihre Seite nicht – Ihre App läuft weiterhin auf Ihrer Infrastruktur. Ihre Projektdaten, CMS-Inhalte und die Bereitstellung von API laufen in der Cloud von Plasmic, gehostet in US-Rechenzentren. Codegen legt den generierten React-Quellcode in Ihr Repository als kontinuierliche Synchronisation und nicht als Einweg-Auswurf.
Ihre Datenbank, Ihr API, Ihre Authentifizierung, Ihr Speicher, Ihre Veröffentlichung und Ihre Abrechnung – und GrapesJS, das als Abhängigkeit darin liegt. Das Storage Manager ist ein Paar von Rückrufen, keine Persistenzschicht; Projektdaten sind einfach JSON. Nichts im Editor kommuniziert mit einem Anbieter-Endpunkt, weil es keinen Lieferanten-Endpunkt gibt.
Alles, worauf du schreiben kannst
Zwölf Oberflächen, versehen mit dem, wer tatsächlich jede baut. Die ehrliche Hälfte dieses Rasters ist die rechte Lane: Authentifizierung, Berechtigungen, Veröffentlichen und Zusammenarbeit sind die Arbeit Ihrer Anwendung, und kein Plugin ändert das.
Eine Lane hier ist eine Aussage darüber, wo die Arbeit lebt, nicht darüber, wie schwer sie ist.
Der Unterschied liegt nicht im Eigentum an Ihren Daten. Es geht um, welche Teile des laufenden Systems Ihr Team betreibt – und das ist ebenso eine Personalentscheidung wie eine architektonische.
Jeder Abschnitt darüber beschreibt etwas, das du selbst entscheiden kannst. Dieser Abschnitt ist die Rechnung dafür, und eine Vergleichsseite, die es überspringt, ist der Verkauf statt des Vergleichs.
Die Wahl von GrapesJS bedeutet, dass Ihr Team möglicherweise Folgendes entwerfen, bauen und warten muss:
Authentifizierung
Der Editor hat kein Konzept von einem Benutzer oder einer Sitzung.
Berechtigungen
Wer redigiert, wer genehmigt, wer veröffentlicht.
Persistenz
Schema, Transport, Fehlerbehandlung, Konfliktregeln.
Autosave
Debouncing, Wiederherstellung und was bei einer unterbrochenen Verbindung passiert.
Versionierung
Geschichte, Diffing, Restaurierung – nichts davon wird verschifft.
Verlagswesen
Was auch immer "live" in deinem Produkt bedeutet, du implementierst es.
Asset-Speicherung
Upload, Verarbeitung, CDN, Quoten und Bereinigung.
Zusammenarbeit
Präsenz, Kommentare und Verschmelzung sind ein eigenes Projekt.
Analytik
Verbrauch, Trichter und alles, was Ihre Kunden sehen möchten.
Abrechnung
Pläne, Limits und Messung, falls du den Editor verkaufst.
CMS-Integration
Modelle, Felder und das Mapping in deinen Editor.
GrapesJS gibt dir die Kontrolle, aber dein Team ist für die Produktschicht rund um den Editor verantwortlich. Wenn niemand diese Ebene besitzt, ist Plasmic die bessere Antwort, und diese Seite hat ihre Aufgabe erfüllt, indem sie das sagt.
Es gibt jedoch einen Mittelweg. Ein bedeutender Anteil dieser Liste besteht aus Arbeiten, die andere Teams bereits gemacht und veröffentlicht haben – worum geht es auf der restlichen Seite.
Du musst nicht jede Editor-Funktion selbst schreiben. GJS.Market ist der Plugin- und Servicekatalog für GrapesJS, und die unten aufgeführten Regale sind echte, aktuell veröffentlichte Listings – weder eine Roadmap noch ein Bundle. Rich Text, React und Designsystemkomponenten, strukturelles UI und Speicherintegrationen sind die vier Bereiche, die am häufigsten darüber entscheiden, ob sich ein Editor fertig fühlt.
Echte Inline-Editing-Integrationen mit den Rich-Text-Engines, die Ihr Team bereits kennt. Wenn Ihr Produkt sowohl Seitenaufbau als auch ernsthafte Textbearbeitung benötigt, treffen sich hier beides zusammen.
Durchsuchen-KategorieVollständige Rich-Text-Bearbeitung innerhalb der GrapesJS-Canvas, ohne die Seite zu verlassen.
Inline-Editing, unterstützt von einer Rich-Text-Engine, auf die viele Teams bereits standardisieren.
Eine dritte Inline-Rich-Text-Option für Teams, die bereits dafür lizenziert sind.
Das Regal, das ein Team, das aus Plasmic kommt, normalerweise zuerst möchte: React-Starter, React-UI-Presets und Komponentenarbeiten für Teams, deren Designsystem bereits in React funktioniert.
Durchsuchen-KategorieEin komponentengesteuertes Builder-Preset für Teams, deren Designsystem bereits komponentenorientiert ist.
Ein React-orientiertes UI-Preset für die Editor-Shell.
Eine React-Komponente, die als editierbarer Block in das Canvas gebracht wurde.
Eine funktionierende React-Integration, von der man starten kann, statt einer leeren Datei.
Die strukturellen Komponenten, die ein echter Seitenbauer braucht, bevor jemand ihn nutzt – Tabellen, Raster, Kopfzeilen und Formulare.
Durchsuchen-KategorieEin echtes Layout-Raster, sodass die Seiten auf den von dir gesetzten Schienen bleiben.
Navigation als editierbare Komponente statt als feste Vorlage.
Formularfelder, die deine Nutzer platzieren können, und du kannst an deinen eigenen Endpunkt verdrahten.
Persistenz und Export, kabelgebunden an Backends, die Teams tatsächlich ausführen. Der Storage Manager besteht aus zwei Rückrufen; das sind die bereits geschriebenen Rückrufe.
Durchsuchen-KategorieSpeichern Sie Projektdaten in einem headless CMS, anstatt den Adapter zu schreiben.
Ein gehosteter Persistenzpfad für Teams, die bereits auf Firebase sind.
Lokale Persistenz, nützlich für Entwürfe und Offline-Bearbeitung.
Geben Sie dem Nutzer eine fertige Seite als herunterladbares Archiv zurück.
Seitenaufbau und Rich-Text-Bearbeitung sind unterschiedliche Probleme, und ein Builder, der das erste, aber das zweite nicht übernimmt, wird von seinen Nutzern zurückgegeben. Diese Liste fügt vollständige Inline-Rich-Text-Bearbeitung direkt in einen GrapesJS-Visual-Editor hinzu.
Name, Preis und Verfügbarkeit werden live aus dem Katalog vorgelesen, sodass Sie hier sehen, was derzeit veröffentlicht ist.
Weitere Kategorien
E-Mail ist ein eigenständiges Fachgebiet und hat an anderer Stelle ein eigenes Regal: Der Newsletter des Katalogs und die MJML-Einträge werden auf der GrapesJS-E-Mail-Seite abgedeckt, anstatt hier dupliziert zu werden. GrapesJS für E-Mail
import grapesjs, { usePlugin } from 'grapesjs';
// A plugin is a function over the editor. Everything the editor exposes —
// components, blocks, panels, commands, storage — is reachable from here,
// which is how the whole GJS.Market catalogue is built.
const tenantBranding = (editor, opts = {}) => {
const { accent = '#6B73FF' } = opts;
editor.Commands.add('preview-tenant', {
run: (ed) => ed.runCommand('core:preview'),
});
editor.on('load', () => {
editor.Canvas.getDocument()
.documentElement.style.setProperty('--accent', accent);
});
};
const editor = grapesjs.init({
container: '#gjs',
// usePlugin() is the current API for passing options.
// grapesjs.plugins.add() is deprecated.
plugins: [usePlugin(tenantBranding, { accent: '#0EA5E9' })],
storageManager: {
type: 'remote',
autosave: true,
stepsBeforeSave: 5,
options: {
remote: {
// Your API, your database, your auth. GrapesJS never talks to a
// vendor endpoint.
urlLoad: '/api/tenants/42/pages/7',
urlStore: '/api/tenants/42/pages/7',
credentials: 'include',
onStore: (data) => ({ page: data }),
onLoad: (result) => result.page,
},
},
},
});Fertige Plugins und Dienste reduzieren, wie viel von der Produktschicht du von Grund auf aufbaust. Sie beseitigen sie nicht, und diese Seite wird nicht so tun, als wäre das anders.
Katalog verifiziert auf 2026-09-03.
Es gibt keinen Importeur. Weder im Katalog, noch auf npm, bei keinem der beiden Anbieter. Jeder, der dir einen Ein-Klick-Pfad zwischen diesen beiden Produkten anbietet, beschreibt etwas, das nicht existiert, und wie viel Arbeit eine Migration ist, hängt fast ausschließlich davon ab, wie tief die aktuelle Implementierung die Plattform nutzt.
6-Gegenstände
Inhalt und Struktur überdauern einen Umzug meist, weil sie dir von Anfang an gehören.
7-Gegenstände
Alles, was in Plattformbegriffen ausgedrückt wird, hat kein GrapesJS-Äquivalent zum Import. Es wird gegen deinen eigenen Stack neu implementiert.
Audit des Projekts
Inventarseiten, Komponenten, Datenbindungen, CMS-Modelle und jeder Workflow, der von einer Plattformfunktion abhängt. Dieser Schritt bestimmt die Größe von allem danach.
Entwurf des Dokumentenmodells
Entscheide, was eine Seite in deinem System ist: ihr Schema, ihre Versionen, ihr Tenant-Scoping. GrapesJS-Projektdaten sind JSON, und die Form darum herum liegt bei dir.
Bauteile als Typen neu aufgebaut
Jede Komponente wird zu einem GrapesJS-Komponententyp mit eigenem Modell, traits und Abwurfregeln. Das ist Ingenieurwesen, keine Umwandlung.
Baue die Editor-Shell
Panels, Blöcke, Branding und die Bearbeitungsregeln, die Ihre Nutzer benötigen. Hier hört ein eingebetteter Editor auf, generisch zu wirken.
Drahtspeicherung
Richte den Storage Manager auf deinen API. Implementiere Load, Store, autosave und Konfliktbewältigung in deiner eigenen Datenbank.
Verschieben Sie den Inhalt
Schreibe die Migrationsschicht: Lies das exportierte Projekt, bilde es auf dein Dokumentmodell ab und schreibe es in deine Datenbank. Niemand sonst kann das für dich schreiben.
Wiederverbinden von Integrationen
Datenquellen, CMS-Modelle und alles, was zuvor ein Plattform-Connector war, wird jetzt zu einer Integration in Ihre eigene Anwendung.
Testen Sie mit echten Inhalten
Migriere zuerst einen repräsentativen Slice. Mach ihn hin und zurück, veröffentliche ihn und vergleiche die gerenderten Ausgaben, bevor du dich für den Rest festlegst.
Schnitt über
Führe beide parallel aus, verschiebe Tenants in Chargen und halte das alte Projekt lesbar, bis das letzte verfügbar ist.
Die Migration von Plasmic zu GrapesJS ist in der Regel eine Architektur-Migration, nicht einfach ein Editor-Ersatz.
Diese Seite gibt keinen Migrationszeitplan an. Die ehrliche Antwort ist, dass es davon abhängt, wie viel von der Plattform die aktuelle Implementierung tatsächlich nutzt, und jede vor einem Audit angegebene Zahl ist eine Vermutung.
Wir können Ihnen helfen, einen GrapesJS-basierten visuellen Editor rund um Ihre bestehende Anwendungsarchitektur zu entwerfen und zu implementieren. Die folgende Liste zeigt die Arbeit selbst, die nach einer Überprüfung und nicht als Paket verkauft wird.
Architekturplanung
Das Dokumentmodell, die Speicherform und die Editorgrenzen werden vor dem Code festgelegt.
Editor-Implementierung
Die Editor-Hülle, Panels, Branding- und Bearbeitungsregeln in Ihrem Produkt.
Component-Migration
Baue deine Komponenten als GrapesJS-Komponententypen und -blöcke wieder auf.
CMS-Integration
Den Editor an das Content-Modell anschließen, das du bereits nutzt.
Benutzerdefinierte Plugins
Die Erweiterungen, die Ihr Produkt benötigt und der Katalog nicht hat.
Lagerung
Laden, speichern, autosave, Versionsmanagement und Konfliktbeseitigung gegen dein API.
Verlagswesen
Bearbeitete Dokumente in das umzuwandeln, was "live" für dich bedeutet.
Migrationshilfe
Die Migrationsschicht, der Inhaltswechsel und der Cutover-Plan.
Umfang, Sequenzierung und Zeitpläne werden nach einer Überprüfung Ihrer aktuellen Implementierung festgelegt. Wir geben keine feste Migrationsdauer an, bevor wir sehen, was migriert wird.
Die faule Version dieses Vergleichs lautet: "GrapesJS ist Open Source, Plasmic ist geschlossen." Das ist auch falsch. Beide Ökosysteme veröffentlichen Open-Source-Code, und die Lizenzlinie ist interessanter, als beide Seiten normalerweise zugeben.
Das Repository von Plasmic ist öffentlich und dual-lizenziert: Alles außerhalb des Plattformverzeichnisses ist MIT, und die Studio-Plattform selbst steht unter AGPL. Seine Loader-, Host- und CLI-Pakete sind alle MIT auf npm. Wo es bei einer Self-Hosting-Geschichte nicht mehr ist, ist die Dokumentation – die Security Docs routen Self-Hosting zu "Kontakt mit unserem Enterprise-Team" auf, und es gibt keinen veröffentlichten Leitfaden für den eigenen Betrieb von Studio.
Der GrapesJS-Kern ist BSD-3-Clause und der React-Wrapper ist MIT. Es ist eine Abhängigkeit, die man installiert, daher ist "Self-Hosting" keine Funktion, die es bieten kann – es gibt nichts anderes zu hosten. Beachte, dass die GitHub-Seitenleiste die Lizenz als "Sonstig" angibt, da die Root-Lizenzdatei nur auf das Paket zeigt; die npm-Listung ist die korrekte Quelle.
Beide Ökosysteme bieten Open-Source-Code und Integrationen. Die wichtige Produktentscheidung ist nicht die Lizenz – sondern wie der visuelle Editor in Ihre Anwendungsarchitektur integriert ist.
Das sind zwei verschiedene Preismodelle, nicht zwei Zahlen. Das eine veröffentlicht Listenpreise pro Mitarbeiter und Monat. Das andere hat keinen Listenpreis und eine echte Kosten, die als Ingenieurzeit angezeigt werden. Wenn man sie so vergleicht, als wären sie dieselbe Art von Zahl, sind die Leute überrascht.
Veröffentlichte Pläne, monatlich abgerechnet mit Rabatt für die jährliche Abrechnung.
Ein Editor-Framework ohne Lizenzgebühr. Die Gesamtkosten sind das, was du darum herum baust.
Die von Plasmic veröffentlichten Tarife werden von der Preisseite am angegebenen Datum abgelesen. Die Seite enthält einen monatlichen/jährlichen Schalter und beide Bundesstaaten sind unten aufgeführt. Enterprise veröffentlicht keine Zahlen. Dies sind Listenpreise zu einem Datum und nicht mehr – prüfen Sie die Quelle, bevor Sie danach planen. (2026-09-03)
Der Scale-Plan ergänzt
Der Enterprise-Plan ergänzt
Wo GJS.Market die Arithmetik ändert, ist die Entwicklungslinie: Fertige Plugins und Scoped Services reduzieren, wie viel von dieser Spalte du von Grund auf schreibst. Sie entfernen sie nicht.
GrapesJS ist nicht automatisch günstiger. Die Kosten werden von einem Abonnement in dein Engineering-Budget übertragen, und ob das ein guter Tausch ist, hängt davon ab, was der Editor für dein Produkt wert ist.
Eine Anforderung pro Zeile, und der bessere Ausgangspunkt dafür. Sechs Zeilen zeigen auf Plasmic, eine sagt beides und die andere sagt, es hängt davon ab – weil das die Fakten unterstützen.
| Anforderung | Besserer Ausgangspunkt |
|---|---|
| Eine fertige visuelle Entwicklungsplattform | Plasmic |
| React-erste visuelle Entwicklung | Plasmic |
| Eingebaute CMS- und Inhaltsfunktionen | Plasmic |
| Zusammenarbeit direkt aus der Box | Plasmic |
| A/B-Tests und Personalisierung, ohne sie zu entwickeln | Plasmic |
| Der schnellste Weg zu einer breiten visuellen Plattform | Plasmic |
| Ein visueller Seitenbauer | Beide |
| Datenintegrationen | Kommt auf die Anforderungen an |
| Ihr eigenes Editor-Produkt erstellen | GrapesJS |
| Ein Editor, der in deinem SaaS eingebettet ist | GrapesJS |
| Maximale Kontrolle über die Editor-UX | GrapesJS |
| Ihr eigenes Backend und Lager | GrapesJS |
| Eine maßgeschneiderte Publishing-Architektur | GrapesJS |
| Deine eigene Plugin-Architektur | GrapesJS |
| Framework-Flexibilität über React hinaus | GrapesJS |
| Ein kopfloser CMS mit eigener Architektur | GrapesJS |
"Besser" hängt hier davon ab, was dein Produkt besitzen muss. Eine Reihe ist ein Ausgangspunkt für eine Bewertung, kein Urteil über die Produkte.
Wähle die Aussage, die am meisten an deine Situation passt. Drei davon führen zu Plasmic.
Was versuchst du eigentlich zu bauen?
Ich möchte eine visuelle Plattform, die bereits funktioniert
Plasmic
Eine Plattform zu übernehmen ist viel günstiger, als eine neu zu bauen, und Plasmic ist eine ausgereifte Plattform.
Mein Produkt ist React, und ich möchte visuelle Bearbeitung über meine eigenen Komponenten
Plasmic
Plasmics app host läuft Studio in deiner React-App, sodass es deine echten Komponenten erkennt.
Ein Content-Team muss zusammenarbeiten, planen und experimentieren
Plasmic
Multiplayer, Kommentare, Verzweigungen, Planung und A/B-Tests sind Plattformfunktionen.
Meine Kunden werden den Editor in meinem Produkt verwenden
GrapesJS
Ein eingebetteter, unbranded Editor unter deiner eigenen Autorisierung ist genau das Wofür GrapesJS gedacht ist.
Das Bearbeitungserlebnis ist ein Grund, warum Leute mein Produkt kaufen
GrapesJS
Differenzierte UX bedeutet, die Benutzeroberfläche zu besitzen, nicht die von jemand anderem zu konfigurieren.
Der Editor muss meinem Backend Rechenschaft ablegen müssen, nicht umgekehrt
GrapesJS
GrapesJS hat keine Meinung zu deinem Stack, Speicher, Mandanten oder Deployment.
Sechs Produkte, die Menschen auf einem eingebetteten Editor liefern. Jedes hat eine eigene Seite, weil jedes eine wirklich andere Auswahl an Entscheidungen ist.
Einen Builder, den Ihre Kunden innerhalb Ihres Produkts nutzen, unter Ihren Plänen und Grenzen.
SaaS-SeitenbauerDer Editor als Schicht innerhalb einer bereits existierenden Anwendung mit Benutzern.
Einbettbarer SeitenbauerKein Anbieter-Branding, kein zweiter Login und eine Schnittstelle, die ganz dir gehört.
White-Label-SeitengeneratorEin fokussierter Builder für Kampagnenseiten, mit Blöcken, die an Ihre Marke gebunden sind.
Landingpage-BuilderVisuelles Bearbeiten zusätzlich zum Content-Modell und API, das du bereits ausführst.
Headless CMS-EditorEin anderes Dokumentmodell und ein anderer Renderer, mit eigenem Plugin-Regal.
GrapesJS für E-MailDu musst nicht jede Editor-Funktion von Grund auf neu bauen. Fang mit GrapesJS an und füge produktionsbereite Plugins für Rich Text, UI-Komponenten, Integrationen, E-Mail-Bearbeitung und andere Workflows hinzu – und schreibe dann nur die Teile, die wirklich spezifisch für dein Produkt sind. Es ist der kürzeste Weg, einen visuellen Editor zu bauen, der dir noch gehört.
Entdecken Sie GrapesJS-PluginsPlasmic und GrapesJS lösen sich überschneidende Probleme aus unterschiedlichen architektonischen Richtungen. Plasmic bietet Teams eine breitere visuelle Entwicklungsplattform. GrapesJS gibt Entwicklern die Grundlage, um ihren eigenen visuellen Editor zu erstellen und zu steuern. Wenn Ihr Editor ein Kernbestandteil Ihrer SaaS, CMS oder Anwendung wird, gibt Ihnen GrapesJS die Flexibilität, die Architektur rund um Ihr Produkt herum zu gestalten.
Öffne den Editor und schau, was dir die Engine tatsächlich liefert, bevor du entscheidest, worauf du aufbaust.
Probier GrapesJSReicher Text, Komponenten, Speicheradapter und Presets – echte Auflistungen für die Teile, die du sonst schreiben würdest.
Entdecken Sie GJS.Market-PluginsArchitektur, Implementierung von Editoren, Komponentenmigration und die Arbeit beim Verschieben eines bestehenden Projekts.
Sprich mit einem ExpertenWähle Plasmic, wenn du mehr von der visuellen Entwicklungsplattform für dich bereit haben möchtest. Wähle GrapesJS, wenn der Editor selbst Teil deines Produkts werden muss. Und wenn du GrapesJS willst, ohne jede Integration von Grund auf neu zu bauen, stellt GJS.Market die Plugins und Dienste bereit, die dir helfen, den Editor zu erweitern, zu integrieren und anzupassen.