react-canvas VS ProseMirror

Compare react-canvas vs ProseMirror and see what are their differences.

react-canvas

High performance <canvas> rendering for React components (by Flipboard)

ProseMirror

The ProseMirror WYSIWYM editor (by ProseMirror)
Our great sponsors
  • Syncfusion - See why our products are consistently getting 4.6 out of 5 stars by your peers.
  • Scout APM - A developer's best friend. Try free for 14-days
  • Nanos - Run Linux Software Faster and Safer than Linux with Unikernels
react-canvas ProseMirror
4 11
12,737 5,486
0.3% 2.0%
0.0 2.1
almost 3 years ago 25 days ago
JavaScript JavaScript
BSD 3-clause "New" or "Revised" 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.

react-canvas

Posts with mentions or reviews of react-canvas. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2021-05-12.
  • Google Docs will move to canvas based rendering instead of DOM
    news.ycombinator.com | 2021-05-12
    I remember Flipboard using canvas to render their UI before using react, which has the same idea, you can look at the repo and their post about it:

    https://github.com/Flipboard/react-canvas

  • Using KonvaJS as canvas with React
    dev.to | 2021-03-25
    React Canvas
  • Is it possible on react native ???
    You can also try using Canvas element in react https://github.com/Flipboard/react-canvas
  • Any js game library where I can use react ?
    reddit.com/r/reactjs | 2021-03-02
    I'm confused, there is react-canvas. Does it just not work very good?

ProseMirror

Posts with mentions or reviews of ProseMirror. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2021-09-30.
  • I built a Notion like note taker which works on top of locally saved markdown files
    reddit.com/r/reactjs | 2021-10-19
    I have created a library to deal with contentEditable called bangle.dev which in itself is an abstraction on top of the popular https://prosemirror.net library.
  • Is there a Rich text editor ES Module for SvelteKit?
    reddit.com/r/sveltejs | 2021-09-30
    There's https://prosemirror.net/ that has svelte bindings https://github.com/christianheine/prosemirror-svelte
  • Rich Text Editor Libraries w/ NextJS
    reddit.com/r/webdev | 2021-09-28
    I have never used it, but take a look at ProseMirror.
  • Strategy for implementing a simple rich text editor in which every word automatically gets wrapped in a span?
    reddit.com/r/reactjs | 2021-09-19
    Take a look at something like Prosemirror. With something like this, you can essentially define how text will be parsed and rendered, which will then form what your AST looks like. Prosemirror could then handle the rendering for you, and you interact with Prosemirror and it's utilities to manipulate the AST, and thus the rendered editor.
  • My pain building a WYSIWYG editor with contenteditable
    reddit.com/r/webdev | 2021-09-17
    Dude, go with ProseMirror. It has all the building blocks you'll need to accomplish what you folks are after. There's also the wrapper project TipTap which makes it a bit easier to work with in TypeScript.
  • Ask HN: Open-source notion.so like block editor?
    news.ycombinator.com | 2021-08-28
    Prosemirror[0] implements blocks like notion, and has a MIT license. Mind that it's not super intuitive stuff, at least for me, but it's a very powerful API. There are react implementations in the wild.

    [0] https://prosemirror.net/

  • The Official Release of Apostrophe 3.0
    dev.to | 2021-06-18
    A3 uses the tiptap rich text editor, a modern Vue-based editor. tiptap is powered by ProseMirror, a rich text editing framework embraced by many companies, notably including The New York Times. It's easier to customize and a pleasure to use.
  • 10 tips for building accessible text editors
    dev.to | 2021-06-11
    Most frameworks (draft.js, slate.js and prosemirror as well as others) render this by default, but it's always good to double check this!
  • Google Docs will move to canvas based rendering instead of DOM
    news.ycombinator.com | 2021-05-12
    With a canvas-based engine, the editor is no longer relying on the contenteditable spec right?

    For the majority of use cases, do you think contenteditable + view layer which precisely updates the HTML is still viable though. Or more specifically, what do you think about libraries like ProseMirror (https://prosemirror.net/) or Slate.js (https://github.com/ianstormtaylor/slate)?

    I understand if you have really long documents or spreadsheets (I imagine latter is more frequent), you could maybe solve performance rendering problems with virtualization, which canvas gives more flexibility to?

  • Inline editor suggestions
    reddit.com/r/webdev | 2021-04-01
    Thanks - looking at the GitHub repo it looks like this uses https://prosemirror.net/ which is also interesting. If off to bed now but will explore more in the next few days. Thanks for your help, much appreciated.

What are some alternatives?

When comparing react-canvas and ProseMirror you can also consider the following projects:

slate - A completely customizable framework for building rich text editors. (Currently in beta.)

quill - Quill is a modern WYSIWYG editor built for compatibility and extensibility.

CodeMirror - In-browser code editor

Draft.js - A React framework for building text editors.

TinyMCE - The world's #1 JavaScript library for rich text editing. Available for React, Vue and Angular

tiptap - The headless editor framework for web artisans.

Konva - Konva.js is an HTML5 Canvas JavaScript framework that extends the 2d context by enabling canvas interactivity for desktop and mobile applications.

React Konva - React + Canvas = Love. JavaScript library for drawing complex canvas graphics using React.

PixiJS - The HTML5 Creation Engine: Create beautiful digital content with the fastest, most flexible 2D WebGL renderer.

Monaco Editor - A browser based code editor

Editor.js - A block-styled editor with clean JSON output

Froala Editor - The next generation Javascript WYSIWYG HTML Editor.