Understanding Om
Om is a ClojureScript library that wraps Facebook's React.js library. Om was originally developed by David Nolen. At the time of writing, it is the most commonly used ClojureScript library for writing SPAs. There are other perfectly serviceable CLJS libraries that wrap React, but we don't have the space to cover them. Most of the concepts we'll cover transfer over if you're interested in using one of them.
Note
At the time of writing, there is also Om Next, a kind of Om 2.0. Om Next does not yet have stable official releases, so we will not be covering it. Om Next's main improvements revolve around querying and syncing data between the client and server and efficiently combining data from what would normally be multiple REST API calls. While Om Next's API is different from Om's, the vast majority of the concepts we cover will transfer over.