Skip to content

omcljs/om

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
January 26, 2015 19:46
September 4, 2016 00:26
src
June 1, 2018 15:23
December 4, 2015 19:11
February 1, 2015 19:36
April 10, 2020 21:35
May 26, 2017 17:21
September 28, 2017 18:37
September 28, 2017 18:37
September 14, 2016 21:55
December 29, 2013 10:32
March 2, 2018 13:00
June 1, 2018 15:23

Om

NOTE: This project is no longer under active development. If you'd like to use a library that's well maintained that was inspired by some of the ideas presented here see Fulcro

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).