GrapesJS बनाम Editor.js: आपके उत्पाद के लिए कौन सा विज़ुअल एडिटर सही है?
संरचित सामग्री, दृश्य पृष्ठ निर्माण, HTML/CSS संपादन, JSON डेटा, घटक, एक्स्टेंसिबिलिटी, SaaS अनुप्रयोग और CMS एकीकरण के लिए GrapesJS और Editor.js की तुलना करें।Editor.js को संरचित सामग्री ब्लॉकों के आसपास डिज़ाइन किया गया है। GrapesJS को दृश्य संपादन और पृष्ठ-निर्माण वर्कफ़्लो के आसपास डिज़ाइन किया गया है।
दोनों ओपन सोर्स हैंदोनों ब्लॉक आधारित हैंविभिन्न संपादक मॉडल
Editor.js
सामग्री में, संरचित ब्लॉक।
Editor.jsEditor
↓
संरचित JSONहैंडऑफ़
↓
फ्रंटएंड रेंडररआपका ऐप
GrapesJS
एक कैनवास और सबसिस्टम जो इसे संपादित करते हैं।
GrapesJSEditor
↓
कैंवसEditor
Components
शैलियों
संपत्ति
↓
परियोजना डेटाहैंडऑफ़
संक्षिप्त उत्तर
GrapesJS बनाम Editor.js: संक्षिप्त उत्तर
यदि आप केवल एक अनुभाग पढ़ते हैं, तो इसे पढ़ें। नीचे दी गई दो सूचियाँ रैंकिंग नहीं हैं - वे दो अलग-अलग नौकरियाँ हैं, और अधिकांश उत्पादों को स्पष्ट रूप से उनमें से एक की आवश्यकता होती है।
ये उपकरण ब्लॉक-आधारित संपादन में ओवरलैप होते हैं, लेकिन वे विभिन्न संपादक मॉडल के आसपास डिज़ाइन किए गए हैं।
दो अलग-अलग समस्याएं
Editor.js और GrapesJS विभिन्न समस्याओं का समाधान करते हैं
Editor.js संरचित सामग्री निर्माण पर केंद्रित है
इसका ब्लॉक-आधारित मॉडल लेखों, दस्तावेज़ों और CMS सामग्री के लिए उपयुक्त है जहां एप्लिकेशन संरचित डेटा को संग्रहीत और संसाधित करता है। एक लेखक टाइप किए गए ब्लॉकों का एक क्रम बनाता है; संपादक डेटा के आकार की गारंटी देता है और जानबूझकर चुप रहता है कि यह कैसा दिखेगा। वह चुप्पी ही विशेषता है - एक ही दस्तावेज़ को एक वेबसाइट, एक मोबाइल ऐप, एक न्यूज़लेटर या एक खोज सूचकांक द्वारा प्रस्तुत किया जा सकता है, प्रत्येक अपनी शर्तों पर।
GrapesJS दृश्य संपादन पर केंद्रित है
इसका कैनवास, घटक मॉडल, ब्लॉक, स्टाइल सिस्टम, संपत्ति और भंडारण क्षमताएं इसे पेज बिल्डरों और अन्य दृश्य संपादन उत्पादों के लिए उपयुक्त बनाती हैं। एक लेखक घटकों के एक नेस्टेड पेड़ की व्यवस्था करता है और स्टाइल करता है और परिणाम देखता है क्योंकि वे काम करते हैं। इसलिए संपादक को लेआउट, ब्रेकपॉइंट, चयनकर्ताओं और संपत्तियों के बारे में राय की आवश्यकता होती है - एक सामग्री संपादक के पास राय रखने का कोई कारण नहीं है।
ऊपर दिया गया कोई भी विवरण कोई सीमा नहीं है। वे डिज़ाइन निर्णय हैं, और हर कोई कुछ ऐसा खरीदता है जो दूसरा छोड़ देता है: Editor.js कहीं भी प्रस्तुत करने वाली सामग्री के लिए लेआउट नियंत्रण का व्यापार करता है, और GrapesJS तैयार पृष्ठ के प्रत्यक्ष नियंत्रण के लिए ट्रेड प्रारूप पोर्टेबिलिटी करता है।
वास्तुशिल्प अंतर
वास्तुशिल्प अंतर
दोनों संपादक पुस्तकालय हैं जिन्हें आप अपने स्वयं के एप्लिकेशन के अंदर माउंट करते हैं, और दोनों तरफ आपका एप्लिकेशन भंडारण, प्रमाणीकरण, अनुमतियों और अंतिम प्रतिपादन का मालिक है। बीच में बैंड क्या अलग है: संपादक स्वयं किसके लिए जिम्मेदार है, और यह क्या वापस करता है।
Editor.js वास्तुकला
एक संरचित दस्तावेज़ पर एक संलेखन परत।
लेखक सामग्री लिखता हैआपका आवेदन
↓
Editor.jsसंपादक पुस्तकालय
↓
Blocks और Toolsसंपादक पुस्तकालय
↓
संरचित JSONहैंडऑफ़ प्रारूप
↓
डेटाबेस या CMSआपका आवेदन
↓
फ्रंटएंड रेंडररआपका आवेदन
Editor.js सामग्री संपादन को प्रस्तुति से अलग करता है और संरचित ब्लॉक डेटा तैयार करता है। आपका एप्लिकेशन यह तय करता है कि प्रत्येक ब्लॉक प्रकार कैसा दिखता है जब इसे प्रस्तुत किया जाता है, यही कारण है कि वही सामग्री बिना दोबारा लिखे एक वेब पेज, एक मोबाइल ऐप, एक ईमेल डाइजेस्ट या API प्रतिक्रिया पर जा सकती है।
GrapesJS वास्तुकला
एक घटक वृक्ष पर एक दृश्य संपादन परत।
लेखक एक पृष्ठ बनाता हैआपका आवेदन
↓
GrapesJSसंपादक पुस्तकालय
↓
कैंवससंपादक पुस्तकालय
Components
Blocks
शैलियों
संपत्ति
Commands
प्लगइन्स
↓
परियोजना डेटाहैंडऑफ़ प्रारूप
↓
HTML/CSS/प्रकाशन पाइपलाइनआपका आवेदन
GrapesJS दृश्य संपादन परत प्रदान करता है - कैनवास, घटक, ब्लॉक, शैलियाँ, संपत्ति, कमांड और प्लगइन्स - और आसपास के एप्लिकेशन को भंडारण, प्रकाशन और व्यावसायिक तर्क को नियंत्रित करने की अनुमति देता है। लेखक कैनवास पर जो व्यवस्था करता है वह पृष्ठ कैसा दिखेगा, इसलिए संपादक को लेआउट के बारे में एक राय की आवश्यकता होती है जो एक सामग्री संपादक नहीं करता है।
बक्से से पहले स्वामित्व चिप्स पढ़ें। न तो संपादक एक मंच है: कोई होस्टिंग नहीं है, कोई उपयोगकर्ता प्रबंधन नहीं है, कोई प्रकाशन पाइपलाइन नहीं है और दोनों तरफ कोई CDN नहीं है। इस आरेख का उत्तर यह नहीं है कि कौन सी लाइब्रेरी अधिक करती है, बल्कि आपके एप्लिकेशन को उस प्रकार का डेटा सौंपती है जिसे आपके उत्पाद को वास्तव में संग्रहीत करने की आवश्यकता होती है।
एक Editor.js दस्तावेज़ टाइप किए गए ब्लॉकों का एक क्रमबद्ध क्रम है। कोई कैनवास नहीं है और कोई लेआउट ट्री नहीं है, क्योंकि एक दस्तावेज़ को एक की आवश्यकता नहीं है - गद्य रैखिक है, और एक प्रारूप जो रैखिक रहता है वह एक प्रारूप है जो हर जगह लगातार प्रस्तुत करता है इसे भेजा जाता है।
एक Editor.js दस्तावेज़
आर्टिकल
शीर्षक
अनुच्छेद
छवि
उद्धरण
तालिका
जड़ना
एक फ्लैट अनुक्रम एक लेख के लिए सही आकार है। क्योंकि संरचना में कोई लेआउट नहीं है, एक संग्रहीत दस्तावेज़ एक वेब पेज, एक मूल ऐप स्क्रीन, एक आरएसएस आइटम और एक सादा-पाठ डाइजेस्ट को परिवर्तित किए बिना चला सकता है।
यह मॉडल सूट करता है
ब्लॉग
आर्टिकल्स
प्रलेखन
ज्ञान के आधार
CMS सामग्री
संरचित सामग्री पाइपलाइन
Editor.js एक्स्टेंसिबल है
Editor.js को कस्टम Tools और ब्लॉक के साथ बढ़ाया जा सकता है। A Tool अपने स्वयं के मार्कअप को नियंत्रित करता है: यह DOM में render() तत्व बनाता है, ब्लॉक के डेटा को save() से लौटाता है, उस डेटा को मान्य कर सकता है, पेस्ट हैंडलिंग और सैनिटाइजेशन नियमों को परिभाषित कर सकता है, और ब्लॉक सेटिंग्स पैनल में अपने स्वयं के नियंत्रण जोड़ सकता है। Block Tunes आगे बढ़ें और ब्लॉक के साथ अपनी स्थिति बनाए रखें। कुछ भी आप ब्लॉक प्रकार के रूप में व्यक्त कर सकते हैं, आप बना सकते हैं।
कोर में
अनुच्छेदधुनों को ब्लॉक करेंइनलाइन टूलबारकेवल-पढ़ने के लिए मोडi18n APIसैनिटाइजर
निष्पक्ष तुलना के लिए ध्यान देने योग्य: स्टॉक Editor.js टूलबॉक्स एक ब्लॉक प्रकार प्रदान करता है, और GrapesJS कोर कोई ब्लॉक नहीं भेजता है। दोनों परियोजनाओं ने उद्देश्य पर अपने सामग्री प्रकारों को पैकेज में निकाला, और न तो तथ्य आलोचना है - इसका मतलब है कि दोनों संपादक कॉन्फ़िगर किए गए हैं, अपनाए नहीं गए हैं। आधिकारिक टूल सूट यहां रहता है github.com/editor-js
GrapesJS
GrapesJS एक दृश्य संपादन ढांचा है
एक GrapesJS पृष्ठ एक घटक वृक्ष है, जो लेआउट की आवश्यकता के रूप में गहराई से नेस्टेड है। एक बटन एक hero के अंदर रहता है, जो एक पृष्ठ के अंदर रहता है - और उस पेड़ के हर स्तर को चुना जा सकता है, फिर से स्टाइल किया जा सकता है, पुनः व्यवस्थित किया जा सकता है, डुप्लिकेट किया जा सकता है या पुनः प्रयोज्य ब्लॉक में बदल दिया जा सकता है।
एक GrapesJS पृष्ठ
पृष्ठ
हैडर
Hero
शीर्षक
टेक्स्ट
घुंडी
सुविधाऐं
मूल्य निर्धारण
पाद लेख
नेस्टिंग वह है जो लेआउट को संपादन योग्य बनाता है। क्योंकि एक घटक अपने माता-पिता और उसके बच्चों को जानता है, संपादक प्रति-तत्व स्टाइलिंग, प्रति-ब्रेकपॉइंट ओवरराइड और पुनः प्रयोज्य संरचनाओं की पेशकश कर सकता है - जिनमें से कोई भी एक फ्लैट अनुक्रम को स्टोर करने के लिए कहीं भी नहीं है।
संपादन मॉडल क्या प्रदान करता है
ड्रैग-एंड-ड्रॉप
दृश्य कैनवास
Components
Blocks
शैलियों
उत्तरदायी उपकरण
संपत्ति
पुनः प्रयोज्य संरचनाएं
टेम्पलेट्स
परियोजना भंडारण
वर्कफ़्लोज़ प्रकाशित करना और निर्यात करना
मुख्य अंतर यह है कि GrapesJS दृश्य लेआउट को प्रथम श्रेणी के संपादन अनुभव के रूप में मानता है।
यदि आप वर्णन के बजाय खरोंच से इकट्ठे टुकड़ों को देखना चाहते हैं, तो बारह-चरणीय निर्माण में है GrapesJS ट्यूटोरियल.
डेटा मॉडल
Editor.js JSON बनाम GrapesJS प्रोजेक्ट डेटा
"दोनों उत्पादन JSON" सबसे भ्रामक सत्य कथन है जो कोई भी इन दो संपादकों के बारे में बना सकता है। नीचे दिए गए दोनों नमूने वास्तविक आउटपुट हैं, प्रलेखन से कॉपी किए जाने के बजाय एक चल रहे संपादक से पढ़े जाते हैं - और उनके आकार के बारे में कुछ भी नहीं है।
एक दस्तावेज़: एक टाइमस्टैम्प, टाइप किए गए ब्लॉकों की एक क्रमबद्ध सरणी, और संपादक संस्करण जिसने इसे लिखा है। प्रत्येक ब्लॉक में एक प्रकार और एक डेटा ऑब्जेक्ट होता है जिसका आकार इसके Tool द्वारा परिभाषित किया जाता है। यहां कुछ भी लेआउट या स्टाइल का वर्णन नहीं करता है, और यही वही है जो प्रारूप को पोर्टेबल बनाता है।
एक संपादन योग्य परियोजना: पृष्ठ, प्रत्येक फ्रेम के साथ एक नेस्टेड घटक वृक्ष, साथ ही शैली नियम, संपत्ति और कोई भी प्रतीक। यह वह स्थिति है जिसे आप संग्रहीत करते हैं ताकि लेखक अपने काम को फिर से खोल सके - न कि वह पृष्ठ जिसे आप आगंतुकों को प्रदान करते हैं।
प्रोजेक्ट डेटा प्रकाशित पृष्ठ नहीं है
GrapesJS संपादन योग्य परियोजना संरचना का प्रतिनिधित्व करने वाले प्रोजेक्ट डेटा को संग्रहीत करता है, जबकि वर्कफ़्लो को प्रकाशित करने और निर्यात करने के लिए HTML और CSS उत्पन्न किया जा सकता है। दो चीजें अपने पहले निर्यात पर सभी को आश्चर्यचकित करती हैं, और दोनों नीचे दिखाई दे रही हैं: getHtml() शरीर के तत्व में लिपटे कैनवास को लौटाता है, और getCss() शॉर्टहैंड गुणों को लॉन्गहैंड में विस्तारित करता है।
उसी कैनवास से मापा गया आउटपुट जिसने ऊपर प्रोजेक्ट डेटा का उत्पादन किया था। संपादक के स्वयं के कैनवास रीसेट को छोड़ने के लिए avoidProtected पास करें, जो आपके पृष्ठ के हिस्से के बजाय संपादक क्रोम है।
दोनों प्रारूप विनिमेय नहीं हैं
कोई साझा सबसेट नहीं है। एक Editor.js ब्लॉक कहता है "इस पाठ के साथ स्तर 2 शीर्षक"; एक GrapesJS घटक कहता है "इन वर्गों के साथ एक H2 तत्व, इस खंड के अंदर, इन नियमों द्वारा स्टाइल किया गया है"। एक तरह से जाने पर आपको मार्कअप और लेआउट का आविष्कार करना होगा जो कभी संग्रहीत नहीं किया गया था; दूसरे पर जा रहे हैं आपको उन्हें त्यागना होगा।
यदि आप Editor.js से माइग्रेट कर रहे हैं, तो आपको इसे एक साधारण JSON रूपांतरण के बजाय एक सामग्री-मॉडल और संपादक-मॉडल माइग्रेशन के रूप में मानना चाहिए।
नीचे दिए गए प्रत्येक सेल में एक तंत्र का नाम है, स्कोर नहीं। कोई टिक-एंड-क्रॉस कॉलम नहीं है, क्योंकि उत्तरदायी लेआउट संपादन के लिए Editor.js के खिलाफ एक क्रॉस गलत होगा - एक कस्टम Tool यह कर सकता है - और एक टिक भ्रामक होगा। "कस्टम" ईमानदार उत्तर है, और यह वही है जो काम का आकलन करने वाला इंजीनियर वास्तव में चाहता है।
इस तालिका को कैसे पढ़ें
अंतर्निहित
पुस्तकालय इसे अपने मूल में भेजता है।
पैकेज
प्रथम-पक्ष ऐड-ऑन पैकेजों द्वारा प्रदान किया गया।
रिवाज
आप इसे लाइब्रेरी के APIs के शीर्ष पर लागू करते हैं।
आपका ऐप
इस तरफ आसपास के एप्लिकेशन का काम।
एकीकरण
आउटपुट को किसी अन्य सिस्टम को सौंपने से होता है।
मजबूत फिट
पुस्तकालय का उपयोग आमतौर पर ठीक इसी के लिए किया जाता है।
GrapesJS बनाम Editor.js फ़ीचर तुलना
योग्यता
Editor.js
GrapesJS
इसका क्या मतलब है
रिच टेक्स्ट एडिटिंग
अंतर्निहित
अंतर्निहित
Editor.js के कोर में एक इनलाइन टूलबार है; GrapesJS में एक अंतर्निहित समृद्ध टेक्स्ट एडिटर है जिसे एक प्लगइन के माध्यम से CKEditor, TinyMCE, Froala या Quill से बदला जा सकता है।
Block-आधारित सामग्री
अंतर्निहित
अंतर्निहित
दोनों ब्लॉक-आधारित हैं। Editor.js ब्लॉक एक क्रम में सामग्री प्रकार हैं; GrapesJS ब्लॉक draggable प्रीसेट हैं जो घटकों को एक पेड़ में डालते हैं।
संरचित JSON आउटपुट
अंतर्निहित
अंतर्निहित
Editor.js एक दस्तावेज़ लौटाता है; GrapesJS प्रोजेक्ट डेटा लौटाता है। दोनों सादे JSON हैं, और वे अलग-अलग चीजों का वर्णन करते हैं।
दृश्य कैनवास
रिवाज
अंतर्निहित
Editor.js सामग्री क्षेत्र को जगह में संपादित करता है; डिवाइस की चौड़ाई और प्रति-तत्व चयन के साथ कोई अलग कैनवास सतह नहीं है।
ड्रैग-एंड-ड्रॉप
पैकेज
अंतर्निहित
Editor.js कोर मूव-अप/मूव-डाउन धुनों और blocks.move() API के साथ ब्लॉक को स्थानांतरित करता है; पॉइंटर ड्रैगिंग एक सामुदायिक प्लगइन है। GrapesJS घटकों को कैनवास पर खींचता है।
HTML/CSS संपादन
रिवाज
अंतर्निहित
GrapesJS चयनकर्ताओं और घोषणाओं को सीधे संपादित करता है और HTML और CSS निर्यात करता है। Editor.js में यह आपके द्वारा लिखा गया Tool होगा।
उत्तरदायी लेआउट संपादन
रिवाज
अंतर्निहित
GrapesJS डिवाइस की चौड़ाई और प्रति-ब्रेकपॉइंट शैली ओवरराइड करता है। एक Editor.js Tool उत्तरदायी डेटा रख सकता है, लेकिन आप UI और शब्दार्थ दोनों को परिभाषित करते हैं।
कस्टम ब्लॉक
अंतर्निहित
अंतर्निहित
दोनों वास्तव में एक्स्टेंसिबल हैं। Editor.js कस्टम Tools अपने मार्कअप, डेटा और सेटिंग्स पैनल के मालिक हैं; GrapesJS कस्टम घटक प्रकार अपने मॉडल, दृश्य और traits के मालिक हैं।
Component मॉडल
अंतर्निहित
अंतर्निहित
Editor.js Tools का एक अनुक्रम मॉडल करता है; GrapesJS माता-पिता, बच्चों और traits के साथ एक नेस्टेड घटक पेड़ का मॉडल बनाता है।
शैली प्रबंधक
रिवाज
अंतर्निहित
GrapesJS में चयन और सक्रिय ब्रेकपॉइंट के लिए Style Manager बंधा हुआ है। Editor.js में स्टाइलिंग वह है जो आपका रेंडरर तय करता है।
संपत्ति प्रबंधन
आपका ऐप
अंतर्निहित
GrapesJS में Asset Manager है; अपलोड अभी भी आपका समापन बिंदु हैं। Editor.js छवि प्रबंधन एक आधिकारिक Tool है जो आपके अपलोड समापन बिंदु पर इंगित किया गया है।
पुनः प्रयोज्य लेआउट
रिवाज
अंतर्निहित
GrapesJS में पुनः उपयोग के लिए प्रतीक और ब्लॉक हैं। Editor.js में पुनः प्रयोज्य सामग्री को आमतौर पर एप्लिकेशन में संपादक के ऊपर नियंत्रित किया जाता है।
बहु-पृष्ठ परियोजनाएं
रिवाज
अंतर्निहित
GrapesJS प्रोजेक्ट डेटा में पृष्ठों की एक श्रृंखला होती है। Editor.js प्रति उदाहरण एक दस्तावेज़ है; एकाधिक दस्तावेज़ आपके एप्लिकेशन के मॉडल हैं।
भंडार
आपका ऐप
अंतर्निहित
GrapesJS में एक Storage Manager है जिसमें एक रिमोट एडाप्टर है जिसे आप अपने API पर इंगित करते हैं। Editor.js आपको save() देता है और आप परिणाम जारी रखते हैं। किसी भी तरह से डेटाबेस आपका है।
वर्कफ़्लो प्रकाशित करना
आपका ऐप
एकीकरण
न तो कुछ प्रकाशित करता है। GrapesJS निर्यात HTML और CSS आप अपनी पाइपलाइन को सौंपते हैं; Editor.js आपका रेंडरर आपको JSON देता है।
केवल-पढ़ने के लिए मोड
अंतर्निहित
अंतर्निहित
Editor.js में 2.19 से केवल-पढ़ने के लिए मोड है। GrapesJS घटकों को लॉक कर सकता है और संपादन को अक्षम कर सकता है।
Editor UI अनुवाद
अंतर्निहित
अंतर्निहित
दोनों अपने स्वयं के इंटरफ़ेस का अनुवाद कर सकते हैं। Editor.js में i18n API है; GrapesJS में एक स्थान/संदेश कॉन्फ़िगरेशन है।
SaaS पेज बिल्डर
रिवाज
मजबूत फिट
GrapesJS का व्यापक रूप से पेज-बिल्डर उत्पादों के अंदर संपादक के रूप में उपयोग किया जाता है। सामग्री संपादक पर एक ही उत्पाद बनाने का अर्थ है लेआउट संपादक को स्वयं लिखना।
एम्बेड करने योग्य विज़ुअल एडिटर
रिवाज
मजबूत फिट
GrapesJS एक DOM तत्व में माउंट होता है और आमतौर पर अन्य लोगों के उत्पादों में एम्बेडेड होता है। Editor.js उतनी ही आसानी से एम्बेड करता है, लेकिन एक सामग्री संपादक को एम्बेड करता है।
व्हाइट-लेबल संपादक
रिवाज
मजबूत फिट
GrapesJS पैनल, आइकन और CSS को थोक में बदला जा सकता है। Editor.js UI को भी फिर से स्टाइल किया जा सकता है; रीब्रांड करने के लिए कम क्रोम है।
CMS एकीकरण
अंतर्निहित
अंतर्निहित
दोनों CMS के साथ एकीकृत होते हैं। सवाल यह है कि क्या CMS संरचित सामग्री या दृश्य लेआउट संग्रहीत करता है।
TypeScript प्रकार
अंतर्निहित
अंतर्निहित
प्रकाशित पैकेज में दोनों जहाज प्रकार की घोषणाएं। सटीक क्षेत्रों के लिए नीचे दी गई तालिका देखें।
Plugin पारिस्थितिकी तंत्र
पैकेज
पैकेज
Editor.js में आधिकारिक टूल पैकेज और एक सामुदायिक पारिस्थितिकी तंत्र है; GrapesJS में एक प्लगइन API और एक बाज़ार है।
ओपन-सोर्स लाइसेंस
अंतर्निहित
अंतर्निहित
Editor.js Apache-2.0 है। GrapesJS कोर BSD-3-Clause है। दोनों वाणिज्यिक और बंद-स्रोत उपयोग की अनुमति देते हैं।
रिच टेक्स्ट एडिटिंग
Editor.js
अंतर्निहित
GrapesJS
अंतर्निहित
Editor.js के कोर में एक इनलाइन टूलबार है; GrapesJS में एक अंतर्निहित समृद्ध टेक्स्ट एडिटर है जिसे एक प्लगइन के माध्यम से CKEditor, TinyMCE, Froala या Quill से बदला जा सकता है।
Block-आधारित सामग्री
Editor.js
अंतर्निहित
GrapesJS
अंतर्निहित
दोनों ब्लॉक-आधारित हैं। Editor.js ब्लॉक एक क्रम में सामग्री प्रकार हैं; GrapesJS ब्लॉक draggable प्रीसेट हैं जो घटकों को एक पेड़ में डालते हैं।
संरचित JSON आउटपुट
Editor.js
अंतर्निहित
GrapesJS
अंतर्निहित
Editor.js एक दस्तावेज़ लौटाता है; GrapesJS प्रोजेक्ट डेटा लौटाता है। दोनों सादे JSON हैं, और वे अलग-अलग चीजों का वर्णन करते हैं।
दृश्य कैनवास
Editor.js
रिवाज
GrapesJS
अंतर्निहित
Editor.js सामग्री क्षेत्र को जगह में संपादित करता है; डिवाइस की चौड़ाई और प्रति-तत्व चयन के साथ कोई अलग कैनवास सतह नहीं है।
ड्रैग-एंड-ड्रॉप
Editor.js
पैकेज
GrapesJS
अंतर्निहित
Editor.js कोर मूव-अप/मूव-डाउन धुनों और blocks.move() API के साथ ब्लॉक को स्थानांतरित करता है; पॉइंटर ड्रैगिंग एक सामुदायिक प्लगइन है। GrapesJS घटकों को कैनवास पर खींचता है।
HTML/CSS संपादन
Editor.js
रिवाज
GrapesJS
अंतर्निहित
GrapesJS चयनकर्ताओं और घोषणाओं को सीधे संपादित करता है और HTML और CSS निर्यात करता है। Editor.js में यह आपके द्वारा लिखा गया Tool होगा।
उत्तरदायी लेआउट संपादन
Editor.js
रिवाज
GrapesJS
अंतर्निहित
GrapesJS डिवाइस की चौड़ाई और प्रति-ब्रेकपॉइंट शैली ओवरराइड करता है। एक Editor.js Tool उत्तरदायी डेटा रख सकता है, लेकिन आप UI और शब्दार्थ दोनों को परिभाषित करते हैं।
कस्टम ब्लॉक
Editor.js
अंतर्निहित
GrapesJS
अंतर्निहित
दोनों वास्तव में एक्स्टेंसिबल हैं। Editor.js कस्टम Tools अपने मार्कअप, डेटा और सेटिंग्स पैनल के मालिक हैं; GrapesJS कस्टम घटक प्रकार अपने मॉडल, दृश्य और traits के मालिक हैं।
Component मॉडल
Editor.js
अंतर्निहित
GrapesJS
अंतर्निहित
Editor.js Tools का एक अनुक्रम मॉडल करता है; GrapesJS माता-पिता, बच्चों और traits के साथ एक नेस्टेड घटक पेड़ का मॉडल बनाता है।
शैली प्रबंधक
Editor.js
रिवाज
GrapesJS
अंतर्निहित
GrapesJS में चयन और सक्रिय ब्रेकपॉइंट के लिए Style Manager बंधा हुआ है। Editor.js में स्टाइलिंग वह है जो आपका रेंडरर तय करता है।
संपत्ति प्रबंधन
Editor.js
आपका ऐप
GrapesJS
अंतर्निहित
GrapesJS में Asset Manager है; अपलोड अभी भी आपका समापन बिंदु हैं। Editor.js छवि प्रबंधन एक आधिकारिक Tool है जो आपके अपलोड समापन बिंदु पर इंगित किया गया है।
पुनः प्रयोज्य लेआउट
Editor.js
रिवाज
GrapesJS
अंतर्निहित
GrapesJS में पुनः उपयोग के लिए प्रतीक और ब्लॉक हैं। Editor.js में पुनः प्रयोज्य सामग्री को आमतौर पर एप्लिकेशन में संपादक के ऊपर नियंत्रित किया जाता है।
बहु-पृष्ठ परियोजनाएं
Editor.js
रिवाज
GrapesJS
अंतर्निहित
GrapesJS प्रोजेक्ट डेटा में पृष्ठों की एक श्रृंखला होती है। Editor.js प्रति उदाहरण एक दस्तावेज़ है; एकाधिक दस्तावेज़ आपके एप्लिकेशन के मॉडल हैं।
भंडार
Editor.js
आपका ऐप
GrapesJS
अंतर्निहित
GrapesJS में एक Storage Manager है जिसमें एक रिमोट एडाप्टर है जिसे आप अपने API पर इंगित करते हैं। Editor.js आपको save() देता है और आप परिणाम जारी रखते हैं। किसी भी तरह से डेटाबेस आपका है।
वर्कफ़्लो प्रकाशित करना
Editor.js
आपका ऐप
GrapesJS
एकीकरण
न तो कुछ प्रकाशित करता है। GrapesJS निर्यात HTML और CSS आप अपनी पाइपलाइन को सौंपते हैं; Editor.js आपका रेंडरर आपको JSON देता है।
केवल-पढ़ने के लिए मोड
Editor.js
अंतर्निहित
GrapesJS
अंतर्निहित
Editor.js में 2.19 से केवल-पढ़ने के लिए मोड है। GrapesJS घटकों को लॉक कर सकता है और संपादन को अक्षम कर सकता है।
Editor UI अनुवाद
Editor.js
अंतर्निहित
GrapesJS
अंतर्निहित
दोनों अपने स्वयं के इंटरफ़ेस का अनुवाद कर सकते हैं। Editor.js में i18n API है; GrapesJS में एक स्थान/संदेश कॉन्फ़िगरेशन है।
SaaS पेज बिल्डर
Editor.js
रिवाज
GrapesJS
मजबूत फिट
GrapesJS का व्यापक रूप से पेज-बिल्डर उत्पादों के अंदर संपादक के रूप में उपयोग किया जाता है। सामग्री संपादक पर एक ही उत्पाद बनाने का अर्थ है लेआउट संपादक को स्वयं लिखना।
एम्बेड करने योग्य विज़ुअल एडिटर
Editor.js
रिवाज
GrapesJS
मजबूत फिट
GrapesJS एक DOM तत्व में माउंट होता है और आमतौर पर अन्य लोगों के उत्पादों में एम्बेडेड होता है। Editor.js उतनी ही आसानी से एम्बेड करता है, लेकिन एक सामग्री संपादक को एम्बेड करता है।
व्हाइट-लेबल संपादक
Editor.js
रिवाज
GrapesJS
मजबूत फिट
GrapesJS पैनल, आइकन और CSS को थोक में बदला जा सकता है। Editor.js UI को भी फिर से स्टाइल किया जा सकता है; रीब्रांड करने के लिए कम क्रोम है।
CMS एकीकरण
Editor.js
अंतर्निहित
GrapesJS
अंतर्निहित
दोनों CMS के साथ एकीकृत होते हैं। सवाल यह है कि क्या CMS संरचित सामग्री या दृश्य लेआउट संग्रहीत करता है।
TypeScript प्रकार
Editor.js
अंतर्निहित
GrapesJS
अंतर्निहित
प्रकाशित पैकेज में दोनों जहाज प्रकार की घोषणाएं। सटीक क्षेत्रों के लिए नीचे दी गई तालिका देखें।
Plugin पारिस्थितिकी तंत्र
Editor.js
पैकेज
GrapesJS
पैकेज
Editor.js में आधिकारिक टूल पैकेज और एक सामुदायिक पारिस्थितिकी तंत्र है; GrapesJS में एक प्लगइन API और एक बाज़ार है।
ओपन-सोर्स लाइसेंस
Editor.js
अंतर्निहित
GrapesJS
अंतर्निहित
Editor.js Apache-2.0 है। GrapesJS कोर BSD-3-Clause है। दोनों वाणिज्यिक और बंद-स्रोत उपयोग की अनुमति देते हैं।
पंक्तियाँ जहाँ दोनों स्तंभ समान पढ़ते हैं, वे पंक्तियाँ हैं जहाँ दो संपादक वास्तव में एक ही काम करते हैं। यदि आप किसी निर्णय के लिए स्कैन कर रहे हैं, तो जो पंक्तियाँ मायने रखती हैं, वे वे हैं जहाँ एक पक्ष "बिल्ट-इन" कहता है और दूसरा "कस्टम" कहता है: वह अंतर वह काम है जो आपकी टीम करेगी।
npm रजिस्ट्री से 2026-09-03 पर पढ़ें। संस्करण चलते हैं; लाइसेंस और शिप किए गए प्रकार की घोषणाएं यहां टिकाऊ तथ्य हैं। ध्यान दें कि BSD-3-Clause GrapesJS कोर पर लागू होता है - अलग React रैपर पैकेज MIT है।
व्यावहारिक परिदृश्य
आपको कौन सा Editor उपयोग करना चाहिए?
चौदह ठोस उत्पाद, प्रत्येक एक सिफारिश के साथ। उनमें से चार Editor.js और दो बिंदु दोनों पर इंगित करते हैं - यदि एक तुलना पृष्ठ हर परिदृश्य को अपने स्वयं के उत्पाद पर इंगित करता है, तो आप उस पर भरोसा नहीं करना सही होगा।
ब्लॉग या लेख संपादक
Editor.js
लेखक गद्य लिखते हैं। मान स्वच्छ संरचित सामग्री में है जो हर चैनल में समान रूप से प्रस्तुत होता है, न कि प्रति-पोस्ट लेआउट नियंत्रण में।
प्रलेखन संपादक
Editor.js
दस्तावेज़ीकरण एक सुसंगत टेम्पलेट और विवश ब्लॉक प्रकार चाहता है। प्रत्येक पृष्ठ लेखक को अपना लेआउट देना आमतौर पर एक समस्या है, एक सुविधा नहीं।
ज्ञान का आधार
Editor.js
खोज, संस्करण और पुनः उपयोग सभी तब आसान हो जाते हैं जब लेख मार्कअप के बजाय संरचित डेटा होते हैं।
संरचित CMS सामग्री
Editor.js
यदि आपका API कई फ्रंट एंड पर सामग्री परोसता है, तो पोर्टेबल दस्तावेज़ को संग्रहीत करना एक चैनल के लेआउट को संग्रहीत करना धड़कता है।
स्वयं दस्तावेज़ों के लिए विवश संरचित सामग्री, उनके आस-पास के विपणन पृष्ठों के लिए दृश्य संपादन।
मिश्रित परिदृश्यों के लिए, दोनों इस बात पर निर्भर करते हुए उपयुक्त हो सकते हैं कि प्राथमिक आवश्यकता संरचित सामग्री या दृश्य लेआउट संपादन है या नहीं। यह तय करने लायक है कि आपके उत्पाद का कोर लूप वास्तव में दोनों में से कौन सा है, इससे पहले कि आप यह तय करें कि कौन सा संपादक स्थापित करना है।
SaaS उत्पाद
SaaS Editor का निर्माण?
क्या आपके उपयोगकर्ता मुख्य रूप से सामग्री लिख रहे हैं, या नेत्रहीन रूप से उस चीज़ का निर्माण कर रहे हैं जो वे बना रहे हैं?
यह एक प्रश्न किसी भी फीचर टेबल से अधिक निर्णय लेता है। उन दो वर्कफ़्लो की तुलना करें जिन्हें आपके उपयोगकर्ता वास्तव में सप्ताह में दर्जनों बार दोहराएंगे, और उस संपादक को चुनें जिसका लूप इससे मेल खाता है।
Editor.js लूप
सामग्री लिखें
↓
ब्लॉक व्यवस्थित करें
↓
JSON बचाएं
↓
सामग्री प्रस्तुत करें
चार चरण, और आखिरी वाला आपके रेंडरर का है। संक्षिप्त, पूर्वानुमानित, और परिणाम कैसा दिखता है, इसके प्रति पूरी तरह से उदासीन।
GrapesJS लूप
लेआउट बनाएं
↓
घटकों को खींचें
↓
शैलियों को अनुकूलित करें
↓
पूर्वसमीक्षा
↓
प्रोजेक्ट सहेजें
↓
प्रकाशित करना
छह चरण, क्योंकि उनमें से दो - स्टाइलिंग और पूर्वावलोकन - वह हिस्सा है जिसके लिए आपके उपयोगकर्ता भुगतान कर रहे हैं जब कलाकृति एक पृष्ठ है।
SaaS उत्पादों के लिए जहां उपयोगकर्ताओं को पृष्ठों, टेम्पलेट्स या लेआउट को नेत्रहीन रूप से बनाने की आवश्यकता होती है, GrapesJS अक्सर एक अधिक प्राकृतिक प्रारंभिक बिंदु होता है - ऊपर दिया गया लूप उत्पाद है, और इसे सामग्री संपादक पर बनाने का अर्थ है लेआउट संपादक को स्वयं लिखना। यदि आपके उपयोगकर्ता रचना करने के बजाय लिख रहे हैं, तो छोटा लूप सही है और Editor.js आपको वहां तेजी से पहुंचाता है।
CMS संपादक बनाने के दो ईमानदार तरीके हैं, और चुनाव आपके द्वारा स्थापित संपादक के अपस्ट्रीम है। नीचे दिए गए दोनों मॉडल कहीं न कहीं उत्पादन में हैं, और दोनों उन उत्पादों के लिए सही हैं जिन्होंने उन्हें चुना है।
संरचित CMS
CMS
↓
Editor.js
↓
JSON
↓
फ्रंटएंड
CMS सामग्री मॉडल का मालिक है। फ्रंटएंड प्रेजेंटेशन का मालिक है, और एक भी संग्रहीत दस्तावेज़ को छुए बिना इसे बदल सकता है।
दृश्य CMS
CMS/बैकएंड
↓
GrapesJS
↓
दृश्य संपादन
↓
HTML/CSS/प्रोजेक्ट डेटा
↓
फ्रंटएंड
CMS संपादन सतह का मालिक है। संपादक तैयार लेआउट को नियंत्रित करते हैं, और प्रस्तुति परिवर्तन सामग्री परिवर्तन हैं।
चुनाव इस बात पर निर्भर करता है कि आपके उपयोगकर्ताओं को संरचित सामग्री लिखने की आवश्यकता है या अंतिम लेआउट को नेत्रहीन रूप से नियंत्रित करने की आवश्यकता है। यदि कुछ को प्रत्येक की आवश्यकता है, तो यह एक वास्तविक उत्तर भी है - दोनों को और नीचे चलाने पर अनुभाग देखें।
अंतर को समझने का सबसे आसान तरीका संपादक का उपयोग करना है। पैनल से एक ब्लॉक को खींचें, किसी भी तत्व पर क्लिक करें, इसे फिर से स्टाइल करें, कैनवास को टैबलेट या मोबाइल पर स्विच करें, एसेट मैनेजर खोलें - और नीचे दिए गए पैनल को प्रिंट करें जहां आपका चयन घटक ट्री में बैठता है।
क्या मैं Editor.js से GrapesJS में माइग्रेट कर सकता हूँ?
हां, लेकिन माइग्रेशन आमतौर पर प्रत्यक्ष निर्यात/आयात ऑपरेशन के बजाय एक सामग्री-मॉडल और संपादक-आर्किटेक्चर माइग्रेशन है। ऐसा कोई कनवर्टर नहीं है जो Editor.js दस्तावेज़ पढ़ता हो और GrapesJS प्रोजेक्ट तैयार करता हो, क्योंकि विज़ुअल एडिटर को जिस लेआउट और मार्कअप की आवश्यकता होती है, वह शुरू करने के लिए दस्तावेज़ में कभी नहीं थे। किसी को उन्हें तय करना होगा, एक बार प्रति सामग्री प्रकार - और यह निर्णय वही है जो नीचे दिए गए दस चरणों को व्यवस्थित करता है।
1
मूल्यांकन करना
अपने Tools का ऑडिट करें
उपयोग में आने वाले प्रत्येक Tool की सूची बनाएं, जिसमें केवल कुछ मुट्ठी भर पुराने दस्तावेज़ ही शामिल हैं। लंबी पूंछ वह जगह है जहां माइग्रेशन खत्म हो जाता है।
2
मूल्यांकन करना
सामग्री प्रकारों की पहचान करें
उन Tools को आपके उत्पाद की सामग्री प्रकारों में समूहित करें। कई Tools अक्सर विविधताओं के साथ एक प्रकार के होते हैं।
3
मूल्यांकन करना
मानचित्र ब्लॉक डेटा
प्रत्येक प्रकार के लिए, लिखें कि इसके डेटा ऑब्जेक्ट में क्या है और एक दृश्य समकक्ष की क्या आवश्यकता होगी जिसमें डेटा शामिल नहीं है।
4
को गढ़ना
GrapesJS घटक बनाएं
प्रति सामग्री प्रकार के लिए एक घटक प्रकार को परिभाषित करें, मार्कअप और संरचना के साथ विज़ुअल संपादक प्रस्तुत और संपादित करेगा।
5
को गढ़ना
traits और गुण बनाएं
उन फ़ील्ड को उजागर करें जिन्हें लेखकों को traits के रूप में संपादित करने की आवश्यकता होती है, इसलिए सेटिंग्स पैनल वही नियंत्रण प्रदान करता है जो पुराने Tool ने किया था।
6
को गढ़ना
विज़ुअल ब्लॉक बनाएं
प्रति घटक प्रकार एक draggable ब्लॉक जोड़ें ताकि लेखक उन्हें सम्मिलित कर सकें, जो Editor.js टूलबॉक्स का दृश्य समकक्ष है।
7
को गढ़ना
मानचित्र शैलियाँ और लेआउट
तय करें कि घटक में कौन सी स्टाइल तय की गई है और जिसे लेखक बदल सकता है, फिर मिलान करने के लिए Style Manager को कॉन्फ़िगर करें।
8
ले जाएँ
टेम्पलेट और सामग्री माइग्रेट करें
संग्रहीत दस्तावेज़ों को प्रति सामग्री प्रकार की स्क्रिप्ट के साथ परिवर्तित करें. एक नमूने की हाथ से जांच करने की अपेक्षा करें — स्वचालित आउटपुट के लिए निर्णय की आवश्यकता होगी.
9
ले जाएँ
फ्रंटएंड को फिर से काम करना
आपके रेंडरर ने एक ब्लॉक सरणी का उपभोग किया। यह अब निर्यात किए गए HTML और CSS, या प्रोजेक्ट डेटा की खपत करता है, जो एक अलग एकीकरण है।
10
ले जाएँ
रेंडरिंग सत्यापित करें
वास्तविक दस्तावेज़ों के लिए पुराने और नए आउटपुट की तुलना करें, फिक्स्चर के लिए नहीं, और पुरानी पाइपलाइन को तब तक पठनीय रखें जब तक आपके पास न हो।
वास्तव में लागत क्या निर्धारित करता है
कस्टम Editor.js Tools
सामग्री स्कीमा
फ्रंटएंड रेंडरिंग
संग्रहीत डेटा की मात्रा
टेम्पलेट लाइब्रेरी
कस्टम प्लगइन्स
व्यापार तर्क
स्टाइलिंग सिस्टम
माइग्रेशन उदाहरण
Editor.js → GrapesJS माइग्रेशन उदाहरण
एक शीर्षक, दोनों तरफ। नीचे दी गई तुलना जानबूझकर छोटी है, क्योंकि यह जो अंतर दिखाता है वह माइग्रेशन की पूरी कठिनाई है: दाईं ओर की हर चीज जो बाईं ओर नहीं है, उसे एक व्यक्ति द्वारा तय किया जाना था।
एक घटक परिभाषा: Blocks.add() और Components.addType() क्या लेते हैं। ध्यान दें कि कहीं से क्या दिखाई दिया - टैग, संरचना, टेक्स्ट नोड। इसमें से कोई भी ब्लॉक में नहीं था।
Editor.js अवधारणा
GrapesJS अवधारणा
Tool→
Component प्रकार
प्रत्येक Tool एक घटक प्रकार बन जाता है: एक ही विचार, लेकिन घटक के पास DOM तत्व और save() विधि के बजाय एक मॉडल और एक दृश्य होता है।
Tool डेटा→
गुण / traits
अपने डेटा ऑब्जेक्ट में रखे गए Tool फ़ील्ड घटक गुण बन जाते हैं, जिनके लिए traits को एक लेखक को बदलने में सक्षम होना चाहिए।
Block अनुक्रम→
Component पेड़
एक सपाट, क्रमबद्ध सरणी एक घोंसले वाला पेड़ बन जाता है। यह कोई यांत्रिक उत्तर के साथ कदम है - घोंसले के शिकार को डिजाइन किया जाना है।
सामग्री स्कीमा→
परियोजना/अनुप्रयोग डेटा
आपका संग्रहीत दस्तावेज़ स्कीमा प्रोजेक्ट डेटा बन जाता है और साथ ही आपके एप्लिकेशन को अभी भी इसके चारों ओर मॉडल करने की आवश्यकता होती है।
यह एक वैचारिक मानचित्रण है, न कि एक सार्वभौमिक स्वचालित कनवर्टर। सभी Editor.js Tools का पुनः उपयोग नहीं किया जा सकता है, और सभी Editor.js सामग्री को स्वचालित रूप से परिवर्तित नहीं किया जा सकता है - ऊपर दी गई मैपिंग वह है जो एक व्यक्ति प्रति सामग्री प्रकार लागू करता है, और इसकी कठिनाई पूरी तरह से इस बात पर निर्भर करती है कि आपके पुराने रेंडरर में कितना लेआउट इरादा निहित था।
प्रयास
Editor.js → GrapesJS माइग्रेशन कितना कठिन है?
यह उन इनपुट पर निर्भर करता है जिन्हें हम यहां से नहीं देख सकते हैं, इसलिए नीचे दिए गए तीन स्तर अवधि का वादा करने के बजाय उन इनपुट का वर्णन करते हैं। वही तीन Tools एक एप्लिकेशन में एक दोपहर लेते हैं जो एक घटक में JSON प्रदान करता है, और सर्वर-साइड रेंडरिंग, एक टेम्पलेट लाइब्रेरी और एक संपादकीय वर्कफ़्लो के साथ एक में काफी लंबा होता है।
●●●सरल
स्टॉक टूलींग, थोड़ा कस्टम कोड, और एक रेंडरर जिसे आप दोपहर में फिर से लिख सकते हैं।
मानक Editor.js ब्लॉक
सीमित कस्टम Tools
बुनियादी सामग्री
छोटी टेम्पलेट लाइब्रेरी
●●●मध्यम
कस्टम Tools और टेम्पलेट मौजूद हैं, इसलिए प्रत्येक को एक डिज़ाइन किए गए दृश्य समकक्ष की आवश्यकता होती है।
कस्टम Tools
कस्टम रेंडरिंग
टेम्पलेट्स
संपत्ति
कस्टम स्टाइल
●●●मनोग्रंथि
संपादक को रेंडरिंग, वर्कफ़्लो और अन्य प्रणालियों में गहराई से बुना गया है।
गहराई से अनुकूलित Editor.js
कस्टम सामग्री स्कीमा
सर्वर-साइड रेंडरिंग
जटिल व्यापार तर्क
बड़ा मौजूदा सामग्री डेटाबेस
अन्य प्रणालियों के साथ एकीकरण
उत्पादन सामग्री को माइग्रेट करने से पहले, वर्तमान Editor.js डेटा मॉडल और रेंडरिंग पाइपलाइन का ऑडिट करें।
माइग्रेट करने से पहले
आपको Editor.js बदलने की आवश्यकता नहीं हो सकती है
Editor.js विकल्प की खोज करने वाले लोगों के एक उचित हिस्से को एक की आवश्यकता नहीं है। प्रवासन से पहले तीन परिणाम विचार करने योग्य हैं, और उनमें से केवल एक ही माइग्रेशन है।
रखें Editor.js
यदि आपका उत्पाद संरचित सामग्री को संग्रहीत और प्रस्तुत करता है, और आप जो शिकायतें सुनते हैं वे लेआउट के बजाय ब्लॉक प्रकारों के बारे में हैं, तो संपादक समस्या नहीं है। इसे बदलने से आपको वह पोर्टेबिलिटी खर्च करनी पड़ेगी जो आपको वर्तमान में मुफ्त में मिल रही है।
जब संरचित सामग्री ठीक वही होती है जो आपके उत्पाद की आवश्यकता होती है
Editor.js बढ़ाएँ
कस्टम Tools अपने स्वयं के मार्कअप, डेटा और सेटिंग्स पैनल के मालिक हैं, और Block Tunes प्रति ब्लॉक स्थिति बनी रह सकती है। "हमें एक अलग संपादक की आवश्यकता है" आवश्यकताओं की एक आश्चर्यजनक संख्या एक Tool दूर है।
जब आपको केवल अतिरिक्त सामग्री की आवश्यकता हो Tools
GrapesJS जोड़ें
यदि आवश्यकता वास्तव में एक विज़ुअल लेआउट संपादक है - लैंडिंग पृष्ठ, टेम्पलेट, एक बिल्डर जो आपके ग्राहक उपयोग करते हैं - तो एक जोड़ना ईमानदार उत्तर है, और इसका मतलब यह नहीं है कि आपके पास पहले से मौजूद सामग्री संपादक को हटा दिया जाए।
जब उत्पाद को विज़ुअल लेआउट एडिटर की भी आवश्यकता होती है
दोनों का उपयोग करना
क्या Editor.js और GrapesJS एक साथ काम कर सकते हैं?
कुछ अनुप्रयोगों में, Editor.js सामग्री संलेखन उपकरण बना रह सकता है जबकि GrapesJS दृश्य रचना को संभालता है। दोनों संपादक एक-दूसरे से बात नहीं करते हैं - वे प्रत्येक एक ही उत्पाद की एक अलग संलेखन सतह की सेवा करते हैं, जैसा कि आरेख दिखाता है।
आपका आवेदन
Editor.js
संरचित सामग्री
पोस्ट, दस्तावेज़ और कोई भी सामग्री जिसे एक से अधिक स्थानों पर प्रस्तुत करना है।
GrapesJS
दृश्य लेआउट
लैंडिंग पृष्ठ, टेम्पलेट और कुछ भी जहां लेआउट वितरण योग्य है।
यह समझ में आता है या नहीं यह उत्पाद की सामग्री और रेंडरिंग आर्किटेक्चर पर निर्भर करता है। दो संपादकों का अर्थ है दो संलेखन इंटरफेस, दो संग्रहीत प्रारूप और दो रेंडरिंग पथ, जो अधिकांश उत्पादों के लिए एक को चुनने से भी बदतर है। यह अपनी लागत तब अर्जित करता है जब उत्पाद में वास्तव में दो संलेखन सतहें होती हैं - पृष्ठ और पोस्ट, लेआउट और लेख - और निर्णय लेने से बचने के तरीके के रूप में नहीं।
प्लगइन्स
प्लगइन्स के साथ GrapesJS बढ़ाएं
आपको हर संपादक क्षमता को खरोंच से बनाने की आवश्यकता नहीं है। GrapesJS को सामान्य वर्कफ़्लो और एकीकरण के लिए प्लगइन्स के साथ बढ़ाया जा सकता है - जिसमें सामग्री संपादक से आने वाले किसी भी व्यक्ति के लिए, समृद्ध पाठ अनुभव ही शामिल है।
रिच टेक्स्ट एडिटिंग
सामग्री संपादक से आने वाला हर कोई पहले यह प्रश्न पूछता है: क्या लेखन अनुभव दृश्य कैनवास के अंदर जीवित रहता है? GrapesJS का अपना समृद्ध टेक्स्ट एडिटर है, और इसे उस व्यक्ति के लिए स्वैप किया जा सकता है जिसे आपके लेखक पहले से जानते हैं।
Component प्रकार अपने स्वयं के traits के साथ संपादन योग्य संरचनाएं जोड़ते हैं - एक कस्टम Editor.js Tool लिखने का दृश्य समकक्ष, सिवाय इसके कि किसी और ने इसे पहले ही लिखा है।
यदि आपके उत्पाद में पहले से ही एक डिज़ाइन प्रणाली है, तो ब्लॉक जो इसकी कक्षाओं का उत्सर्जन करते हैं, वे अच्छे दिखने वाले ब्लॉकों से अधिक मायने रखते हैं।
लिस्टिंग और कीमतें निर्माण समय पर बाज़ार से पढ़ी जाती हैं; इन अलमारियों के पीछे स्लग सूचियों की अंतिम बार 2026-09-03 पर जाँच की गई थी। एक सूची जिसे तब से वापस ले लिया गया है, बस अपने शेल्फ से गायब हो जाती है।
बक्सों का इस्तेमाल करें
आप GrapesJS के साथ क्या बना सकते हैं?
छह उत्पाद जो सभी एक ही संपादक हैं, उन्हें अलग-अलग तरीके से कॉन्फ़िगर किया गया है। प्रत्येक की अपनी मार्गदर्शिका है, क्योंकि दिलचस्प निर्णय इंस्टॉल के बजाय कॉन्फ़िगरेशन में हैं।
संपादक एक DOM तत्व में माउंट होता है, इसलिए फ्रेमवर्क प्रश्न इस बारे में है कि आप इसे कैसे लपेटते हैं बजाय इसके कि यह काम करता है या नहीं। नीचे दी गई प्रत्येक मार्गदर्शिका वायरिंग, जीवनचक्र और उन हिस्सों को कवर करती है जो लोगों को आश्चर्यचकित करते हैं।
स्पष्ट रूप से बनाने लायक एक स्पष्टीकरण: GrapesJS कोर फ्रेमवर्क-अज्ञेयवादी है और इसे इन फ्रेमवर्क का उपयोग करके अनुप्रयोगों में एकीकृत किया जा सकता है - यह React या Vue के समान घटक मॉडल का उपयोग नहीं करता है। GrapesJS में एक "घटक" संपादक का अपना मॉडल ऑब्जेक्ट है जो कैनवास ट्री में एक नोड का वर्णन करता है, न कि React या Vue घटक, और कैनवास एक फ्रेमवर्क के वर्चुअल ट्री के बजाय DOM के अंदर वास्तविक iframe प्रस्तुत करता है। रैपर संपादक को आपके ऐप में एकीकृत करते हैं; वे आपके ढांचे के घटकों को कैनवास के अंदर नहीं डालते हैं।
निर्णय मैट्रिक्स
Editor.js या GrapesJS?
बीस आवश्यकताएं, प्रत्येक एक अनुशंसित प्रारंभिक बिंदु। Editor.js पर छह अंक और दोनों पर दो, क्योंकि यही वह जगह है जहां वे वास्तव में इंगित करते हैं।
Editor.js या GrapesJS?
आपकी आवश्यकता
अनुशंसित प्रारंभिक बिंदु
ब्लॉग संपादक
Editor.js
लेख संपादक
Editor.js
प्रलेखन
Editor.js
संरचित सामग्री
Editor.js
JSON-पहला सामग्री वर्कफ़्लो
Editor.js
एक दस्तावेज़, कई चैनल
Editor.js
विज़ुअल पेज बिल्डर
GrapesJS
लैंडिंग पेज बिल्डर
GrapesJS
SaaS पेज बिल्डर
GrapesJS
HTML/CSS संपादक
GrapesJS
व्हाइट-लेबल विज़ुअल एडिटर
GrapesJS
एम्बेड करने योग्य विज़ुअल एडिटर
GrapesJS
दृश्य CMS संपादक
GrapesJS
कस्टम पृष्ठ संरचना
GrapesJS
उत्तरदायी लेआउट नियंत्रण
GrapesJS
पुनः प्रयोज्य दृश्य टेम्पलेट
GrapesJS
ईमेल टेम्पलेट संपादन
GrapesJS
बहु-पृष्ठ परियोजनाएं
GrapesJS
ब्लॉग के साथ मार्केटिंग साइट
या तो, या दोनों
डॉक्स प्लस मार्केटिंग पेज
या तो, या दोनों
कोई भी उपकरण सार्वभौमिक रूप से बेहतर नहीं है। अपने उत्पाद के लिए आवश्यक संपादन मॉडल के आधार पर चुनें।
सेवाएं
Editor.js से आगे बढ़ रहे हैं?
यदि ऑडिट माइग्रेशन पर इंगित करता है, तो GJS.Market उन हिस्सों के साथ मदद कर सकता है जो किसी भी पुनर्लेखन के लिए सामान्य के बजाय संपादकों की इस जोड़ी के लिए विशिष्ट हैं।
वास्तुकला मूल्यांकन
सामग्री मॉडल मानचित्रण
Tool घटक मानचित्रण के लिए
सामग्री माइग्रेशन
टेम्पलेट माइग्रेशन
एसेट माइग्रेशन
कस्टम प्लगइन विकास
भंडारण एकीकरण
फ्रंटएंड एकीकरण
परीक्षण
हम आपके वास्तविक डेटा मॉडल और रेंडरिंग पाइपलाइन से गुंजाइश करते हैं, इसलिए पहली बातचीत इस बारे में है कि हमारे पास क्या है, न कि हम क्या पेशकश करते हैं। हम उस ऑडिट से पहले एक अवधि उद्धृत नहीं करते हैं, क्योंकि ईमानदार उत्तर ऊपर सूचीबद्ध आठ कारकों पर निर्भर करता है।
Editor.js एक संरचित सामग्री संपादक है: यह JSON के रूप में टाइप किए गए ब्लॉकों की एक क्रमबद्ध सरणी तैयार करता है और प्रस्तुति के बारे में कुछ नहीं कहता है। GrapesJS एक विज़ुअल एडिटर और पेज-बिल्डिंग फ्रेमवर्क है: यह शैलियों, संपत्तियों और उत्तरदायी नियंत्रणों के साथ कैनवास पर एक नेस्टेड घटक ट्री को संपादित करता है, और HTML और CSS निर्यात कर सकता है।
क्या GrapesJS Editor.js का विकल्प है?
केवल तभी जब आपको वास्तव में एक विज़ुअल एडिटर की आवश्यकता हो। वे विनिमेय प्रतिस्थापन नहीं हैं - यदि आपका उत्पाद संरचित सामग्री को संग्रहीत और प्रस्तुत करता है, तो GrapesJS एक अपग्रेड नहीं है, यह एक अलग काम के लिए एक अलग उपकरण है।
क्या Editor.js एक पेज बिल्डर है?
No. Editor.js एक ब्लॉक-स्टाइल कंटेंट एडिटर है। इसमें कोई कैनवास नहीं है, कोई स्टाइल मैनेजर नहीं है और कोई रिस्पॉन्सिव लेआउट नियंत्रण नहीं है, क्योंकि वे एक संरचित सामग्री संपादक के लिए नहीं हैं। आप लेआउट सुविधाओं को कस्टम Tools के रूप में बना सकते हैं, लेकिन आप लेआउट संपादक स्वयं लिख रहे होंगे।
क्या GrapesJS एक समृद्ध टेक्स्ट एडिटर है?
GrapesJS में कैनवास तत्वों के अंदर पाठ संपादित करने के लिए एक समृद्ध टेक्स्ट एडिटर शामिल है, लेकिन यह मुख्य रूप से RTE नहीं है। इसकी समृद्ध टेक्स्ट परत को एक प्लगइन के माध्यम से CKEditor, TinyMCE, Froala या Quill से भी बदला जा सकता है।
CMS के लिए कौन सा बेहतर है?
यह CMS पर निर्भर करता है। यदि संपादक संरचित सामग्री लिखते हैं जिसे कई फ्रंट एंड प्रस्तुत करते हैं, तो Editor.js फिट बैठता है। यदि संपादक तैयार लेआउट को नियंत्रित करते हैं, तो CMS को एक दृश्य संपादन परत की आवश्यकता होती है और GrapesJS फिट बैठता है।
ब्लॉग संपादक के लिए कौन सा बेहतर है?
Editor.js. ब्लॉग पोस्ट गद्य हैं, और एक संरचित दस्तावेज़ प्रति-पोस्ट लेआउट कार्य के बिना वेब, ऐप्स, फ़ीड और खोज में लगातार प्रस्तुत करता है।
विज़ुअल पेज बिल्डर के लिए कौन सा बेहतर है?
GrapesJS. ड्रैग-एंड-ड्रॉप लेआउट, प्रति-तत्व स्टाइल, उत्तरदायी उपकरण, संपत्ति और पुनः प्रयोज्य ब्लॉक उन चीजों के बजाय पुस्तकालय का हिस्सा हैं जिन्हें आप इसके ऊपर बनाते हैं।
क्या Editor.js लैंडिंग पृष्ठ बना सकते हैं?
यह लैंडिंग पृष्ठ सामग्री को संग्रहीत कर सकता है, और एक कस्टम Tool लेआउट डेटा ले जा सकता है। यह आपको जो नहीं देता है वह एक दृश्य कैनवास है जहां एक लेखक सीधे लेआउट की व्यवस्था और शैली करता है - आप इसे स्वयं डिजाइन और निर्माण करेंगे।
क्या GrapesJS समृद्ध पाठ संपादित कर सकता है?
हाँ। पाठ घटक एक समृद्ध टेक्स्ट टूलबार के साथ संपादन योग्य हैं, और यदि आपको किसी विशिष्ट की आवश्यकता है तो संपादक का RTE प्लगइन्स के माध्यम से बदला जा सकता है।
क्या Editor.js आउटपुट JSON करता है?
हाँ। save() एक टाइम स्टैम्प, टाइप किए गए ब्लॉकों की एक ब्लॉक सरणी और संपादक संस्करण के साथ किसी ऑब्जेक्ट को हल करता है। प्रत्येक ब्लॉक में एक आईडी, एक प्रकार और एक डेटा ऑब्जेक्ट होता है जिसका आकार इसका Tool परिभाषित करता है।
GrapesJS कौन सा डेटा संग्रहीत करता है?
प्रोजेक्ट डेटा: पृष्ठ, प्रत्येक फ्रेम के साथ एक नेस्टेड घटक वृक्ष, प्लस शैली नियम, संपत्ति और प्रतीक। वह संपादन योग्य स्थिति है। HTML और CSS प्रकाशन के लिए अलग-अलग उत्पन्न होते हैं।
क्या मैं Editor.js सामग्री को GrapesJS में माइग्रेट कर सकता हूँ?
हां, प्रति सामग्री प्रकार लिखे गए रूपांतरण के साथ। कोई सामान्य स्वचालित कनवर्टर नहीं है, क्योंकि विज़ुअल एडिटर के लिए आवश्यक मार्कअप, नेस्टिंग और स्टाइलिंग को Editor.js दस्तावेज़ में कभी संग्रहीत नहीं किया गया था। इसे सामग्री-मॉडल माइग्रेशन के रूप में मानें।
क्या मैं Editor.js Tools का GrapesJS में पुनः उपयोग कर सकता हूँ?
नहीं। A Tool Editor.js इंटरफ़ेस - रेंडर, सेव और अपने स्वयं के सेटिंग्स पैनल को लागू करता है - जो GrapesJS उपभोग नहीं करता है। अवधारणा GrapesJS घटक प्रकार पर मैप करती है, लेकिन कोड को पुनः उपयोग करने के बजाय फिर से लिखा जाता है।
क्या Editor.js और GrapesJS एक साथ काम कर सकते हैं?
वे एक एप्लिकेशन में सह-अस्तित्व में रह सकते हैं, प्रत्येक एक अलग संलेखन सतह की सेवा कर सकता है - उदाहरण के लिए पोस्ट के लिए संरचित सामग्री और लैंडिंग पृष्ठों के लिए दृश्य संपादन। वे एक दूसरे के साथ एकीकृत नहीं होते हैं, और दोनों को चलाने का अर्थ है दो संलेखन इंटरफेस और दो संग्रहीत प्रारूपों को बनाए रखना।
क्या GrapesJS SaaS उत्पादों के लिए उपयुक्त है?
हाँ। यह आमतौर पर पेज-बिल्डर उत्पादों के अंदर संपादक के रूप में उपयोग किया जाता है, जो किसी अन्य एप्लिकेशन में एम्बेडेड होता है, जिसमें भंडारण और प्रकाशन उस एप्लिकेशन के बैकएंड से जुड़ा होता है। प्रमाणीकरण, बिलिंग, अनुमतियाँ और किरायेदारी आपके एप्लिकेशन का काम बनी हुई है।
क्या GrapesJS TypeScript का समर्थन करता है?
हाँ। प्रकाशित पैकेज अपने स्वयं के प्रकार की घोषणाओं को शिप करता है। कुछ आंतरिक प्रबंधक प्रकार घोषित किए जाते हैं लेकिन निर्यात नहीं किए जाते हैं, इसलिए आप कभी-कभी इसके बजाय Editor प्रकार के माध्यम से उन तक पहुंचते हैं।
क्या Editor.js TypeScript का समर्थन करता है?
हाँ। पैकेज शिप प्रकार घोषणाएं, और संपादक स्वयं TypeScript में लिखा जाता है।
क्या GrapesJS को व्हाइट-लेबल किया जा सकता है?
हाँ। पैनल, बटन, आइकन और स्टाइलशीट को बदला या फिर से स्टाइल किया जा सकता है, और संपादक को उसके प्रबंधकों से इकट्ठा किया जा सकता है ताकि परिणामी UI में कोई भी डिफ़ॉल्ट क्रोम न हो।
क्या मैं GrapesJS के साथ सीएमएस संपादक बना सकता हूं?
हाँ। Storage Manager को अपने CMS API पर इंगित करें ताकि प्रोजेक्ट डेटा वहां बना रहे, और फ्रंटएंड के लिए HTML और CSS उत्पन्न करें। CMS सत्य का स्रोत बना हुआ है।
क्या मैं GrapesJS के साथ React का उपयोग कर सकता हूँ?
हां, आधिकारिक React रैपर पैकेज के माध्यम से या संपादक को स्वयं रेफरी में माउंट करके। कोर फ्रेमवर्क-अज्ञेयवादी है; कैनवास DOM को React घटकों के बजाय iframe में प्रस्तुत करता है।
क्या मैं GrapesJS के साथ Next.js का उपयोग कर सकता हूँ?
हाँ। सर्वर-साइड रेंडरिंग अक्षम के साथ संपादक को गतिशील रूप से आयात करें - यह ब्राउज़र ग्लोबल्स को छूता है जब यह प्रारंभ होता है - और इसे क्लाइंट घटक में माउंट करें।
क्या GJS.Market Editor.js प्रोजेक्ट को माइग्रेट करने में मदद कर सकता है?
हाँ। हम आर्किटेक्चर का आकलन कर सकते हैं, सामग्री मॉडल को मैप कर सकते हैं और घटकों पर Tools कर सकते हैं, सामग्री, टेम्पलेट और संपत्तियों को माइग्रेट कर सकते हैं, कस्टम प्लगइन्स और वायर स्टोरेज और फ्रंटएंड इंटीग्रेशन बना सकते हैं। स्कोपिंग एक निश्चित पैकेज के बजाय आपके मौजूदा डेटा मॉडल से शुरू होती है।
चुनें
वह संपादन मॉडल चुनें जिसकी आपके उत्पाद को आवश्यकता है
Editor.js संरचित सामग्री संपादन के लिए एक मजबूत विकल्प है। GrapesJS एक मजबूत विकल्प है जब उपयोगकर्ताओं को पृष्ठों, लेआउट और घटकों को नेत्रहीन रूप से बनाने और अनुकूलित करने की आवश्यकता होती है।
यहां से शुरू करें
GrapesJS आज़माएं
ब्लॉक, शैलियों, भंडारण और निर्यात के साथ एक कॉन्फ़िगर किए गए संपादक के लिए एक खाली कंटेनर से बारह कदम।
यदि आपके उत्पाद को दृश्य संपादन की आवश्यकता है, तो GrapesJS से शुरू करें और इसे अपने एप्लिकेशन के आर्किटेक्चर के आसपास विस्तारित करें। यदि इसे संरचित सामग्री की आवश्यकता है, तो छोटा उत्तर सही है - और इस पृष्ठ ने उम्मीद है कि यह स्पष्ट कर दिया है कि आप उनमें से किसके बारे में पढ़ रहे हैं।