Skip to content
ClojureScript interface to Facebook's React
Branch: master
Clone or download
Latest commit 775f3ad Jun 1, 2018
Type Name Latest commit message Commit time
Failed to load latest commit information.
bin enabling running tests at the commandline Jan 8, 2016
examples 0.8.6 Jan 27, 2015
resources support dev with Boot Sep 3, 2016
script enabling running tests at the commandline Jan 8, 2016
src remove bad usage of exists? Jun 1, 2018
.gitignore 0.8.8 Feb 2, 2015 React 16 support Sep 29, 2017
build.boot React 16 support Sep 29, 2017
circle.yml add circle.yml Sep 14, 2016
epl.html license Dec 29, 2013


A ClojureScript UI framework and client/server architecture over Facebook's React.

Om UIs are out of the box snapshotable and undoable and these operations have no implementation complexity and little overhead.

Om borrows ideas liberally from Facebook's Relay and Netflix's Falcor with a dash of inspiration from Datomic pull syntax to avoid the typical incidental complexity that arises from client/server state management.

Dependency Information

Latest release: 1.0.0-beta1

Leiningen and Boot dependency information:

[org.omcljs/om "1.0.0-beta1"]

Maven dependency information:



(ns example
  (:require [goog.dom :as gdom]
            [om.dom :as dom]
            [ :as om :refer [defui]]))

(defui Hello
  (render [this]
    (dom/h1 nil "Hello, world!")))

(def hello (om/factory Hello))

(.render js/ReactDOM (hello) (gdom/getElement "example"))


There is an Quick Start tutorial that will introduce you to the core concepts of Om here. There are also a variety of other guides here.


There is documentation here


Please contact me via email to request an electronic Contributor Agreement. Once your electronic CA has been signed and returned to me I will accept pull requests.


If you are looking for help please get in touch either on the #om channel or the om-cljs Google Group.


Copyright and license

Copyright © 2013-2017 David Nolen

Licensed under the EPL (see the file epl.html).

You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.