FEAT: Further Decomposing GrapesJS #5754
Replies: 6 comments 20 replies
-
One more: Asset manager: It is a good implementation, but this also seems like something that people would already have in their own file management system. And if they did use it, it would likely be a jumping off point for their own, as it would need to be styled to match the rest of their system. |
Beta Was this translation helpful? Give feedback.
-
Thanks @bernesto for starting this discussion. I'm actually on the same page about everything here. My next plan is actually to make the core completely independent from UI as grapesjs itself could be used outside of the browser context (eg. using headless mode on server/WebWorker). So there will be a new
Other stuff that would make sense to remove:
|
Beta Was this translation helpful? Give feedback.
-
"isComponent" is doing a great job so far, if you are about to get rid of it, then, what would be an alternative to it? of course the loaded html template would never be recognized by grapesJS as a component if there is no such checking like how "isComponent" does..! |
Beta Was this translation helpful? Give feedback.
-
I am thinking of shoelace components, can we make the coming gJS depend on it or adapt it and replace some of its functionalities to fulfill the core needs of gJS..? |
Beta Was this translation helpful? Give feedback.
-
Also, isn't possible we make the gjs have a base/core that is very tiny, it's only job to accept a wide range of customization-as-plugins, following a common Spec? not sure what spec would be best, but of course should be future proof (something that can be flexible for future changes in web technologies) |
Beta Was this translation helpful? Give feedback.
-
@artf I am ready to rebuild the gjs from scratch if you are willing to we team up for this, I can give this project daily up to 2 hours, assuming this would be best way to collaborate..! |
Beta Was this translation helpful? Give feedback.
-
Right now GrapesJS has a great modular architecture. I really appreciate how @artf architected this project into blocks, panels, canvas, etc. It is very easy to work with and shows a lot of foresight.
The beauty of GrapesJS lies in the block based DOM manipulation. Pair that with a layers view of elements and the ability to manipulate their styles in an intuitive way, and you have a very powerful component.
Let me start by saying that as we evaluated this for our platform, I appreciate having a fully functional demo as an example. But I find myself in a reductive process, where by I am removing a few superfluous components from the core editor that we don't need, or plan to implement in our own way. These add extra weight and complexity to the editor that is seems unnecessary.
As I think about each of these, I can imagine that I'm not the only one facing these steps. This thread is intended as a starting point for open discussions on what is included in GrapesJS, why, and what should/could be broke out and optionally loaded instead as a module or config.
Here are my initial items:
I know these all would be breaking changes. But, that said, I think they are all valid points, and could be shimmed in with a config for the few who need them.
Ultimately, my goal is to write as little code as possible to get the job done 😂 (and ship as little code as necessary to the client). Your's probably is too. Unwinding code out of a codebase can be tricky, can break things, and isn't a good use of time.
I'd like to hear your thoughts!
Beta Was this translation helpful? Give feedback.
All reactions