ClojureScript interface to Facebook's React
Clone or download
Latest commit 775f3ad Jun 2, 2018
Permalink
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 stop ignoring pom.xml Dec 5, 2015
CHANGES.md 0.8.8 Feb 2, 2015
README.md simplify the example Jun 14, 2017
README.old.md new README wip May 26, 2017
boot.properties 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
pom.xml cleanup pom.xml Mar 2, 2018
project.clj 1.0.0-beta4 Jun 1, 2018

README.md

Om

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:

<dependency>
  <groupId>org.omcljs</groupId>
  <artifactId>om</artifactId>
  <version>1.0.0-beta1</version>
</dependency>

Example

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

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

(def hello (om/factory Hello))

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

Tutorials

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.

Documentation

There is documentation here

Contributing

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.

Community

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

References

Copyright and license

Copyright © 2013-2017 David Nolen

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