awesome-repositories.com
Blog
MCP
awesome-repositories.com

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

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
lhorie avatar

lhorie/mithril.js

0
View on GitHub↗
14,490 stars·922 forks·JavaScript·MIT·39 viewsmithril.js.org↗

Mithril.js

Mithril.js is a JavaScript framework for building single page applications. It functions as a virtual DOM library and reactive UI framework, providing a system to synchronize application state with visual elements to ensure interfaces update instantly.

The toolkit includes a built-in client side router that maps browser URL paths to specific components without reloading the page. It also features an integrated HTTP request client for performing asynchronous network calls to remote APIs for data retrieval and transmission.

The framework covers broad capabilities for frontend development, including reactive state management, interactive user interface design, and virtual DOM state synchronization.

Features

  • Single Page Applications - Functions as a framework for building web applications that load a single document and update content dynamically.
  • Virtual DOM Reconciliation - Optimizes browser updates by calculating the minimal difference between two virtual DOM trees.
  • Promise-Based HTTP Clients - Includes a built-in HTTP client that returns promises to handle asynchronous network requests.
  • Dispatch Table Patterns - Uses a configuration table to dispatch URL paths to the corresponding component constructors.
  • HTML Element Bindings - Creates virtual nodes through a lightweight hyperscript function mapping objects to HTML elements.
  • Navigation Routing - Manages application navigation paths to swap visible content dynamically on the client side.
  • Reactive State Management - Provides a system for automatically synchronizing UI elements with underlying data state.
  • Reactive State Managers - Synchronizes application data across components via an automatic redraw and change tracking system.
  • Reactive UI Frameworks - Offers a framework for building interfaces that automatically update based on state changes.
  • Reactive User Interfaces - Implements interfaces that automatically synchronize their visual state with asynchronous data streams and user input.
  • View-to-URL Mapping - Maps application views to URL paths to manage navigation without reloading the page.
  • User Interface Frameworks - Offers a comprehensive framework for composing interactive pages that link data states to visual elements.
  • Virtual DOM Engines - Implements a virtual DOM engine that manages UI updates through the reconciliation of virtual element trees.
  • Asynchronous API Clients - Integrates asynchronous API clients to exchange data between the web client and remote servers.
  • Client-side Routing - Implements a client-side routing system for managing navigation and view transitions in SPAs.
  • HTTP Clients - Ships an integrated HTTP request client for performing asynchronous network calls to remote APIs.
  • Hyperscript Document Construction - Utilizes a hyperscript-style function to generate virtual DOM nodes from JavaScript objects.
  • JavaScript SPA Frameworks - Provides a complete toolkit for building single-page applications using a virtual DOM.
  • Remote Data Fetching - Provides utilities for retrieving and parsing data from remote network resources asynchronously.
  • Routing Configurations - Provides a central routing table to map URL patterns to component constructors for client-side navigation.
  • Virtual DOM Reconciliation - Optimizes browser DOM updates by minimizing direct manipulation through virtual DOM reconciliation.
  • Closure-Based State Encapsulations - Uses function closures to encapsulate component state and manage setup and teardown lifecycles.
  • Dirty Checking Mechanisms - Implements an automatic redraw system based on dirty-checking to synchronize the virtual DOM with application state.
  • Interactive Interface Design - Enables the design of interactive interfaces where visual elements update instantly in response to state changes.
  • Automatic Redraw Integration - Triggers the automatic redraw cycle immediately upon the resolution of asynchronous network promises.
  • Client-Side Routers - Includes a built-in router for managing navigation and mapping URL paths to specific components.
  • HTTP Request Clients - Ships an integrated HTTP request client for performing asynchronous network calls to remote APIs.
  • Frontend Frameworks - Lightweight MVC framework with high performance.
  • MVC Frameworks - Lightweight, powerful client-side MVC framework.
  • Web Frameworks - Mithril is a client-side MVC framework (Light-weight, Robust, Fast).

Star history

Star history chart for lhorie/mithril.jsStar history chart for lhorie/mithril.js

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

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

Projects sharing features with Mithril.js

These projects share indexed features with Mithril.js. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • vuejs/vuevuejs avatar

    vuejs/vue

    209,900View on GitHub↗

    Vue is a progressive, component-based JavaScript framework designed for building reactive user interfaces and single-page applications. It centers on a declarative template system that transforms HTML into efficient render functions, allowing developers to organize complex interfaces into isolated, reusable units that synchronize automatically with application state. The framework distinguishes itself through a dependency-tracking reactivity system that monitors data access during rendering to trigger precise updates. It provides a flexible architecture that supports both incremental adoption

    TypeScriptframeworkfrontendjavascript
    View on GitHub↗209,900
  • infernojs/infernoinfernojs avatar

    infernojs/inferno

    16,420View on GitHub↗

    Inferno is a virtual DOM UI library and high-performance DOM renderer used for building component-based user interfaces. It functions as a server-side rendering engine and a client-side framework that synchronizes application state with the visual interface through a declarative structure. The project distinguishes itself as a React-compatible UI framework, providing a compatibility layer that allows components designed for other reactive environments to run without modification. Its capability surface covers virtual DOM management, including node diffing and reconciliation, and a full serve

    JavaScript
    View on GitHub↗16,420
  • mithriljs/mithril.jsMithrilJS avatar

    MithrilJS/mithril.js

    14,494View on GitHub↗

    Mithril.js is a JavaScript UI framework designed for building single page applications. It functions as a virtual DOM library and a toolkit for creating dynamic user interfaces that synchronize application state with the browser display. The project integrates a client side router for mapping URLs to specific views and a built-in XHR data fetcher for sending and receiving information from servers. These components allow for navigation and content updates without requiring full page reloads. The framework covers user interface state management and asynchronous data fetching, utilizing virtual

    JavaScript
    View on GitHub↗14,494
  • emberjs/ember.jsemberjs avatar

    emberjs/ember.js

    22,566View on GitHub↗

    Ember.js is a structured JavaScript web framework designed for building scalable web applications. It utilizes a Model-View-Controller architectural pattern and incorporates a component-based UI library, a dependency injection framework, and a client-side routing engine. The framework distinguishes itself through a centralized registry for passing shared services across components and routes, alongside a routing system that maps URLs directly to templates and data models to manage navigation. Its broader capabilities include reactive state synchronization and computation memoization for UI p

    TypeScript
    View on GitHub↗22,566
Compare all 30 related projects→

Frequently asked questions

What does lhorie/mithril.js do?

Mithril.js is a JavaScript framework for building single page applications. It functions as a virtual DOM library and reactive UI framework, providing a system to synchronize application state with visual elements to ensure interfaces update instantly.

What are the main features of lhorie/mithril.js?

The main features of lhorie/mithril.js are: Single Page Applications, Virtual DOM Reconciliation, Promise-Based HTTP Clients, Dispatch Table Patterns, HTML Element Bindings, Navigation Routing, Reactive State Management, Reactive State Managers.

Which projects share features with lhorie/mithril.js?

Projects with overlapping indexed features include: vuejs/vue — Vue is a progressive, component-based JavaScript framework designed for building reactive user interfaces and… infernojs/inferno — Inferno is a virtual DOM UI library and high-performance DOM renderer used for building component-based user… mithriljs/mithril.js — Mithril.js is a JavaScript UI framework designed for building single page applications. It functions as a virtual DOM… emberjs/ember.js — Ember.js is a structured JavaScript web framework designed for building scalable web applications. It utilizes a… developit/preact — Preact is a declarative UI library and a lightweight alternative to React for building user interfaces. It utilizes a… trueadm/inferno — Inferno is an isomorphic JavaScript framework and virtual DOM UI library used for building user interfaces. It…