LiveDuo / destack

Page builder for Next.js 🅧. Zero-config deployment 🚀. React now supported!
MIT License
1.56k stars 314 forks source link

Destack v3 #103

Closed LiveDuo closed 9 months ago

LiveDuo commented 10 months ago

Overview

This PR replaces Craft.js with a new vanilla editor. While the new editor is visually similar to the previous one it enables a few major changes to the project:

Beta Testing

The beta starter project on destack-starter-beta is updated for anyone willing to test the new version.

Tradeoffs

A major change with the new editor is that Destack no longer uses a custom JSON format to store the user generated pages and uses pure HTML instead. Besides the many benefits and significant reduction in complexity not having React based components comes with a tradeoff in flexibility. If not handle properly, more flexibility could be dangerous as uncle Ben said. For example, someone might use the editor in a user facing application not realising that there's no XSS validation by default.

Another tradeoff is that it's harder to implement state management with the vanilla editor. This is not generally a problem as HTML acts as the state but there are a few cases that state management is useful. For example, state diffs required by Undo/Redo are easier to handle in JSON files than HTML files that are plain text.

Moving forward