Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. ClojureScript
  3. Om

Om

Clojure

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

GitHubGitHub
6.6k stars353 forks0 contributors

What is Om?

Om is a ClojureScript UI framework and client/server architecture built on top of Facebook's React. It provides developers with tools to create web applications that are inherently snapshotable and undoable, while simplifying the complexity of managing state between client and server. The framework integrates concepts from Relay, Falcor, and Datomic to offer a cohesive approach to building modern web interfaces.

Target Audience

ClojureScript developers building React-based web applications who need advanced state management and undo/snapshot capabilities. It's particularly suited for teams looking to leverage functional programming paradigms in their frontend architecture.

Value Proposition

Developers choose Om for its built-in snapshotting and undo features that require minimal implementation effort, and its innovative approach to client/server state management that reduces incidental complexity. It combines the power of React with ClojureScript's functional programming strengths.

Overview

ClojureScript interface to Facebook's React

Use Cases

Best For

  • Building snapshotable web applications with undo functionality
  • Managing complex client/server state in ClojureScript apps
  • Creating React interfaces with functional programming patterns
  • Developing web applications that require robust state management
  • Teams transitioning from JavaScript to ClojureScript for frontend development
  • Projects needing integrated client/server architecture solutions

Not Ideal For

  • Projects requiring active maintenance and regular updates from the library maintainers
  • Teams not using ClojureScript or unwilling to adopt functional programming paradigms
  • Simple applications where the overhead of Om's client/server architecture is unnecessary
  • Developers seeking a large, active ecosystem with extensive third-party tooling

Pros & Cons

Pros

Built-in Snapshotting

Om applications support snapshotting operations out of the box with minimal implementation overhead, as stated in the README, enabling easy state capture and restoration.

Seamless Undo Functionality

Provides undo capabilities for UI state changes without significant complexity, enhancing user experience and reducing development effort for history features.

Unified Client/Server State

Integrates ideas from Relay, Falcor, and Datomic pull syntax to simplify client/server state management, reducing incidental complexity in data flow.

Functional React Integration

Leverages React for UI building while using ClojureScript's functional programming strengths, offering a robust framework for scalable applications.

Cons

Inactive Project Status

The README explicitly notes that Om is no longer under active development, meaning no updates, bug fixes, or official support from the maintainers.

Steep Learning Curve

Requires familiarity with ClojureScript, React, and advanced state management concepts, making it challenging for developers new to functional programming.

Limited Ecosystem and Support

As an inactive project, it lacks modern third-party libraries, tools, and community resources compared to active alternatives like Fulcro.

Frequently Asked Questions

Quick Stats

Stars6,632
Forks353
Contributors0
Open Issues67
Last commit5 years ago
CreatedSince 2013

Tags

#functional-programming#clojurescript#client-server#frontend#ui-framework#web-development#react#state-management

Built With

R
React
C
ClojureScript

Included in

ClojureScript1.1k
Auto-fetched 1 day ago

Related Projects

RumRum

Simple, decomplected, isomorphic HTML UI library for Clojure and ClojureScript

Stars1,823
Forks127
Last commit1 year ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub