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.
Latest release: 1.0.0-beta1
Maven dependency information:
<dependency> <groupId>org.omcljs</groupId> <artifactId>om</artifactId> <version>1.0.0-beta1</version> </dependency>
(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"))
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.
- Worlds: Controlling the Scope of Side Effects
- A Functional I/O System
- Directness and Liveness in the Morphic User Interface Construction Environment
- Learnable Programming
- Datomic pull syntax
Copyright and license
Copyright © 2013-2017 David Nolen
Licensed under the EPL (see the file epl.html).