PageKit — der selbst gehostete GrapesJS-Website-Builder, als Quellcode. Early Access sichern

Vergleich von Editor-Frameworks

GrapesJS vs. Craft.js

Vergleichen Sie zwei Open-Source-Ansätze zum Erstellen visueller Editoren, Seitenbuilder und SaaS-Bearbeitungserlebnisse.Sehen Sie, wie sich GrapesJS und Craft.js in Architektur, React-Integration, Editor-Infrastruktur, Anpassung, Erweiterbarkeit, Speicher und Produktionsentwicklung unterscheiden.

Beide sind Open Source und beide sind Frameworks – keines von beiden ist ein gehostetes ProduktCraft.js ist von Natur aus React-First; GrapesJS läuft als Bibliothek auf jeder SeiteJeder untenstehende Anspruch ist datiert und mit der eigenen Projektdokumentation verknüpft

Craft.js

React-erste Editor-Stiftung

  1. Ihr AntragMit freundlichen Grüßen
  2. Craft.jsRahmenwerk
  3. Deine Editor-OberflächeMit freundlichen Grüßen

Der Editor ist eine React-Anwendung, die du entwirfst.

GrapesJS

Umfassendere Grundlagen des visuellen Editors

  1. Ihr AntragMit freundlichen Grüßen
  2. GrapesJSRahmenwerk
    • Canvas
    • Blöcke
    • Style Manager
    • Schichten
  3. Dein BackendMit freundlichen Grüßen

Der Herausgeber kommt versammelt an; du verlängerst ihn.

Zwei Minuten

Welches Framework passt zu Ihrem Produkt?

Fünf Fragen zu deinem Stack, deinem Output und wie viel vom Editor du besitzen möchtest. Das Ergebnis nennt die Antworten, die es vorangetrieben haben, sodass du mit den Details und nicht mit der Schlussfolgerung übereinstimmen kannst.

0 von 5 antwortete
Frage 1

Wie sieht dein Frontend-Stack aus?

Frage 2

Was sollte der Editor in erster Linie produzieren?

Frage 3

Wie viel Editor-Infrastruktur möchtest du dir selbst aufbauen?

Frage 4

Wer wird den Editor benutzen?

Frage 5

Wie wichtig ist die Unabhängigkeit des Rahmens?

Kurze Antwort

Die Kurzfassung, vor dem Detail

Beide Projekte sind Open-Source-Frameworks, die man in eine Anwendung installiert, die man bereits besitzt. Der Unterschied liegt darin, wo man anfängt.

Wähle Craft.js, wenn

Deine Anwendung ist React, und der Editor ist ebenfalls eine React-Anwendung.

Signale

  • Deine Anwendung ist stark auf React ausgerichtet
  • Dein Editor basiert grundlegend auf React-Komponenten
  • Du willst maximale Kontrolle über die Editor-Architektur haben
  • Du bist damit vertraut, bedeutende Teile der Editor-UX aufzubauen
  • Dein Output ist eng mit React verknüpft

Du tauschst Time-to-First-Editor gegen ein Bearbeitungsmodell, das dein Komponentenmodell ist.

Lies die Craft.js-Dokumentation

Wähle GrapesJS, wenn

Man möchte einen funktionierenden visuellen Editor, der sich erweitert, statt eine Menge von Primitiven zum Zusammenstellen.

Signale

  • Du brauchst eine umfassendere Grundlage für visuelle Editoren
  • Du brauchst eine integrierte Editor-Infrastruktur
  • Du brauchst Blöcke, Komponenten, Stile, Ebenen und Assets
  • Du solltest mehrere Frontend-Umgebungen unterstützen
  • Du möchtest den Editor mit Plugins erweitern
  • Du baust einen SaaS-Visual-Editor
  • Du brauchst einen einbettbaren Seitenbauer
  • Du brauchst E-Mail und Seitenbearbeitung in einer Engine

Man tauscht etwas architektonische Freiheit gegen einen Editor ein, der schon am ersten Tag arbeitet.

Fang mit GrapesJS an
Architektur

Craft.js vs. GrapesJS: Was bauen Sie eigentlich?

Das ist die Entscheidung, von der der Rest der Seite abfällt. Beide Frameworks bieten dir einen Knotenbaum, Drag-and-Drop und Serialisierung. Sie unterscheiden sich darin, wie viel vom Editor um diesen Baum herum bereits existiert.

Craft.js

React → Craft.js → deine Komponenten → deinem Editor UI

  1. Ihr AntragCode, den du schreibst und besitzt
  2. ReactCode, den du schreibst und besitzt
  3. Craft.jsOpen-Source-Framework
  4. Deine KomponentenCode, den du schreibst und besitzt
  5. Deine Editor-OberflächeCode, den du schreibst und besitzt
  6. Dein BackendCode, den du schreibst und besitzt

Craft.js liefert den Knotenbaum, das Drag-and-Drop-Verhalten, die Historie und die Serialisierung. Alles, was ein Nutzer sieht – die Panels, die Toolbars, die Eigenschaftssteuerungen, die Blockpalette – ist React, das du mit eigenen Komponenten schreibst. Das ist der Sinn des Designs, nicht eine Lücke darin.

GrapesJS

Deine App → GrapesJS → deinem Backend

  1. Ihr AntragCode, den du schreibst und besitzt
  2. GrapesJSOpen-Source-Framework

    Editor-Subsysteme, die das Framework bereits umfasst

    • Canvas
    • Komponenten
    • Blöcke
    • Style Manager
    • Schichten
    • Vermögenswerte
    • Commands
    • Lagerung
  3. Dein BackendCode, den du schreibst und besitzt

GrapesJS stellt einen funktionierenden Editor bereit: ein Canvas, ein Komponentenmodell, eine Blockpalette, einen visuellen Stilmanager, einen Layer-Baum, einen Asset-Manager, eine Befehlsregistrierung und eine Speicherschicht. Man gestaltet sie neu, ersetzt Panels und fügt Plugins hinzu – aber man beginnt nicht damit, sie zu schreiben.

Wer schreibt es

  • Code, den du schreibst und besitzt
  • Open-Source-Framework

Craft.js gibt dir eine React-First-Grundlage. GrapesJS gibt dir eine breitere Grundlage für visuelle Editoren.

Keines der beiden Frameworks ist eine Plattform. Keines bietet ein CMS, Hosting, Authentifizierung, Benutzerkonten, Abrechnung, Berechtigungen, Multitenancy oder eine Veröffentlichungspipeline. Diese gehören auf beiden Seiten zur Anwendung, und jeder Vergleich, der sie in eine Spalte einordnet, misst das falsche.

Funktionsvergleich

GrapesJS vs Craft.js, Fähigkeit für Fähigkeit

Lies die Zellen, nicht ein Häkchen oder ein Kreuz. "Erfordert deine Editor-Implementierung" ist nicht dasselbe wie "fehlt", und "deine Anwendung" ist nicht dasselbe wie "nicht unterstützt" – der Großteil des unteren Drittels dieser Tabelle ist für beide identisch, da beide Frameworks und keine Produkte sind.

LeistungsfähigkeitGrapesJSCraft.js
Primäre ArchitekturVisual-Editor-FrameworkReact-Editor-Framework
React-AbhängigkeitOptionalErforderlich
RahmenflexibilitätFramework-agnostischNur React
CanvasEingebautFramework-Funktion
Drag & DropEingebautEingebaut
KomponentenEingebautFramework-Funktion
BlöckeEingebautErfordert die Implementierung deines Editors
SchichtenEingebautOffizielles Begleitpaket
StilmanagementEingebautErfordert die Implementierung deines Editors
VermögenswerteEingebautErfordert die Implementierung deines Editors
CommandsEingebautBenutzerdefinierte Implementierung
GerätevorschauEingebautErfordert die Implementierung deines Editors
Responsive BearbeitungEingebautErfordert die Implementierung deines Editors
Rückgängig machen / neu machenEingebautEingebaut
Benutzerdefinierter Editor UIEingebaut, vollständig anpassbarDein Ende von Anfang zu Ende
Individuelle KomponentenEingebautFramework-Funktion
Benutzerdefinierte BlöckeEingebautErfordert die Implementierung deines Editors
VorlagenVia PluginBenutzerdefinierte Implementierung
SpeicherintegrationEingebautAnwendungsverantwortlichkeit
JSON / ProjektdatenEingebautEingebaut
HTML/CSS-AusgangEingebautBenutzerdefinierte Implementierung
React-KomponentenrenderingEditor UI in React; Canvas rendert HTMLNative für das Modell
E-Mail-WorkflowsVia PluginBenutzerdefinierte Implementierung
MJMLVia PluginNicht anwendbar
Plugin-ÖkosystemPlugins plus ein MarktplatzKleines Ökosystem
API-ErweiterbarkeitEingebautFramework-Funktion
SelbsthostingUnterstütztUnterstützt
White-LabelingEingebaut, vollständig anpassbarDein Ende von Anfang zu Ende
SaaS-EinbettungAnwendungsverantwortlichkeitAnwendungsverantwortlichkeit
Benutzerdefiniertes BackendAnwendungsverantwortlichkeitAnwendungsverantwortlichkeit
Benutzerdefinierte DatenbankAnwendungsverantwortlichkeitAnwendungsverantwortlichkeit
AuthentifizierungAnwendungsverantwortlichkeitAnwendungsverantwortlichkeit
BerechtigungenAnwendungsverantwortlichkeitAnwendungsverantwortlichkeit
VerlagswesenAnwendungsverantwortlichkeitAnwendungsverantwortlichkeit
Mehrfach-MandantenfähigkeitAnwendungsverantwortlichkeitAnwendungsverantwortlichkeit

Jede obige Zeile wurde aus der eigenen Dokumentation, dem Repository und dem npm-Registrierungseintrag jedes Projekts auf 2026-09-03. Wo eine Fähigkeit über das eigene Ökosystem eines Frameworks erreichbar ist, sagt die Zelle dies an, anstatt sie als abwesend zu markieren.Quellen: Überblick über Craft.js · Craft.js-Editor API · Craft.js-Schichten-Paket · Craft.js auf npm · GrapesJS-Dokumentation · GrapesJS auf npm

Ökosystemsignale

Aktuelle Veröffentlichungen und Community-Größe

Beliebtheit ist kein technisches Argument, und diese Tabelle ist kein Urteil. Sie ist hier, weil Release-Rhythmus und Community-Größe beeinflussen, wie lange man auf eine Antwort wartet, wenn etwas kaputtgeht – was ein echter Ingenieuraufwand ist, im Gegensatz zu einer Sternzahl an sich.

Aktuell veröffentlichte Versionen, Lizenzen und Repository-Sternenzahlen für beide Projekte
PaketNeueste VersionLizenzVeröffentlichtRepository-Sterne
grapesjs0.23.6BSD-3-Clause2026-08-2526,185
@craftjs/core0.2.12MIT2025-02-148,738

Lesen Sie aus der npm-Registry und dem GitHub API am oben genannten Datum. Keines der Repositorien ist archiviert. Craft.js befindet sich weiterhin auf der 0.2.x-Linie und die jüngste Veröffentlichung ist mehr als ein Jahr älter als diese Seite; eine 0.3.0-Alpha existiert, wurde aber seit 2022 nicht mehr aktualisiert. Das ist eine Tatsache, die man vor einer mehrjährigen Verpflichtung wissen sollte – es allein ist kein Grund, das Projekt auszuschließen, und die Teams, die es heute in Produktion betreiben, sind nicht gestrandet. Craft.js deklariert React als Peer-Abhängigkeit über React 16.8 – 19. Craft.js veröffentlicht außerdem zwei Begleitpakete: @craftjs/layers und @craftjs/utils.

Aufgabenbereich

Wie viel Editor-Infrastruktur musst du bauen?

Die nützlichste Spalte auf dieser Seite. Es ist keine Liste dessen, was jedem Framework fehlt – es ist eine Auflistung, wo die Arbeit einschlägt.

LeistungsfähigkeitCraft.jsGrapesJS
Herausgeber-StiftungRahmenwerkRahmenwerk
CanvasKern-Editor-ArchitekturEingebaut
KomponentenmodellReact-orientiertEingebaut
BlöckeErfordert die Implementierung deines EditorsEingebaut
StilsteuerungErfordert die Implementierung deines EditorsEingebaut
SchichtenOffizielles BegleitpaketEingebaut
VermögensverwaltungErfordert die Implementierung deines EditorsVerfügbar
GerätesteuerungenErfordert die Implementierung deines EditorsVerfügbar
CommandsKern-Editor-ArchitekturVerfügbar
LagerungAnwendung / IntegrationStorage Manager
Individuelle UIVolle KontrolleHochgradig anpassbar

"Erfordert deine Editor-Implementierung" bedeutet, dass das Framework dir den Zustand und das APIs gibt, und du renderst die Oberfläche selbst. Für ein Team, das möchte, dass die Oberfläche ihnen gehört, ist das das Feature. Für ein Team, das dieses Quartal einen funktionierenden Editor braucht, ist es der Zeitplan.

Keine der beiden Spalten ist eine Abkürzung. Eine von ihnen beginnt einfach weiter voran, die andere näher am eigenen Komponentenmodell.

Der Handel

Headless-Editor oder visuelle Editor-Grundlage

Jeder Vorteil auf dieser Seite hat entsprechende Kosten. Hier liegen sie nebeneinander, in derselben Form, in derselben Größe.

Craft.js

Am besten geeignet für Teams, die eine React-native Architektur und eine eigene Editor-Oberfläche wünschen.

Was du bekommst

  • Der Editor ist React, von oben bis unten – kein zweites Rendering-Modell, um nachzudenken
  • Deine Produktionskomponenten sind die Komponenten auf dem Canvas
  • Vollständige Kontrolle über die Bearbeitungs-UX, weil du alles renderst
  • Ein kleiner, lesbarer Kern mit einer stabilen API-Oberfläche
  • Serialisierter Zustand ist ein einfacher Knotenbaum, den du nach deinem Schema formen kannst

Was es kostet

  • Panels, Property-Steuerungen, Blockpaletten und Gerätewechsel sind deine Erstellung
  • Kein Visual Style Manager – du entwirfst die Kontrollen, die deine Nutzer erhalten
  • Kein HTML/CSS-Exportpfad direkt aus der Verpackung; du renderst den Baum selbst
  • An React gebunden, sodass der Editor nicht zu einem anderen Frontend wechseln kann
  • Ein kleines Ökosystem: nur wenige fertige Erweiterungen zum Einbauen

Die Kosten sind die Entwicklung der Editor-Oberfläche. Der Return ist ein Editor, der genau zu deiner Architektur passt.

GrapesJS

Am besten geeignet für Teams, die eine funktionierende visuelle Editor-Infrastruktur erweitern möchten.

Was du bekommst

  • Canvas, Blöcke, Ebenen, Stile, Assets und Befehle existieren bereits und funktionieren zusammen
  • Responsive Device Editing und ein Visual Style Manager am ersten Tag
  • Läuft als Bibliothek auf jeder Seite, sodass der Editor nicht an ein einziges Frontend-Framework gebunden ist
  • Ein dokumentiertes Plugin API plus ein Katalog fertiger Erweiterungen
  • Reinigen Sie HTML und CSS direkt aus der Verpackung sowie serialisierbare Projektdaten

Was es kostet

  • Das Canvas ist HTML, nicht dein React-Baum – ein React-Designsystem muss als Komponenten gespiegelt werden
  • Man erbt eine Editor-Architektur, anstatt eine zu entwerfen
  • Tiefgehende Anpassung bedeutet, das Modul APIs zu lernen, bevor man sie biegen kann
  • Ein sehr meinungsstarkes Produktdesign zu treffen, erfordert echte Arbeit an den Panels

Der Preis ist, eine Architektur zu lernen, die jemand anderes entworfen hat. Die Rückgabe ist ein Editor, der bereits funktioniert.

Siehst du es laufen sehen.

Drei Editoren, eine Engine

In einem neuen Tab öffnen

Die offizielle Demo: Blöcke auf das Canvas ziehen, Stile im Style-Manager bearbeiten, Gerätebreiten wechseln, den Layer-Baum inspizieren. Keine Plugins, keine Konfiguration – das ist es, was der Core beinhaltet.

grapesjs.com/demo.htmlOpen Source

Lädt von einem Drittanbieter-Ursprung

Alle drei laufen mit derselben Open-Source-Engine. Der Unterschied zwischen ihnen liegt in der Konfiguration, den Panels und den Plugins – was die praktische Form eines "erweiterbaren visuellen Editor-Frameworks" ist. Demos laden erst von Drittanbieter-Origins, nachdem man sie geladen hat.

React

Wenn dein Produkt React-first ist

Das ist die Frage, mit der die meisten Leser tatsächlich kommen, und die ehrliche Antwort teilt sich.

Craft.js passt stark, wenn

Der Editor ist keine Komponente deiner React-App – er ist deine React-App.

Signale

  • Der Editor ist im Grunde eine React-Anwendung
  • Dein Inhalt ist direkt auf die Komponenten von React abgebildet.
  • Du willst, dass das Komponentenmodell von React den Editor steuert
  • Ihre Nutzer sind Entwickler oder ein technisches internes Team

Das Canvas rendert dieselben Komponenten, die die Produktion rendert. Nichts wird gespiegelt, nichts driftet.

GrapesJS passt stark, wenn

React ist ein Teil deines Stacks und nicht das Ganze.

Signale

  • React ist nur ein Teil deines Stacks
  • Du willst einen framework-unabhängigen Editor
  • Du brauchst HTML/CSS visuelle Bearbeitung
  • Du möchtest den Editor in verschiedenen Anwendungsumgebungen wiederverwenden

Der Editor UI kann React sein, während das Canvas HTML bleibt – was ihn portabel macht.

Das Canvas ist der eigentliche Unterschied. Craft.js rendert deinen React-Baum im Editor; GrapesJS bearbeitet ein HTML-Dokument und liefert dir die resultierenden HTML und CSS. Ein React-Designsystem kann in GrapesJS als Editor-Komponenten dargestellt werden, aber es ist eine Darstellung, und diese Darstellung mit der Produktion synchron zu halten, ist eine Arbeit, die du planen solltest.

Rahmenunabhängigkeit

Was, wenn du mehr als React brauchst?

GrapesJS kann als Editor-Grundlage in verschiedenen Frontend-Umgebungen dienen, während Craft.js speziell für React entwickelt wurde.

GrapesJS

Eine Engine, die aus mehreren Umgebungen montiert ist

Lies das genau. Die Engine ist eine JavaScript-Bibliothek, die auf ein DOM-Element eingebunden wird, was sie aus allen oben genannten Frontend-Umgebungen nutzbar macht. Das bedeutet nicht, dass es für jeden von ihnen einen offiziellen Wrapper gibt: Es gibt einen offiziellen React-Wrapper, und die Vue- und Angular-Integrationen sind Muster und keine Pakete. Die untenstehenden Seiten pro Framework zeigen den tatsächlichen Integrationscode.

SaaS

Einen visuellen Editor in deinen SaaS einbauen?

Der Editor ist eine von mehreren Oberflächen, und es ist die einzige, zu der beide Frameworks eine Meinung haben. Alles drumherum bleibt deins.

  • Authentifizierung
  • Organisationen
  • Abrechnung
  • Berechtigungen
  • Datenbank
  • Visueller Editor

GrapesJS

Dieses Diagramm würde mit Craft.js anstelle von GrapesJS gleich aussehen. Keines der beiden Frameworks bietet Authentifizierung, Organisationen, Abrechnungen, Berechtigungen oder eine Datenbank, und ein Vergleich, der etwas anderes impliziert, verkauft etwas.

Anwendungsfälle

Welche Teams bauen tatsächlich damit auf?

Sechs Formen, die dieselbe Bearbeitungsfläche annimmt, sobald sie sich in einem Produkt befindet. Jede einzelne wird auf einer eigenen Seite ausführlich behandelt.

Einbettung

Integrieren Sie den Editor in Ihr Produkt

Der Editor kann ein nativer Teil deiner Anwendung werden, anstatt ein separater gehosteter Dienst zu sein. Beide Frameworks unterstützen das; der Unterschied liegt darin, wie viel von der Oberfläche du zusammenbaust, bevor du es ausliefern kannst.

Ihr Antrag

Das Produkt, bei dem sich Ihre Nutzer bereits anmelden

  • Dein Routing und Layout
  • Deine Sitzung und Berechtigungen
  • Deine Navigation und Shell
  • Deine Design-Tokens

Bearbeitungsfläche

Der Editor, der darin montiert ist

Plugins durchsuchen
  • Canvas und Panels
  • Dein Blocksatz
  • Deine Komponenten
  • Plugins, die du hinzufügst
  • Gehört dir

    Anwendungsshell

    • Auth
    • Routing
    • Mandantenfähigkeit
    • Abrechnung
  • Open Source

    Editor-Engine

    • Canvas
    • Komponenten
    • Stile
    • Commands
  • Gehört dir

    Datenschicht

    • Dein API
    • Deine Datenbank
    • Deine Vermögenswerte
    • Deine Versionen
Kein zweites Produkt, kein zweiter Login, kein Inhalt verlässt deine Infrastruktur.

Anfragepfad

  1. Dein Dashboard
  2. Visueller Editor
  3. GrapesJS
  4. Dein API
  5. Deine Datenbank
Der Editor spricht mit deinem API zu deinen Bedingungen; nichts wird über einen Anbieter vermittelt.
Konstruktionssystem

Baue um dein Designsystem herum

Das richtige Editor-Framework sollte es ermöglichen, das Bearbeitungserlebnis um die Komponenten herum aufzubauen, mit denen Ihre Nutzer tatsächlich arbeiten. Beide Frameworks tun dies; sie unterscheiden sich darin, was eine Komponente ist.

Vom Designsystem zur Canvas

  1. Dein Designsystem
  2. Editor-Komponente
  3. Block in der Palette
  4. Auf dem Canvas
In Craft.js kollabieren die letzten beiden Schritte – die Komponente auf dem Canvas ist die Komponente. In GrapesJS umwickelt der Block eine Definition, das Canvas wird als HTML gerendert.
Typisches Blockset

Die Abschnitte, die deine Nutzer tatsächlich platzieren

Ein Blockset ist eine Produktentscheidung, kein Framework-Feature. Das sind die Abschnitte, die die meisten Teams am Ende zuerst veröffentlichen – eingeschränkt, gebrandet und sicher an einen nicht-technischen Nutzer weitergegeben.

  • Hero

    Überschrift, unterstützende Kopie und eine Hauptaktion mit gesperrtem Layout.

  • Preisgestaltung

    Plane Spalten, die auf deinen eigenen Daten basieren, statt auf freiem Text.

  • Merkmale

    Ein wiederholbares Raster, in dem die Zählung begrenzt ist und die Symbole aus deinem Set stammen.

  • Aufruf zum Handeln

    Ein einzelnes Umwandlungsband mit nur markenzugelassenen Farboptionen.

  • Navigation

    Die Website-Navigation können Ihre Nutzer zwar ausfüllen, aber nicht umstrukturieren.

  • Formular

    Felder, die mit deinem Endpunkt verbunden sind, mit Validierung, die du kontrollierst.

  • Erfahrungsberichte

    Zitate und Quellenangaben stammen aus Aufzeichnungen, statt neu getippt zu werden.

  • Produktkarte

    Eine Handelskachel, die an ein echtes Produkt gebunden ist, nicht an ein Bild davon.

Einschränkungen, die deine Nutzer nicht brechen können, sind mehr wert als ein Canvas, auf dem alles möglich ist.

Lagerung

Verbinde den Editor mit deinem eigenen Backend

Beide Frameworks serialisieren ihren Zustand und geben ihn dir weiter. Keines von beiden speichert ihn. GrapesJS stellt einen Storage Manager mit Lade- und Speicher-Callbacks bereit; Craft.js liefert dir den serialisierten Knotenbaum und überlässt den Transport an deine Anwendung.

Persistenzpfad

  1. Herausgeber
  2. Speicherschicht
  3. REST / GraphQL
  4. Dein API
  5. Deine Datenbank
Eine Anfrage, auf deinem eigenen Transport, an eine Datenbank, die du bereits betreibst.

Häufige Ziele

  • PostgreSQL
  • MySQL
  • MongoDB
  • REST
  • GraphQL
  • Headless CMS

Deine Anwendung besitzt die Backend-Architektur. Keines der beiden Frameworks stellt eine Datenbank, ein API, Versionsmanagement, Publishing oder ein CDN bereit, und die obige Liste ist eine Liste der Dinge, die du bereits betreibst – nicht die Funktionen, die eines der beiden Projekte bereitstellt.

E-Mail

Wie sieht es mit E-Mail-Bearbeitung aus?

E-Mail ist der offensichtlichste Fall, in dem die beiden Frameworks nicht austauschbar sind. GrapesJS kann für E-Mail-Bearbeitungs-Workflows durch Presets erweitert werden, die das Blockset und das Exportformat tauschen; Craft.js hat keinen entsprechenden Pfad, da seine Ausgabe ein React-Baum und kein Markup ist.

E-Mail-Pfad

  1. GrapesJS
  2. E-Mail-Komponenten
  3. MJML / HTML
  4. Ihre E-Mail-Infrastruktur
Die gleiche Engine, ein anderes Blockset und ein anderes Exportziel.
  • Newsletter-Generator
  • CRM-E-Mail-Editor
  • Marketing-Automatisierungsvorlagen
  • Transaktionale E-Mail-Vorlagen
  • Kundenorientierter E-Mail-Editor

Nichts davon geschieht automatisch. Ein E-Mail-Editor benötigt ein tabellensicheres Blockset, einen Exportschritt und clientsübergreifendes Testen – die Engine beseitigt das Canvas-Problem, nicht das E-Mail-Problem.

White-Label

Mach den Editor zu einem Teil deiner Marke

Beide Frameworks erlauben es dir, die Oberfläche aus entgegengesetzten Richtungen zu besitzen: Mit Craft.js schreibst du sie, also gehört sie standardmäßig dir; mit GrapesJS ersetzt du die bereits bereitgestellte Oberfläche. Drei Ebenen, in der Reihenfolge, in der Teams sie normalerweise erreichen.

  • 01

    Oberfläche

    Die Teile, die der Nutzer auf dem ersten Bildschirm sieht.

    • Farben, Typ und Abstand zu deinen Tokens
    • Dein Logo und Produktname in der Editor-Oberfläche
    • Benutzerdefinierte Panels und Werkzeugleisten
    • Icons aus deinem eigenen Set
  • 02

    Wortschatz

    Die Wörter, die Ihr Produkt bereits für diese Ideen verwendet.

    • Umbenennung von Blöcken, Sektoren und Befehlen
    • Übersetze die Benutzeroberfläche in deine Regionen
    • Generische Labels durch Domänenbegriffe ersetzen
    • Verstecke die Panels, für die deine Nutzer keinen Nutzen haben
  • 03

    Leistungsfähigkeit

    Was jeder Nutzer überhaupt tun darf.

    • Blockmengen pro Mandant
    • Gesperrte Abschnitte und schreibgeschützte Bereiche
    • Genehmigungs- und Überprüfungsschritte
    • Rollen und Audit – implementiert in Ihrer Anwendung

Die letzte Schicht ist diejenige, die kein Editor-Framework bietet. Rollen, Genehmigung und Audit sind Anwendungsmerkmale auf beiden Seiten dieses Vergleichs.

Lizenzierung

Lizenzierung

Überprüft mit dem aktuellen Registereintrag und der Lizenzdatei jedes Pakets am untenstehenden Datum, da diese Seite in der Vergangenheit inkonsistente Lizenzinformationen veröffentlicht hat.

Aktuelle Lizenzen für beide Kerne, den React-Wrapper und Marktplatzprodukte
PaketLizenzQuelle
grapesjsBSD-3-ClauseLizenz
@grapesjs/reactMITLizenz
@craftjs/coreMITLizenz
GJS.MarketPro-Produkt-HandelsbedingungenMarktplatz

Marktplatzprodukte werden einzeln von ihren Autoren lizenziert; die Nutzungsbedingungen werden auf jeder Produktseite vor dem Bezahlen angezeigt. Der GrapesJS-Kern und sein React-Wrapper tragen unterschiedliche Lizenzen – der Kern ist nicht MIT. Craft.js veröffentlicht alle seine Pakete unter einer Lizenz.

Dies ist eine Angabe, welche Lizenz jedes Paket veröffentlicht, keine Rechtsberatung. Lesen Sie die Lizenzdateien und vergleichen Sie sie mit Ihrem eigenen Vertriebsmodell. Lizenzen erneut gelesen auf 2026-09-03.

Kosten

Vergleichen Sie die Gesamtkosten für die Technik

Auf dieser Seite gibt es keine Stundenzahl. "Vierzig Stunden versus dreihundertzwanzig" hängt vollständig von deinem Team, deinem Design und deiner Definition von erledigt ab, und jede Seite, die es zitiert, ist eine Vermutung. Was folgt, ist die Arbeit, die auf jeder Seite vorhanden ist, sodass du sie gegen deine eigene Geschwindigkeit bewerten kannst.

Craft.js

Mögliche technische Arbeit, bevor du einen Editor hast, den deine Nutzer nutzen können.

Editor-Oberfläche
Symbolleisten, Seitenpanels, Auswahlmöglichkeiten und das Layout, das sie hält.
Blockpalette
Eine Palette-UI plus die Metadaten, die entscheiden, was wo entfernt werden kann.
Stilsteuerung
Typografie, Abstand, Farb- und Layoutsteuerungen sowie die Requisiten, an die sie schreiben.
Vermögensverwaltung
Hochladen, durchsuchen, auswählen und ersetzen, kabelgebunden an deinen Speicher.
Reaktionsschnelle Steuerung
Breakpoint-Wechsel im Canvas und Breakpoint-Werte im Modell.
Persistenz
Serialisieren, transportieren, Version und Wiederherstellung – der Baum wird dir gegeben, die Pipeline nicht.
Vorlagen und Veröffentlichung
Ausgangspunkte für Nutzer und was auch immer "veröffentlicht" in deinem Produkt bedeutet.

GrapesJS

Mehr Editor-Infrastruktur ist bereits verfügbar, was reduziert, wie viel editor-spezifische Infrastruktur von Grund auf implementiert wird. Sie reduziert sie nicht auf null.

Integration
Den Editor in deiner App, in deinem Framework, mit deinem Build mounten.
Dein Blocksatz
Ihr Designsystem in Blöcke und Komponenten zu verwandeln – die eigentliche Arbeit auf dieser Seite.
Speicherverkabelung
Den Storage Manager auf deinen API richten und Fehler und Konflikte bearbeiten.
Panel-Anpassung
Das Ersetzen oder Umgestalten der Paneele, die nicht zu Ihrem Produkt passen.
Anwendungsmerkmale
Rollen, Genehmigung, Versionierung, Veröffentlichung und Mandantenfähigkeit – deine auf beiden Seiten.

Beide Spalten enden an derselben Stelle: einem Editor, den deine Nutzer nutzen können, innerhalb einer Anwendung, die du noch bauen musst. Der Unterschied ist, welche dieser Zeilen dein Team zuerst schreibt.

Marktplatz

Was musst du bauen?

Beginnen Sie mit dem Kerneditor und fügen Sie die Funktionalität hinzu, die Ihr Produkt tatsächlich benötigt. Jede untenstehende Inszenierung ist ein echtes, aktuell veröffentlichtes Produkt – die Preise werden live aus dem Katalog vorgelesen, wenn diese Seite erstellt wird.

White-Label-Builder

Für einen White-Label-Editor ist der Ausgangspunkt ein Preset, das die gesamte Shell ersetzt, statt eines Plugins, das sie ergänzt – die drei oben genannten Demos sind genau das, und jede ist ein Produkt.

Durchsuchen Sie nach Kategorie

Der Katalog hat zwei wirklich KI-gestützte Einträge statt einer vollständigen KI-Kategorie. Sie sind hier benannt, anstatt einen eigenen Bereich zu haben: Das KI-Kategorien-Hub hat nichts veröffentlicht, daher würde es den Klick verschwenden, Leser dorthin zu schicken.

Beginne mit dem Kerneditor und füge die Funktionalität hinzu, die dein Produkt tatsächlich benötigt.

Katalogverifizierung 2026-09-03. grapesjs-gpt-plugin · grapesjs-image-ai-thumbai

Implementierung

Sprich mit einem GrapesJS-Experten

Wenn der obige Vergleich auf GrapesJS trifft und das Blockset die Arbeit vor dir ist, dann machen wir Folgendes.

  • Montage des Editors in einer bestehenden Anwendung
  • Umwandlung eines Designsystems in Editor-Komponenten und -Blöcke
  • Verkabelung des Storage Manager mit deinem API und der Datenbank
  • Hinzufügen eines E-Mail-Autorenpfads zu einem bestehenden Editor
  • White-Labeling von Shell, Panels und Vokabular
  • Portierung eines Editors, der auf einem anderen Framework basiert
Entscheidung

Welches Framework solltest du wählen?

Vierzehn Anforderungen, und das Framework, auf das jedes Framework zeigt. Drei von ihnen zeigen auf beide, weil für diese Anforderungen beide Frameworks ausreichen und ein anderes Vorgeben den Rest dieser Tabelle weniger vertrauenswürdig machen würde.

AnforderungBessere Passform
React-erster EditorCraft.js
Tiefe React-KomponentenbearbeitungCraft.js
Baue dein eigenes Editor-UXCraft.js
Maximale React-native SteuerungCraft.js
Editor, der nur von Entwicklern verwendet wirdCraft.js
Framework-unabhängiger EditorGrapesJS
Eingebaute visuelle Editor-InfrastrukturGrapesJS
HTML/CSS visuelle BearbeitungGrapesJS
SaaS-SeitenbauerGrapesJS
E-Mail und Seiteneditor in einer EngineGrapesJS
Bestehendes Editor-ÖkosystemGrapesJS
JSON-Projektdaten, die du selbst speicherst, speicherst duBeides möglich
Self-Hosting ohne AnbieterBeides möglich
Direkt rückgängig machen und neu machenBeides möglich

Wo steht dein Produkt?

  • Der Editor muss einen Live-React-Komponentenbaum ausgeben

    Craft.js

    Dafür existiert Craft.js. Kein GrapesJS-Plugin ändert die Tatsache, dass sein Canvas HTML ist.

  • Du solltest jedes Panel entwerfen und selbst steuern

    Craft.js

    Craft.js erwartet, dass du die Oberfläche renderst, daher muss vorher nichts ersetzt werden.

  • Der Editor wird nur von Entwicklern im eigenen Team genutzt

    Craft.js

    Ein speziell entwickelter React-Editor ist günstiger in der Wartung als ein allgemeiner, den du eingegrenzt hast.

  • Der Editor muss jetzt oder später außerhalb von React laufen

    GrapesJS

    GrapesJS wird auf ein DOM-Element montiert, sodass es von jeder Frontend-Umgebung aus erreichbar ist.

  • Du brauchst dieses Quartal einen brauchbaren Editor

    GrapesJS

    Canvas, Blöcke, Stile, Ebenen und Assets existieren bereits und funktionieren bereits zusammen.

  • Du brauchst sowohl Seiten- als auch E-Mail-Erstellung

    GrapesJS

    Eine Engine deckt beide durch E-Mail-Voreinstellungen ab; ein React-Baum wird nicht zur E-Mail-Markierung.

Fragen

GrapesJS und Craft.js, beantwortet

Was ist der Unterschied zwischen GrapesJS und Craft.js?

Craft.js ist ein React-Framework zum Erstellen benutzerdefinierter Seiten- und Editor-Erlebnisse: Es liefert einen serialisierbaren Knotenbaum, Drag-and-Drop, eine Rückgängig-/Erneut-Historie und React APIs, und man rendert die Editor-Oberfläche mit eigenen React-Komponenten. GrapesJS ist ein visuelles Editor-Framework, das mit mehr bereits entwickeltem Editor ausgestattet ist – einem Canvas, einem Komponentenmodell, einer Blockpalette, einem Visual Style Manager, einem Layer-Tree, einem Asset-Manager, einer Befehlsregistrierung und einer Speicherschicht. Die praktische Frage ist, ob Sie einen hochgradig individuellen React-Editor aus niedrigeren Primitivebenen erstellen oder von einer umfassenderen visuellen Editor-Basis beginnen möchten.

Ist GrapesJS eine Alternative zu Craft.js?

Für die meisten Projekte ja – beide sind Open-Source-Frameworks, um einen Editor in die eigene Software einzubauen, und beide können die Grundlage für einen Page Builder bilden. Sie sind jedoch keine spontanen Ersatz füreinander: Die Canvas-Modelle unterscheiden sich, sodass der Wechsel zwischen ihnen bedeutet, Komponenten neu zu implementieren, anstatt eine Abhängigkeit zu tauschen. Wenn Sie speziell einen Ersatz oder eine Migration prüfen, deckt die dedizierte Craft.js-Alternativseite diesen Weg ab.

Ist Craft.js nur für React?

Ja. Craft.js basiert auf React und erklärt React als Peer-Abhängigkeit, derzeit im Bereich von 16.8 bis 19. Es gibt keinen Vue-, Angular- oder Vanilla-JavaScript-Build, und das Komponentenmodell geht durchgehend von React aus. Das ist eine Designentscheidung und kein Auslass – die React-Nativität ermöglicht es deinen Produktionskomponenten als Komponenten auf dem Canvas.

Ist das GrapesJS-Framework unabhängig?

Die Engine ist eine JavaScript-Bibliothek, die auf ein DOM-Element gemountet wird, sodass sie in einer React-, Vue-, Angular-, Next.js- oder einfachen JavaScript-Anwendung ausgeführt werden kann. Das bedeutet jedoch nicht, dass es für jede einen offiziellen Wrapper gibt: Es gibt ein offizielles React-Wrapper-Paket, während die Vue- und Angular-Integrationen dokumentierte Muster und keine gepflegten Pakete sind. Die per-Framework-Seiten auf dieser Seite zeigen den tatsächlichen Mounting- und Teardown-Code für jede Umgebung.

Was ist besser für einen React-Seitenbauer?

Es hängt davon ab, was der Builder produziert. Wenn die Ausgabe ein React-Komponentenbaum ist und deine Nutzer ihre eigenen Komponenten direkt bearbeiten, passt Craft.js besser zusammen. Wenn das Output HTML und CSS ist, das außerhalb von React gerendert werden muss – eine veröffentlichte Seite, eine exportierte Vorlage, eine E-Mail – passt GrapesJS besser, wobei die Editor-Oberfläche weiterhin in React geschrieben ist. Beide sind praktikabel; das Canvas-Modell, nicht die Benutzeroberfläche, entscheidet.

Was ist besser für einen SaaS-Seitenbauer?

Meistens GrapesJS, aus einem Terminplan und nicht aus technischen. Ein SaaS-Builder geht an Kunden, die Style-Controls, responsive Bearbeitung, einen Asset-Picker und einen Layer-Tree am ersten Tag erwarten, und das gibt es bereits in GrapesJS. Craft.js kann einen SaaS-Builder absolut antreiben – es bedeutet nur, diese Oberfläche zu bauen, bevor der erste Kunde sie sieht. Alles rund um den Editor, einschließlich Mandantenfähigkeit, Rollen und Abrechnung, ist in jedem Fall die Aufgabe deiner Anwendung.

Enthält GrapesJS einen visuellen Editor?

Ja. Die Installation erhält einen funktionierenden Editor: ein Canvas mit Drag-and-Drop, eine Blockpalette, einen visuellen Stilmanager, einen Layer-Baum, einen Asset-Manager, Gerätebreiten, einen Rückgängig-Manager und eine Speicherschicht, alles verdrahtet zusammen. Du konfigurierst es weiterhin, stylst die Panels neu und stellst deine eigenen Blöcke bereit, bevor du sie an die Nutzer aussendest, aber du bearbeitest einen Editor, statt einen zusammenzustellen.

Enthält Craft.js einen kompletten visuellen Editor?

Nein, und es hat sich auch nicht zum Ziel gesetzt. Die Dokumentation beschreibt, wie die Bausteine eines Seiteneditors moduliert werden, anstatt einen auszuliefern: Man erhält den Knotenbaum, das Drag-and-Drop-Verhalten, die Geschichte und die Serialisierung sowie ein offizielles Layers-Panel-Paket, und man baut die Bearbeitungsoberfläche in React darauf. Für ein Team, das möchte, dass die Oberfläche ihnen gehört, ist das die Funktion.

Kann GrapesJS mit React funktionieren?

Ja. Es gibt ein offizielles React-Wrapper-Paket, das den Editor mountet und seine Panels als React-Komponenten offenlegt, sodass die Editor-Oberfläche Teil deines React-Baums sein kann. Die wichtige Nuance ist, dass das Canvas selbst HTML rendert und nicht deine React-Komponenten – dein Designsystem wird im Editor als Komponenten dargestellt, und diese Darstellung mit der Produktion synchron zu halten, ist eine Planungsarbeit.

Kann GrapesJS mit Vue und Angular funktionieren?

Ja, mit dem gleichen Vorbehalt wie bei jeder DOM-mounted-Bibliothek: Du initialisierst sie nach dem Mounting der Komponente und zerstörst sie beim Teardown, sodass die Instanz aus dem Reaktivitätssystem des Frameworks herausgehalten wird. Es gibt kein offizielles Vue- oder Angular-Paket, daher sind das Integrationsmuster und keine Abhängigkeiten. Die Vue- und Angular-Seiten auf dieser Seite gehen den Lebenszykluscode für jede einzelne durch.

Kann ich mit GrapesJS einen E-Mail-Editor bauen?

Ja, durch Vertauschen des Blocksets und des Exportziels. E-Mail-Presets ersetzen das Canvas-Komponentenmodell durch eines, das Markup-E-Mail-Clients akzeptiert, einschließlich eines MJML-Pfads. Es ist nicht automatisch – man benötigt weiterhin ein table-safe Blockset, einen Exportschritt und Client-Tests – aber die Engine beseitigt das Canvas-Problem. Craft.js hat keinen entsprechenden Pfad, da seine Ausgabe ein React-Baum und kein Markup ist.

Kann ich GrapesJS selbst hosten?

Ja. Es handelt sich um eine Open-Source-Bibliothek, die man von npm installiert und von seiner eigenen Anwendung aus bereitstellt; es gibt kein Konto, keinen gehosteten Dienst und kein Phone-Home. Das Gleiche gilt für Craft.js. Self-Hosting ist eine der Achsen, in denen sich diese beiden Frameworks nicht unterscheiden, was es wert ist, auf einer Vergleichsseite klar gesagt zu werden.

Kann ich GrapesJS mit meiner eigenen Datenbank verbinden?

Ja. Storage Manager stellt Load- und Store-Callbacks frei, sodass du den Endpunkt, die Form der Nutzlast und den Transport – REST, GraphQL oder alles andere, was deine Anwendung bereits anspricht, bestimmt. Projektdaten sind JSON, also können sie in PostgreSQL, MySQL, MongoDB oder einem headless CMS gespeichert werden. Craft.js serialisiert seinen Knotenbaum auf die gleiche Weise und überlässt den Transport vollständig dir.

Kann ich einen White-Label-Editor erstellen?

Ja, und die beiden Frameworks kommen aus entgegengesetzten Richtungen darauf zu. Bei Craft.js gehört die Oberfläche standardmäßig dir, weil du sie selbst geschrieben hast. Mit GrapesJS ersetzt du die bereitgestellte Oberfläche: Panels werden neu gestaltet, Blöcke und Sektoren umbenannt, die Oberfläche übersetzt und das versteckst, wofür deine Nutzer keinen Nutzen haben. Capability-Level-Branding – Blocksets pro Tenant, gesperrte Regionen, Genehmigungsschritte – ist Anwendungsarbeit auf beiden Seiten.

Kann ich benutzerdefinierte Komponenten erstellen?

Ja, in beiden, und das ist das Nächste, was die beiden einander am nächsten kommen. In Craft.js ist eine benutzerdefinierte Komponente eine React-Komponente, die mit Editor-Einstellungen annotiert ist. In GrapesJS ist eine benutzerdefinierte Komponente ein Typ, der beim Komponentenmodell registriert ist, plus ein Block, der sie platziert. Beide ermöglichen es dir, einzuschränken, was Nutzer ändern können; der Unterschied besteht darin, ob das Element auf dem Canvas ein React-Element oder ein DOM-Element ist, das der Editor verwaltet.

Bietet GrapesJS ein CMS?

Nein. Es bietet die Bearbeitungsfläche und übergibt dir serialisierte Projektdaten. Inhaltsmodelle, Workflow, Versionierung, Planung, Rollen und Bereitstellung sind die Aufgabe deiner Anwendung oder deines CMS. Wenn du bereits ein headless CMS benutzt, kann der Editor darauf als Bearbeitungsebene liegen – das ist ein gängiges Setup, aber es ist eine Integration, die du baust, statt eine Funktion, die du selbst aktivierst. Das Gleiche gilt für Craft.js.

Bietet GrapesJS Hosting an?

Nein. Keines der Frameworks hostet etwas. Es gibt keine Anbieterinfrastruktur in beiden Architekturen: Der Editor läuft auf deiner Seite, die Daten gehen in dein API, und Publishing bedeutet das, was deine Anwendung dafür bestimmt. Wenn du eine gehostete visuelle Content-Plattform statt eines Frameworks willst, ist das eine andere Produktkategorie und ein anderer Vergleich.

Wie viel kostet es, einen GrapesJS-basierten Editor zu bauen?

Das Framework kostet nichts – es ist Open Source, ohne Lizenzgebühr und ohne Preise pro Sitz, und das Gleiche gilt für Craft.js. Die eigentlichen Kosten sind die Ingenieurskosten: das Übersetzen deines Designsystems in Blöcke und Komponenten, das Verkabeln der Speicheranlage, das Anpassen von Panels und das Erstellen der Anwendungsfunktionen rund um den Editor. Diese Seite nennt bewusst keine Stunden- oder Dollarsumme, da es ganz von deinem Team und deiner Definition von erledigt abhängt. Marktplatz-Plugins reduzieren bestimmte Teile dieser Arbeit und sind pro Produkt bepreist.
Nächster Schritt

Baue den visuellen Editor, den dein Produkt benötigt

Craft.js bietet den React-Teams eine flexible Grundlage zum Erstellen benutzerdefinierter Editoren. GrapesJS bietet Teams eine breitere Grundlage für visuelle Editoren, die für Produktionsanwendungen integriert, angepasst und erweitert werden kann.

Fang hier an

Fang mit GrapesJS an

Sagen Sie uns, was der Editor tun muss und in welcher Anwendung er sich befindet, und erhalten Sie einen konkreten Integrationsplan.

Fang mit GrapesJS an
Erweitern

Entdecken Sie GJS.Market-Plugins

Presets, Blockbibliotheken, Speicheradapter und E-Mail-Komponenten – die Texte, die die meisten Teams sonst zuerst schreiben würden.

Entdecken Sie Plugins
Hol dir Hilfe

Sprich mit einem GrapesJS-Experten

Designsysteme wurden zu Blöcken gemacht, Speicher wurden an Ihr API verkabelt, Paneele wurden zu Ihrem Produkt umgebaut.

Sprich mit einem Experten

Wählen Sie die Editor-Grundlage, die zu Ihrer Architektur passt – und bauen Sie das Produkt darum herum.