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
pomber avatar

pomber/didact

0
View on GitHub↗
pomb.us/build-your-own-react↗

Didact

Didact is a virtual DOM UI framework and functional component library. It utilizes a concurrent rendering engine and a fiber-based reconciliation library to synchronize a visual interface with data changes.

The framework implements a concurrent rendering engine that breaks rendering work into resumable chunks. This prevents long-running tasks from blocking the main browser thread by dividing interface updates into small units of work.

The system covers virtual DOM implementation and fiber architecture, using a linked-list fiber tree to track element relationships. It manages function component execution, hook-based state persistence, and a two-phase commit process that separates the calculation of UI changes from physical DOM mutations.

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

Features

  • Concurrent UI Frameworks - Implements a concurrent UI framework designed for asynchronous rendering and prioritized task scheduling.
  • Render-Time State Hooks - Provides hooks to attach reusable state and side-effect logic to functional components during rendering.
  • Fiber Tree Reconciliation - Implements fiber-based diffing algorithms to determine minimal UI updates during incremental rendering.
  • Fiber Tree Structures - Manages fiber tree relationships using a linked list of units to ensure efficient traversal of the work tree.
  • DOM Rendering Engines - Implements a DOM rendering engine for mounting and updating virtual elements into the browser DOM.
  • Functional Components - Utilizes functional components defined as pure functions that return visual structures based on properties.
  • Element Descriptors - Implements the transformation of types and properties into descriptor objects to build the virtual tree.
  • Virtual DOM Engines - Ships a virtual DOM engine that manages UI updates through the reconciliation of virtual element trees.
  • Virtual DOM Implementations - Implements a virtual DOM system that maintains memory-based representations to optimize rendering performance.
  • Concurrent Rendering Engines - Features a concurrent rendering engine that prioritizes tasks and breaks work into chunks to maintain responsiveness.
  • Component Local States - Manages ephemeral component local states to trigger precise re-renders of individual UI elements.
  • Frontend Frameworks - Provides a foundation for building interactive web-based user interfaces using a functional component model.
  • Virtual DOM Diffing - Uses virtual DOM diffing algorithms to calculate minimal changes between two virtual trees and synchronize the DOM.
  • Rendering Schedulers - Provides a rendering scheduler that divides work into small units to avoid blocking the main browser thread.
  • UI Component Execution - Executes function components to determine returned elements and integrate them into the virtual tree.
  • Recursive Tree Traversal Algorithms - Utilizes recursive tree traversal algorithms to walk the virtual element hierarchy and determine necessary updates.
  • Rendering Phase Coordination - Coordinates rendering phases to separate measurement and mutation, preventing users from seeing incomplete interface updates.
  • UI Commit Phases - Implements a two-phase process that separates UI change calculation from physical DOM mutations to prevent incomplete updates.
  • Incremental Reconciliation - Implements incremental reconciliation to update only modified branches of the tree during data edits.
  • Tree Reconciliation Algorithms - Uses tree reconciliation algorithms to compare virtual node trees and determine the minimal set of changes.
  • Frontend Frameworks - Listed in the “Frontend Frameworks” section of the Build Your Own X awesome list.
6,752 stars·547 forks·JavaScript·30 views

Star history

Star history chart for pomber/didactStar history chart for pomber/didact

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.

Frequently asked questions

What does pomber/didact do?

Didact is a virtual DOM UI framework and functional component library. It utilizes a concurrent rendering engine and a fiber-based reconciliation library to synchronize a visual interface with data changes.

What are the main features of pomber/didact?

The main features of pomber/didact are: Concurrent UI Frameworks, Render-Time State Hooks, Fiber Tree Reconciliation, Fiber Tree Structures, DOM Rendering Engines, Functional Components, Element Descriptors, Virtual DOM Engines.

Which projects share features with pomber/didact?

Projects with overlapping indexed features include: hexacta/didact — Didact is a virtual DOM UI framework and a technical implementation guide for building component-based libraries from… trueadm/inferno — Inferno is an isomorphic JavaScript framework and virtual DOM UI library used for building user interfaces. It… 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… developit/preact — Preact is a declarative UI library and a lightweight alternative to React for building user interfaces. It utilizes a… jorgebucaran/hyperapp — Hyperapp is a functional JavaScript framework for building hypertext applications. It centers on a state management…

Projects sharing features with Didact

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

    hexacta/didact

    6,752View on GitHub↗

    Didact is a virtual DOM UI framework and a technical implementation guide for building component-based libraries from scratch. It functions as a concurrent rendering engine that divides interface updates into small units of work to maintain main-thread responsiveness. The project features a fiber-based renderer and a hook-based state manager that utilizes linked-list storage to preserve data across render cycles. It employs a double-buffered render tree to calculate updates before committing them to the user interface. The framework covers recursive DOM mounting to transform virtual elements

    JavaScript
    View on GitHub↗6,752
  • 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
  • reagent-project/reagentreagent-project avatar

    reagent-project/reagent

    4,872View on GitHub↗

    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
    View on GitHub↗4,872
  • facebook/reactfacebook avatar

    facebook/react

    245,669View on GitHub↗

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

    JavaScriptjavascriptuifrontend
    View on GitHub↗245,669
Compare all 30 related projects→