Build Your Own: React, ProseMirror, and Redux

This course was originally designed as a two-week learning sprint to be taken on by the Oak team at the New York Times. The goal of this course is to actually build minimal alternatives to each of the three primary frontend libraries we use in Oak, our collaborative rich text editor.

We'll start with Redux! There's only one Redux course; we're going to dive right in by building our own Redux implementation from scratch.

  1. Build your own Redux - Course : Glitch

Next, we're going to tackle React. We have two React courses:

  1. React Basics - Course : Glitch
  2. Build your own React - Course : Glitch

And finally, ProseMirror. Again, we have two ProseMirror courses, a refresher and a deep dive:

  1. ProseMirror Basics - Course : Glitch
  2. Build your own ProseMirror View - Course : Glitch

Why should I bother learning how to build my own...?

Abstraction is one of the most valuable tools in a software developer’s toolbelt. It is fundamental to our craft; from machine code to DOM APIs, software is built on a massive system of abstraction. But sometimes abstractions leak, or conflict. What do we do when we need to peel back the abstraction and truly understand what’s happening under the hood? How do we best understand what our tools actually do?

The Oak team collected and developed these resources to help us prepare to reimagine the way we integrated React, ProseMirror, and Redux in our codebase. Because React and ProseMirror have different philosophies about DOM management, and Redux and ProseMirror have different philosophies about state management, it was important that we understood deeply how each of them actually worked in order to build a system that allowed them to cooperate.