awesome-repositories.com
Blog
awesome-repositories.com

Entdecke die besten Open-Source-Repositories mit KI-gestützter Suche.

EntdeckenKuratierte SuchenOpen-Source-AlternativenSelf-hosted SoftwareBlogSitemap
ProjektÜber unsRanking-MethodikPresseMCP-Server
RechtlichesDatenschutzAGB
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
O

omcljs/om

0
View on GitHub↗
6,631 Stars·352 Forks·Clojure·2 Aufrufe

Om

Om is a frontend state management library and reactive user interface framework that integrates ClojureScript functional programming with the React virtual DOM rendering engine. It provides a bridge to build responsive web interfaces where visual elements automatically update when underlying application data changes.

The project centers on a normalized state store that flattens complex data structures into a relational format. This data is accessed through a reader-based querying system, which decouples the user interface from the state by allowing components to declare specific data requirements that are resolved through a centralized read function.

State is managed via atomic mutations and transactions, ensuring that global application state transitions trigger targeted re-renders of dependent components. The framework also covers client-server data synchronization, identity-based data resolution, and the ability to render components to strings for server-side content delivery.

Features

  • ClojureScript-React Bridges - Integrates ClojureScript functional programming models with the React rendering engine to build reactive user interfaces.
  • Reader-Based State Querying - Evaluates specific expressions to extract targeted pieces of application state using a dedicated reading function.
  • Frontend State Normalization - Flattens complex nested data structures into a relational format for efficient storage and retrieval within the application state.
  • Data Value Normalization - Flattens complex data structures into a relational format and reconstructs them into trees for the interface.
  • Expression-Based Data Querying - Evaluates specific expressions to extract targeted pieces of application state using a dedicated reading function.
  • Frontend State Management - Implements a centralized state management architecture for handling data flow and synchronization in the browser.
  • State Mutations - Implements atomic state mutations to ensure global application state transitions trigger targeted re-renders of dependent components.
  • Atomic State Mutations - Implements atomic state mutations to ensure global application state transitions trigger targeted re-renders of dependent components.
  • Store Normalization Architectures - Maintains application data in a flat map using unique identities to prevent duplication and simplify updates.
  • Declarative Data Fetching - Specifies the exact data a component needs and manages the parameters used to fetch those updates dynamically.
  • Functional Reactive Programming Frameworks - Combines functional programming patterns with a reactive rendering engine to automatically update the user interface.
  • Identity-Based Data Resolution - Transforms flat data structures into hierarchical trees by resolving references between entities during the rendering phase.
  • Reader-Based Querying - Decouples the user interface from state by allowing components to declare data requirements resolved through a centralized read function.
  • State-to-UI Mapping - Decouples state from the visual layer by transforming raw application state into formatted data for UI display.
  • Global State Managers - Stores shared data in a central location so any component can access it regardless of its position in the tree.
  • Reactive UI Frameworks - Provides a framework for building interfaces that automatically update their visual state in response to data changes.
  • UI Components - Enables the creation of reusable UI components that encapsulate their own data requirements and identity resolution.
  • Virtual DOM Reconciliation - Maps a functional component tree to a real document object model using a diffing engine to update only changed elements.
  • User Interface Frameworks - Provides a functional API for interacting with a virtual DOM to create responsive web user interfaces.
  • Client-Server State Synchronization - Manages the synchronization and coherence between remote server state and local client caches.
  • Transactional Updates - Applies a group of data changes as a single unit to trigger updates across all dependent interface elements.
  • Dynamic Query Parameterization - Allows the parameters of a data request to be changed during execution to update displayed information.
  • Functional Components - Combines pure functional declarations with stateful lifecycle methods to build a reactive user interface hierarchy.
  • Data Merging - Combines new data fragments into the current application state and signals all affected components to refresh.
  • Client-Server State Synchronization - Coordinates data requests and updates using a reconciliation process that aligns local state with remote data sources.
  • Component State Management - Provides methods for managing component-level data and scheduling visual refreshes.
  • React Interface - Powerful interface for building complex React-based applications.

Star-Verlauf

Star-Verlauf für omcljs/omStar-Verlauf für omcljs/om

KI-Suche

Entdecke weitere awesome Repositories

Beschreibe in einfachen Worten, was du brauchst — die KI bewertet tausende kuratierte Open-Source-Projekte nach Relevanz.

Start searching with AI

Häufig gestellte Fragen

Was macht omcljs/om?

Om is a frontend state management library and reactive user interface framework that integrates ClojureScript functional programming with the React virtual DOM rendering engine. It provides a bridge to build responsive web interfaces where visual elements automatically update when underlying application data changes.

Was sind die Hauptfunktionen von omcljs/om?

Die Hauptfunktionen von omcljs/om sind: ClojureScript-React Bridges, Reader-Based State Querying, Frontend State Normalization, Data Value Normalization, Expression-Based Data Querying, Frontend State Management, State Mutations, Atomic State Mutations.

Welche Open-Source-Alternativen gibt es zu omcljs/om?

Open-Source-Alternativen zu omcljs/om sind unter anderem: day8/re-frame — re-frame is a functional framework for building single-page applications in ClojureScript. It provides a centralized,… reagent-project/reagent — Reagent is a framework for building web user interfaces using ClojureScript and React.js. It enables a functional… facebook/react — React is a JavaScript library for building user interfaces based on a component-driven architecture and unidirectional… reactive/data-client — Data-client is an asynchronous state management library designed to synchronize server data with frontend… frejs/fre — This project is a concurrent UI library and virtual DOM framework. It functions as a state management system and… learnapollo/learnapollo — This project is an interactive learning resource and tutorial for implementing the Apollo GraphQL client. It provides…

Open-Source-Alternativen zu Om

Ähnliche Open-Source-Projekte, sortiert nach der Anzahl der gemeinsamen Funktionen mit Om.
  • day8/re-frameAvatar von day8

    day8/re-frame

    5,532Auf GitHub ansehen↗

    re-frame is a functional framework for building single-page applications in ClojureScript. It provides a centralized, immutable database that serves as the single source of truth for the entire application state, enforcing a strict unidirectional data flow where events trigger state transitions and subsequent view updates. The framework distinguishes itself through a reactive signal graph and an interceptor-based middleware pipeline. By treating application logic as a sequence of data-driven events and declarative side effects, it decouples business logic from the view layer. This architectur

    Clojureclojurescriptre-framereact
    Auf GitHub ansehen↗5,532
  • reagent-project/reagentAvatar von reagent-project

    reagent-project/reagent

    4,872Auf GitHub ansehen↗

    Reagent is a framework for building web user interfaces using ClojureScript and React.js. It enables a functional programming approach to declarative UI design, where HTML structures and component hierarchies are defined using vector-based Hiccup syntax instead of JSX. The project differentiates itself through a reactive state management system based on atoms. It tracks which components dereference specific state atoms to trigger automatic re-renders and provides state cursors to isolate updates to specific paths of a larger state atom. It also includes utilities for wrapping native JavaScrip

    Clojureclojureclojurescriptfrontend
    Auf GitHub ansehen↗4,872
  • facebook/reactAvatar von facebook

    facebook/react

    245,669Auf GitHub ansehen↗

    React is a JavaScript library for building user interfaces based on a component-driven architecture and unidirectional data flow.

    JavaScriptjavascriptuifrontend
    Auf GitHub ansehen↗245,669
  • reactive/data-clientAvatar von reactive

    reactive/data-client

    2,031Auf GitHub ansehen↗

    Data-client is an asynchronous state management library designed to synchronize server data with frontend applications. It functions as a normalized cache manager that maps complex API responses into structured, relational entities, ensuring data consistency across the entire application. By providing a unified communication layer, the library supports both REST and GraphQL, allowing developers to bind network data directly to user interface components through declarative hooks. The library distinguishes itself through a robust architecture for optimistic user interface development, where loc

    TypeScriptexpofetchhooks
    Auf GitHub ansehen↗2,031
Alle 30 Alternativen zu Om anzeigen→