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 anPageKit — der selbst gehostete GrapesJS-Website-Builder, als Quellcode. Early Access sichern
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.
React-erste Editor-Stiftung
Der Editor ist eine React-Anwendung, die du entwirfst.
Umfassendere Grundlagen des visuellen Editors
Der Herausgeber kommt versammelt an; du verlängerst ihn.
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.
Beide Projekte sind Open-Source-Frameworks, die man in eine Anwendung installiert, die man bereits besitzt. Der Unterschied liegt darin, wo man anfängt.
Deine Anwendung ist React, und der Editor ist ebenfalls eine React-Anwendung.
Signale
Du tauschst Time-to-First-Editor gegen ein Bearbeitungsmodell, das dein Komponentenmodell ist.
Lies die Craft.js-DokumentationMan möchte einen funktionierenden visuellen Editor, der sich erweitert, statt eine Menge von Primitiven zum Zusammenstellen.
Signale
Man tauscht etwas architektonische Freiheit gegen einen Editor ein, der schon am ersten Tag arbeitet.
Fang mit GrapesJS anDas 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.
React → Craft.js → deine Komponenten → deinem Editor UI
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.
Deine App → GrapesJS → deinem Backend
Editor-Subsysteme, die das Framework bereits umfasst
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.
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.
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ähigkeit | GrapesJS | Craft.js |
|---|---|---|
| Primäre Architektur | Visual-Editor-Framework | React-Editor-Framework |
| React-Abhängigkeit | Optional | Erforderlich |
| Rahmenflexibilität | Framework-agnostisch | Nur React |
| Canvas | Eingebaut | Framework-Funktion |
| Drag & Drop | Eingebaut | Eingebaut |
| Komponenten | Eingebaut | Framework-Funktion |
| Blöcke | Eingebaut | Erfordert die Implementierung deines Editors |
| Schichten | Eingebaut | Offizielles Begleitpaket |
| Stilmanagement | Eingebaut | Erfordert die Implementierung deines Editors |
| Vermögenswerte | Eingebaut | Erfordert die Implementierung deines Editors |
| Commands | Eingebaut | Benutzerdefinierte Implementierung |
| Gerätevorschau | Eingebaut | Erfordert die Implementierung deines Editors |
| Responsive Bearbeitung | Eingebaut | Erfordert die Implementierung deines Editors |
| Rückgängig machen / neu machen | Eingebaut | Eingebaut |
| Benutzerdefinierter Editor UI | Eingebaut, vollständig anpassbar | Dein Ende von Anfang zu Ende |
| Individuelle Komponenten | Eingebaut | Framework-Funktion |
| Benutzerdefinierte Blöcke | Eingebaut | Erfordert die Implementierung deines Editors |
| Vorlagen | Via Plugin | Benutzerdefinierte Implementierung |
| Speicherintegration | Eingebaut | Anwendungsverantwortlichkeit |
| JSON / Projektdaten | Eingebaut | Eingebaut |
| HTML/CSS-Ausgang | Eingebaut | Benutzerdefinierte Implementierung |
| React-Komponentenrendering | Editor UI in React; Canvas rendert HTML | Native für das Modell |
| E-Mail-Workflows | Via Plugin | Benutzerdefinierte Implementierung |
| MJML | Via Plugin | Nicht anwendbar |
| Plugin-Ökosystem | Plugins plus ein Marktplatz | Kleines Ökosystem |
| API-Erweiterbarkeit | Eingebaut | Framework-Funktion |
| Selbsthosting | Unterstützt | Unterstützt |
| White-Labeling | Eingebaut, vollständig anpassbar | Dein Ende von Anfang zu Ende |
| SaaS-Einbettung | Anwendungsverantwortlichkeit | Anwendungsverantwortlichkeit |
| Benutzerdefiniertes Backend | Anwendungsverantwortlichkeit | Anwendungsverantwortlichkeit |
| Benutzerdefinierte Datenbank | Anwendungsverantwortlichkeit | Anwendungsverantwortlichkeit |
| Authentifizierung | Anwendungsverantwortlichkeit | Anwendungsverantwortlichkeit |
| Berechtigungen | Anwendungsverantwortlichkeit | Anwendungsverantwortlichkeit |
| Verlagswesen | Anwendungsverantwortlichkeit | Anwendungsverantwortlichkeit |
| Mehrfach-Mandantenfähigkeit | Anwendungsverantwortlichkeit | Anwendungsverantwortlichkeit |
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
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.
| Paket | Neueste Version | Lizenz | Veröffentlicht | Repository-Sterne |
|---|---|---|---|---|
| grapesjs | 0.23.6 | BSD-3-Clause | 2026-08-25 | 26,185 |
| @craftjs/core | 0.2.12 | MIT | 2025-02-14 | 8,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.
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ähigkeit | Craft.js | GrapesJS |
|---|---|---|
| Herausgeber-Stiftung | Rahmenwerk | Rahmenwerk |
| Canvas | Kern-Editor-Architektur | Eingebaut |
| Komponentenmodell | React-orientiert | Eingebaut |
| Blöcke | Erfordert die Implementierung deines Editors | Eingebaut |
| Stilsteuerung | Erfordert die Implementierung deines Editors | Eingebaut |
| Schichten | Offizielles Begleitpaket | Eingebaut |
| Vermögensverwaltung | Erfordert die Implementierung deines Editors | Verfügbar |
| Gerätesteuerungen | Erfordert die Implementierung deines Editors | Verfügbar |
| Commands | Kern-Editor-Architektur | Verfügbar |
| Lagerung | Anwendung / Integration | Storage Manager |
| Individuelle UI | Volle Kontrolle | Hochgradig 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.
Jeder Vorteil auf dieser Seite hat entsprechende Kosten. Hier liegen sie nebeneinander, in derselben Form, in derselben Größe.
Am besten geeignet für Teams, die eine React-native Architektur und eine eigene Editor-Oberfläche wünschen.
Die Kosten sind die Entwicklung der Editor-Oberfläche. Der Return ist ein Editor, der genau zu deiner Architektur passt.
Am besten geeignet für Teams, die eine funktionierende visuelle Editor-Infrastruktur erweitern möchten.
Der Preis ist, eine Architektur zu lernen, die jemand anderes entworfen hat. Die Rückgabe ist ein Editor, der bereits funktioniert.
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.
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.
Das ist die Frage, mit der die meisten Leser tatsächlich kommen, und die ehrliche Antwort teilt sich.
Der Editor ist keine Komponente deiner React-App – er ist deine React-App.
Signale
Das Canvas rendert dieselben Komponenten, die die Produktion rendert. Nichts wird gespiegelt, nichts driftet.
React ist ein Teil deines Stacks und nicht das Ganze.
Signale
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.
GrapesJS kann als Editor-Grundlage in verschiedenen Frontend-Umgebungen dienen, während Craft.js speziell für React entwickelt wurde.
GrapesJS
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.
Der Editor ist eine von mehreren Oberflächen, und es ist die einzige, zu der beide Frameworks eine Meinung haben. Alles drumherum bleibt deins.
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.
Sechs Formen, die dieselbe Bearbeitungsfläche annimmt, sobald sie sich in einem Produkt befindet. Jede einzelne wird auf einer eigenen Seite ausführlich behandelt.
Lassen Sie Kunden ihre eigenen Seiten innerhalb Ihres Produkts, mit Ihren Komponenten und Ihrem Hosting erstellen und veröffentlichen.
Siehe den SaaS-Builder-LeitfadenLegen Sie eine visuelle Bearbeitungsschicht über Inhalte, die bereits in Ihrer Datenbank liegen, oder über einen headless CMS.
Siehe das kopflose CMS-SetupGeben Sie den Marketingteams eine begrenztes Canvas aus genehmigten Abschnitten statt eines Designtools ohne Leitplanken.
Siehe den Landingpage-BuildEinbetten Sie den Editor in ein Dashboard, in das sich Ihre Kunden bereits anmelden, anstatt sie woanders hinzuschicken.
Siehe die EinbettungsanleitungSenden Sie denselben Editor an viele Tenants mit per-tenant-Branding, Blocksets und Berechtigungen – implementiert in Ihrer Anwendung.
Siehe White-Label-OptionenVerwenden Sie dieselbe Engine erneut für Marketing- und transaktionale E-Mail-Vorlagen, anstatt einen zweiten Editor zu kaufen.
Sieh dir die E-Mail-Einrichtung anDer 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
Bearbeitungsfläche
Der Editor, der darin montiert ist
Plugins durchsuchenGehört dir
Anwendungsshell
Open Source
Editor-Engine
Gehört dir
Datenschicht
Anfragepfad
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
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.
Überschrift, unterstützende Kopie und eine Hauptaktion mit gesperrtem Layout.
Plane Spalten, die auf deinen eigenen Daten basieren, statt auf freiem Text.
Ein wiederholbares Raster, in dem die Zählung begrenzt ist und die Symbole aus deinem Set stammen.
Ein einzelnes Umwandlungsband mit nur markenzugelassenen Farboptionen.
Die Website-Navigation können Ihre Nutzer zwar ausfüllen, aber nicht umstrukturieren.
Felder, die mit deinem Endpunkt verbunden sind, mit Validierung, die du kontrollierst.
Zitate und Quellenangaben stammen aus Aufzeichnungen, statt neu getippt zu werden.
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.
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
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 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
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.
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.
Die Teile, die der Nutzer auf dem ersten Bildschirm sieht.
Die Wörter, die Ihr Produkt bereits für diese Ideen verwendet.
Was jeder Nutzer überhaupt tun darf.
Die letzte Schicht ist diejenige, die kein Editor-Framework bietet. Rollen, Genehmigung und Audit sind Anwendungsmerkmale auf beiden Seiten dieses Vergleichs.
Ü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.
| Paket | Lizenz | Quelle |
|---|---|---|
| grapesjs | BSD-3-Clause | Lizenz |
| @grapesjs/react | MIT | Lizenz |
| @craftjs/core | MIT | Lizenz |
| GJS.Market | Pro-Produkt-Handelsbedingungen | Marktplatz |
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.
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.
Mögliche technische Arbeit, bevor du einen Editor hast, den deine Nutzer nutzen können.
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.
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.
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.
Presets und Komponenten für Teams, die den Editor innerhalb einer React-Anwendung montieren.
Durchsuchen-KategorieEditor-Panels werden als React-Komponenten dargestellt, sodass die Editor-Oberfläche mit der App drumherum übereinstimmt.
Ein konfigurierter Ausgangspunkt für einen React-gehosteten Editor statt eines leeren init-Aufrufs.
Ein ausgearbeitetes Beispiel für eine React-Komponente, die als editierbarer Block auf das Canvas gelegt wird.
Eine minimale Integration, die man lesen sollte, bevor man den Editor in den eigenen React-Baum anschließt.
Presets und Blocksets, die dieselbe Engine in einen E-Mail-Editor verwandeln.
Durchsuchen-KategorieEin responsiver E-Mail-Block ist gesetzt, sodass die erste E-Mail-Vorlage keine handgeschriebenen Tabellen enthält.
Wechselt das Canvas zu einem E-Mail-Komponentenmodell und exportiert Markup, die E-Mail-Clients akzeptieren.
Ein newsletter-förmiges Blockset und ein Exportpfad für Marketing-E-Mails.
Langformige Dokumentblöcke für Editoren, die Seiten statt Landingpages erstellen.
Beharrlichkeit und mehrseitiges Management – die Teile, die ein Produkt braucht, wenn mehr als eine Person sie überarbeitet.
Durchsuchen-KategoriePersists projiziert Daten direkt in ein headless CMS statt in einen maßgeschneiderten Endpunkt.
Speicherverkabelung für Teams, die bereits auf einer gehosteten Dokumentendatenbank arbeiten.
Lokale Persistenz für Entwürfe, Offline-Bearbeitungen und Prototypen, bevor API existiert.
Mehrseitige Projekte in einer Lektoratssitzung – der Punkt, an dem eine Demo zum Produkt wird.
Blockbibliotheken, Sektionen und Vorlagenverwaltung für Marketingseiten.
Durchsuchen-KategorieEine Utility-Class-Blockbibliothek, sodass die Canvas-Ausgabe mit einem bestehenden Designsystem übereinstimmt.
Ein konfigurierbarer Navigationsabschnitt, der ansonsten das erste ist, was jedes Team neu aufbaut.
Der passende Fußabschnitt mit demselben Konfigurationsmodell.
Sparen Sie Startpunkte, von denen Ihre Nutzer wählen, anstatt auf eine leeres Canvas zu schauen.
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.
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
Wenn der obige Vergleich auf GrapesJS trifft und das Blockset die Arbeit vor dir ist, dann machen wir Folgendes.
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.
| Anforderung | Bessere Passform |
|---|---|
| React-erster Editor | Craft.js |
| Tiefe React-Komponentenbearbeitung | Craft.js |
| Baue dein eigenes Editor-UX | Craft.js |
| Maximale React-native Steuerung | Craft.js |
| Editor, der nur von Entwicklern verwendet wird | Craft.js |
| Framework-unabhängiger Editor | GrapesJS |
| Eingebaute visuelle Editor-Infrastruktur | GrapesJS |
| HTML/CSS visuelle Bearbeitung | GrapesJS |
| SaaS-Seitenbauer | GrapesJS |
| E-Mail und Seiteneditor in einer Engine | GrapesJS |
| Bestehendes Editor-Ökosystem | GrapesJS |
| JSON-Projektdaten, die du selbst speicherst, speicherst du | Beides möglich |
| Self-Hosting ohne Anbieter | Beides möglich |
| Direkt rückgängig machen und neu machen | Beides 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.
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.
Sagen Sie uns, was der Editor tun muss und in welcher Anwendung er sich befindet, und erhalten Sie einen konkreten Integrationsplan.
Fang mit GrapesJS anPresets, Blockbibliotheken, Speicheradapter und E-Mail-Komponenten – die Texte, die die meisten Teams sonst zuerst schreiben würden.
Entdecken Sie PluginsDesignsysteme wurden zu Blöcken gemacht, Speicher wurden an Ihr API verkabelt, Paneele wurden zu Ihrem Produkt umgebaut.
Sprich mit einem ExpertenWählen Sie die Editor-Grundlage, die zu Ihrer Architektur passt – und bauen Sie das Produkt darum herum.