The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning. Learn more →
Top 23 virtual-dom Open-Source Projects
-
The official Preact documentation.
-
Hey HN! Founder of Million – We’re building a tool to that helps fix slow React code. Here is a quick demo: https://youtu.be/k-5jWgpRqlQ
Fixing web performance issues is hard. Every developer knows this experience: we insert console.log everywhere, catch some promising leads, but nothing happens before "time runs out." Eventually, the slow/buggy code never gets fixed, problems pile up on a backlog, and our end users are hurt.
We started Million to fix this. A VSCode extension that identifies slow code and suggests fixes (like ESLint, for performance!) The website is here: https://million.dev/blog/lint
I realized this was a problem when I tried to write an optimizing compiler for React in high school (src: https://github.com/aidenybai/million). It garnered a lot of interest (14K+ stars) and usage, but it didn't solve all user problems.
Traditionally, devtools either hinge on full static analysis OR runtime profiling. We found success in a mixture of the two with dynamic analysis. During compilation, we inject instrumentation where it's necessary. Here is an example:
function App({ start }) {
-
SurveyJS
Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App. With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.
-
Project mention: Ludic: New framework for Python with seamless Htmx support | news.ycombinator.com | 2024-03-21
The idea of nested function calls to build HTML is not new. Back in the hey-day of JS frameworks, this was a common vdom pattern. I kinda miss [MithrilJS](https://mithril.js.org/#dom-elements)
-
htm
Hyperscript Tagged Markup: JSX alternative using standard tagged templates, with compiler support.
The preact team also dislikes transpiling jsx so they've developed an alternative using tagged template literals: https://github.com/developit/htm
-
-
-
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
-
apprun
AppRun is a JavaScript library for developing high-performance and reliable web applications using the elm inspired architecture, events and components.
Project mention: Let's learn how modern JavaScript frameworks work by building one | news.ycombinator.com | 2023-12-03 -
-
diffhtml
diffHTML is a web framework that helps you build applications and other interactive content
diffhtml
-
-
Project mention: Mikado v0.8 has just published the fastest middleware render engine for Express | news.ycombinator.com | 2023-12-23
-
-
-
Looks like there are a couple of attempts but my google fu didn't really yield a winner.
https://github.com/while1malloc0/hotwire-go-example
if that's the case, there is definitely an opening on the market for such tech.
As someone who's been writing web apps since DHTML days, Livewire/Turbo feels like we've finally reached the future.
-
remark-react
Legacy plugin to transform to React — please use `remark-rehype` and `rehype-react` instead
github.com/remarkjs/remark-react/tree/4722bdf - Plugin para transformar Markdown em React.
-
-
torus
Torus is an event-driven model-view UI framework for the web, focused on being tiny, efficient, and free of dependencies. (by thesephist)
-
Project mention: Web Components Will Outlive Your JavaScript Framework | news.ycombinator.com | 2023-10-25
Webcomponents will outlive React 13, mostly likely. Will they outlive React entirely or its cousins like Solid and Svelte? Perhaps not.
Webcomponents and React look like they solve the same problem but they do not.
Webcomponent api is pretty shallow. You get connected/disconnnected/attributeChanged call back but gotta write your own property setter and getters, and that’s mostly it. Shadow dom becomes a pain to work with if something needs to pierce it. Can’t pass nested objects in attributes, gotta encode as string.
Mixpanel went all in on webcomponents, but had to build a whole bunch of lib tooling around it. They made their own framework on top of webcomponents. https://github.com/mixpanel/panel
Worked on panel lib and webcomponent UI for many years. It is not a silver bullet.
The issue with webcomponents is there are a ton of libraries that fill in the missing gaps. There’s not a lot you can do with pure vanilla webcomponent api since browsers don’t provide efficient dom updating mechanism. Google has their own thing, Microsoft had multiple internal libs across orgs, Reddit does their own thing.
The most standard thing for frontend with wide adoption right now is React.
So the way I see it, is that React has already outlived webcomponents.
-
-
-
CalDOM
An agnostic, reactive & minimalist (3kb) JavaScript UI library with direct access to native DOM.
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
virtual-dom related posts
- HTML Streaming and DOM Diffing Algorithm
- Preact: Lightweight React Alternative
- React Jam just started, making a game in 13 days with React
- VanJS: A 0.9KB JavaScript UI framework
- Have You Built with Preact?
- React SSR web-server from scratch
- How to Fetch a Turbo Stream
-
A note from our sponsor - WorkOS
workos.com | 28 Mar 2024
Index
What are some of the best open-source virtual-dom projects? This list will help you:
Project | Stars | |
---|---|---|
1 | Preact | 35,928 |
2 | million | 14,989 |
3 | Mithril.js | 13,833 |
4 | htm | 8,532 |
5 | asm-dom | 2,773 |
6 | neo | 2,742 |
7 | percy | 2,230 |
8 | miso | 2,128 |
9 | apprun | 1,174 |
10 | hyperx | 1,007 |
11 | diffhtml | 864 |
12 | vhtml | 755 |
13 | mikado | 728 |
14 | lowlight | 677 |
15 | refractor | 662 |
16 | live | 607 |
17 | remark-react | 524 |
18 | hundred | 425 |
19 | torus | 311 |
20 | panel | 271 |
21 | preact-worker-demo | 222 |
22 | virtual-dom | 206 |
23 | CalDOM | 186 |