Stream helps developers build engaging apps that scale to millions with performant and flexible Chat, Feeds, Moderation, and Video APIs and SDKs powered by a global edge network and enterprise-grade infrastructure. Learn more →
Top 21 JavaScript virtual-dom Projects
- Project mention: Designing for KaiOS - Leveraging Kiro to build an app for the next billion mobile users | dev.to | 2025-12-03
Tree-shaking unused Preact features
-
SurveyJS
SurveyJS: Build JSON-Driven Surveys and Forms with Full Data Control. Add the SurveyJS UI components to your JS app (React/Angular/Vue3). Securely collect and analyze data without sending it to 3rd-party servers. Fully customizable, works with any backend, and ideal for data-heavy apps. Learn more.
- Project mention: I Switched from Flutter and Rust to Rust and Egui | news.ycombinator.com | 2025-06-27
I really like Mithril.js (https://mithril.js.org/), which is, IMO, as close as it gets to web IMGUI. It looks a lot like React, but rendering happens manually, either on each event or with a manual m.redraw() call.
-
htm
Hyperscript Tagged Markup: JSX alternative using standard tagged templates, with compiler support.
Project mention: Comptime.ts: compile-time expressions for TypeScript | news.ycombinator.com | 2025-08-06```
Where the `template!` macro instructs the engine how to translate the tokens into their JavaScript syntax and the `#[reactive]` macro converts the class member into a getter/setter that triggers a re-render calculation.
It would need to be adopted by TC39 of course and the expectation would be that, if provided at runtime, a JavaScript engine could handle the preprocessing however transpilers should be able to pre-compute the outputs so they don't need to be evaluated at runtime.
We sort of get around this today using template literals and eval, but it's janky. https://github.com/developit/htm
-
neo
Neo.mjs: The first Agent Operating System for the web. A standalone, type-safe AI SDK combined with a multi-threaded, zero-build platform for building autonomous agents and desktop-class web apps. (by neomjs)
-
-
-
diffhtml
diffHTML is a web framework that helps you build applications and other interactive content
Project mention: Show HN: I made a better DOM morphing algorithm | news.ycombinator.com | 2025-11-15 -
InfluxDB
InfluxDB – Built for High-Performance Time Series Workloads. InfluxDB 3 OSS is now GA. Transform, enrich, and act on time series data directly in the database. Automate critical tasks and eliminate the need to move data externally. Download now.
-
-
-
-
torus
Torus is an event-driven model-view UI framework for the web, focused on being tiny, efficient, and free of dependencies. (by thesephist)
-
-
-
-
CalDOM
An agnostic, reactive & minimalist (3kb) JavaScript UI library with direct access to native DOM.
-
-
-
-
-
safir
Lightweight JavaScript framework based on Template Literals vs CustomEvents features. Virtual DOM basic structure.
-
-
Stream
Stream - Scalable APIs for Chat, Feeds, Moderation, & Video. Stream helps developers build engaging apps that scale to millions with performant and flexible Chat, Feeds, Moderation, and Video APIs and SDKs powered by a global edge network and enterprise-grade infrastructure.
JavaScript virtual-dom discussion
JavaScript virtual-dom related posts
-
Show HN: I made a better DOM morphing algorithm
-
Shopify App: October 2025 Updates
-
Spin up Bun + Preact full-stack app in minutes 🚀
-
Comptime.ts: compile-time expressions for TypeScript
-
Mithril.js: small (8.96 KB gzipped) modern client-side JavaScript framework
-
sizereport.config.js in Preact source code.s
-
Preact
- A note from our sponsor - Stream getstream.io | 23 Dec 2025
Index
What are some of the best open-source virtual-dom projects in JavaScript? This list will help you:
| # | Project | Stars |
|---|---|---|
| 1 | Preact | 38,222 |
| 2 | Mithril.js | 14,616 |
| 3 | htm | 8,954 |
| 4 | neo | 3,107 |
| 5 | hyperx | 1,015 |
| 6 | lowlight | 893 |
| 7 | diffhtml | 871 |
| 8 | mikado | 838 |
| 9 | refractor | 829 |
| 10 | vhtml | 808 |
| 11 | torus | 340 |
| 12 | panel | 276 |
| 13 | preact-worker-demo | 229 |
| 14 | virtual-dom | 213 |
| 15 | CalDOM | 190 |
| 16 | svg-radar-chart | 90 |
| 17 | Sekoia | 34 |
| 18 | tint | 9 |
| 19 | kReact | 6 |
| 20 | safir | 4 |
| 21 | fiddlehead | 2 |