awesome-repositories.com
Blog
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectAboutHow we rankPressMCP server
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
jorgebucaran avatar

jorgebucaran/hyperapp

0
View on GitHub↗
19,211 stars·776 forks·JavaScript·MIT·4 views

Hyperapp

Hyperapp is a functional JavaScript framework for building hypertext applications. It centers on a state management library and a virtual DOM system that creates in-memory interface representations to apply efficient updates to the browser screen via diffing.

The framework avoids templates and JSX, instead utilizing function composition and dedicated tag wrappers to generate HTML structures and SVG elements. It implements a unidirectional data flow where a central state object is managed through transformation functions.

The system covers declarative UI rendering and functional web interfacing, bridging browser APIs and external events into the state loop. It includes mechanisms for asynchronous side effect execution, subscription-based event binding, and render performance optimizations that delay component updates until dependent data changes.

Features

  • Unidirectional State Management - Implements a strict unidirectional data flow where state updates are managed through pure functions.
  • Virtual DOM Engines - Uses a virtual DOM system to create in-memory interface representations and apply efficient updates to the browser screen.
  • Action-Based State Transitions - Utilizes a pure function to transform the application state based on dispatched action objects.
  • Asynchronous Action Handlers - Allows actions to return functions that execute asynchronous tasks and dispatch subsequent state updates.
  • Side Effect Handlers - Implements the Elm Architecture's pattern of returning side-effect handlers from actions to manage asynchronous operations.
  • Declarative UI Frameworks - Renders a declarative representation of the interface and applies efficient screen updates using a diffing algorithm.
  • Declarative UI Paradigms - Renders user interfaces where the visual state is described declaratively and automatically reconciled.
  • Functional Components - Builds user interfaces by composing pure functions that return declarative element descriptions.
  • Functional Tag Wrappers - Provides dedicated tag wrappers and function composition for generating HTML structures without the use of templates or JSX.
  • Virtual DOM Implementations - Maintains memory-based interface representations to optimize browser rendering performance.
  • Centralized State Management - Maintains a central state object managed through transformation functions that drive the user interface.
  • Lightweight UI Frameworks - A minimalist library for building interactive user interfaces with a central state and functional architecture.
  • State Management Libraries - Provides a central state object managed through transformation functions to determine the view.
  • Virtual DOM Diffing - Implements algorithms for calculating minimal updates between memory-based tree snapshots and the DOM.
  • Virtual DOM Reconciliation - Employs a virtual DOM to calculate minimal updates between state representations and the actual DOM.
  • Web Application Frameworks - A framework for building web interfaces using function composition and standard HTML elements.
  • Web API Integration - Provides a bridge for the application to interact with various browser APIs and external web services.
  • Event Dispatchers - Connects outside events to the application by routing them through a central state loop dispatcher.
  • Interface Event Subscriptions - Allows registering callbacks for external triggers, such as keyboard input, based on current state.
  • Functional Programming Interfaces - Bridges browser APIs and external events using functional programming interfaces and immutable transformations.
  • Rendering Optimizations - Implements mechanisms to reduce computation by delaying the rendering of interface components until their underlying data changes.
  • HTML View Composition - Generates user interfaces through function composition and conditional logic to dynamically compose the view based on state.
  • Browser API Wrappers - Ships specialized functional wrappers for interacting with browser features like URL history and DOM events.
  • State-Driven Event Subscriptions - Connects external browser events to the internal state loop via listeners that trigger actions.
  • Lightweight Web Frameworks - Provides a minimal JavaScript framework designed to reduce bundle size for fast, small-scale applications.
  • UI Frameworks - Declarative UI with immutable state and pure syntax.
  • Inspired By Elm - JavaScript library providing the Elm architecture.
  • Elm Inspired Projects - JavaScript library providing the Elm Architecture.

Star history

Star history chart for jorgebucaran/hyperappStar history chart for jorgebucaran/hyperapp

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Open-source alternatives to Hyperapp

Similar open-source projects, ranked by how many features they share with Hyperapp.
  • hyperapp/hyperapphyperapp avatar

    hyperapp/hyperapp

    19,211View on GitHub↗

    Hyperapp is a lightweight JavaScript framework for building web applications. It functions as a declarative state management system that synchronizes the user interface with a centralized application state. The framework utilizes a virtual DOM to render user interfaces and reconcile changes to the browser display. It employs a subscription model to synchronize external web APIs and asynchronous events with the global state. The system manages data through a single-state-tree architecture, where updates are handled via discrete actions and pure functions. This approach ensures that the view u

    JavaScript
    View on GitHub↗19,211
  • preactjs/preactpreactjs avatar

    preactjs/preact

    38,701View on GitHub↗

    Preact is a lightweight declarative user interface library designed for building high-performance web applications. It utilizes a component-based architecture where interfaces are defined as functional or class-based units, relying on a virtual DOM to perform efficient state reconciliation and updates. By prioritizing a minimal footprint, the library enables developers to create modular, predictable, and testable user interfaces while maintaining compatibility with standard browser APIs. The library distinguishes itself through a reactive state engine that leverages signals to track dependenc

    JavaScriptcomponentsdomjsx
    View on GitHub↗38,701
  • day8/re-frameday8 avatar

    day8/re-frame

    5,532View on GitHub↗

    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
    View on GitHub↗5,532
  • trueadm/infernotrueadm avatar

    trueadm/inferno

    16,420View on GitHub↗

    Inferno is an isomorphic JavaScript framework and virtual DOM UI library used for building user interfaces. It functions as a server-side rendering engine that converts virtual nodes into HTML strings for the server and hydrates them on the client to optimize initial load speeds and search engine indexing. The framework features a synthetic event system that provides a normalized interface for handling browser interactions consistently across different web environments. It employs a reactive UI model to synchronize state-driven updates and reactive streams with the browser document object mod

    JavaScript
    View on GitHub↗16,420
See all 30 alternatives to Hyperapp→

Frequently asked questions

What does jorgebucaran/hyperapp do?

Hyperapp is a functional JavaScript framework for building hypertext applications. It centers on a state management library and a virtual DOM system that creates in-memory interface representations to apply efficient updates to the browser screen via diffing.

What are the main features of jorgebucaran/hyperapp?

The main features of jorgebucaran/hyperapp are: Unidirectional State Management, Virtual DOM Engines, Action-Based State Transitions, Asynchronous Action Handlers, Side Effect Handlers, Declarative UI Frameworks, Declarative UI Paradigms, Functional Components.

What are some open-source alternatives to jorgebucaran/hyperapp?

Open-source alternatives to jorgebucaran/hyperapp include: hyperapp/hyperapp — Hyperapp is a lightweight JavaScript framework for building web applications. It functions as a declarative state… preactjs/preact — Preact is a lightweight declarative user interface library designed for building high-performance web applications. It… day8/re-frame — re-frame is a functional framework for building single-page applications in ClojureScript. It provides a centralized,… trueadm/inferno — Inferno is an isomorphic JavaScript framework and virtual DOM UI library used for building user interfaces. It… facebook/react — React is a JavaScript library for building user interfaces based on a component-driven architecture and unidirectional… reflux/refluxjs — Refluxjs is a state management library designed to implement a unidirectional dataflow architecture. It manages…