blocks VS craft.js

Compare blocks vs craft.js and see what are their differences.

blocks

A JSX-based page builder for creating beautiful websites without writing code (by blocks)

craft.js

🚀 A React Framework for building extensible drag and drop page editors (by prevwong)
Our great sponsors
  • SurveyJS - Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
blocks craft.js
2 17
4,887 6,971
0.6% -
0.0 7.6
13 days ago 22 days ago
JavaScript TypeScript
MIT License MIT License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

blocks

Posts with mentions or reviews of blocks. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2021-06-07.

craft.js

Posts with mentions or reviews of craft.js. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-06-10.
  • How to build a webpage builder like Wix, Squarespace, Shopify, etc? I want to build one with React
    2 projects | /r/reactjs | 10 Jun 2023
    I've been building one with https://craft.js.org/ , tailwind, nextjs, and vercel, a few months into it I've got a decent component library, custom domains, subdomains, static pages, accounts, multiple pages, cdn and a bit more. The basics are easy to get going. Making it easy to understand/use, responsive, and all that, is a bit more complex.
  • Reka.js - Build your own no-code editor ✨
    3 projects | /r/webdev | 8 Apr 2023
    As for the second part of your question, regarding UI. Reka is purely the state management system, so it is designed to help with storing/editing user content and computing an output for that content so you can render that on the browser; it’s not really responsible for the UI part. For building UI’s for your page editor - there’s Craft.js which is another framework that I built for creating page editors. Craft comes with an event system that lets you know which elements is being selected/hovered/dragged and a drag and drop system that lets you move elements around on the screen along with other things that helps you build your own page editor UI. Craft is actually the parent project of Reka. Reka was built to replace Craft’s internal state management system so that you could build entire UI components in Craft in the future. If you’re interested, you could check out the motivation and relationship between Craft and Reka here. As for the demo shown in the video, all the UI interactions (including some that you have mentioned like showing the borders of selected elements) are fairly straightforward, and they’re simply just interacting/mutating the AST state of Reka. Feel free to take a look at the code for the demo.
  • WYSIWYG/Drag-And-Drop alternative to GrapeJS in react
    2 projects | /r/reactjs | 14 Feb 2023
    I think Craft.JS is exactly what you're looking for. The library author even used Grape.js as a starting point. I used this library to build a WYSWYG editor, similar to Webflow, and it worked really well.
    2 projects | /r/reactjs | 14 Feb 2023
    We’ve been looking into craftjs for this use case since it seems to be more targeted at letting you build on top of it. https://craft.js.org/
  • How would you create multiple custom templates using HTML/CSS like Canva?
    2 projects | /r/webdev | 12 Jun 2022
    i think that's how all no-code web editors like carrd, webflow, squarespace work i think (see https://github.com/prevwong/craft.js & https://github.com/artf/grapesjs)
  • [AskJS] Resources for Building a No-Code Editor
    3 projects | /r/javascript | 9 May 2022
    If you're just talking about a WYSIWYG website page editor, check out https://github.com/prevwong/craft.js
  • I am about to re-write WordPress in Node.js
    5 projects | /r/Wordpress | 10 Jan 2022
    Hmm, I guess it really depends on where you want to go. If you want a basic editor, sure, write your own, but I see you're integrating rows and columns. If you want to match current UX expectations, you gonna spend a shit ton of time to add things like drag and drop ordering, color and spacing controls, etc. If you want to have a full blown editing experience, I'd check out sth. like https://builder.io/ or https://craft.js.org/
  • Utopia, a visual design tool for React, with code as the source of truth
    4 projects | news.ycombinator.com | 15 Jun 2021
    I was planning on building something similar. My first attempt involved trying to get grapesjs to work with react. This attempt was very cumbersome because grapesjs generated html, and I would try to manipulate the html into react.

    https://github.com/artf/grapesjs

    Later however, I discovered craft.js, which is basically a framework for creating systems similar to this (page/component editors). Craft.js was inspired by grapesjs, but is specifically made for react.

    https://github.com/prevwong/craft.js

    Of course craft.js only solves the UI editor, not the code parsing/generation part. Babel is an obvious choice for code generation/manipulation, but I found its imperative approach unnecessarily complicated, so I built react-ast to enable declarative and composable code generation using react.

    https://github.com/clayrisser/react-ast

    The part I had not figured out was using the code as the source of truth for the editor and syncing it back. I definitely thought about it a lot, but postponed solving it since I had more pressing problems.

    So, I have a lot of curiosity about this project. How does it work? And how does it stack up against a technology like craft.js? I noticed it’s not using craft.js, so I’m guessing the developers rolled their own equivalent.

  • Show HN: Open-source alternative to Retool, Internal.io, etc.
    11 projects | news.ycombinator.com | 7 Jun 2021
  • Launch HN: Weweb.io (YC W21) – Create websites visually using JAMstack tools
    3 projects | news.ycombinator.com | 24 Feb 2021
    Congrats, weweb.io definitely looks exciting.

    For anyone interested, recently I had to research opensource visual page builder/websites options and these were top of the list:

    https://github.com/prevwong/craft.js (React)

    https://github.com/paperbits/paperbits-core (Full website, uses Firebase)

    https://github.com/react-ui-builder/react-ui-builder-editor (React)

    https://github.com/premieroctet/openchakra (Editor for Chakra UI)

    https://github.com/BuilderIO/builder (Not sure if this really is open source)

What are some alternatives?

When comparing blocks and craft.js you can also consider the following projects:

openchakra - ⚡️ Full-featured visual editor and code generator for React using Chakra UI

vuera - :eyes: Vue in React, React in Vue. Seamless integration of the two. :dancers:

GrapesJS - Free and Open source Web Builder Framework. Next generation tool for building templates without coding

saltcorn - Free and open source no-code application builder

rswag - Seamlessly adds a Swagger to Rails-based API's

JSONForms - Customizable JSON Schema-based forms with React, Angular and Vue support out of the box.

pongo2 - Django-syntax like template-engine for Go

builder - Drag and drop headless CMS for React, Vue, Svelte, Qwik, and more

appsmith - Platform to build admin panels, internal tools, and dashboards. Integrates with 25+ databases and any API.

ToolJet - Low-code platform for building business applications. Connect to databases, cloud storages, GraphQL, API endpoints, Airtable, Google sheets, OpenAI, etc and build apps using drag and drop application builder. Built using JavaScript/TypeScript. 🚀