Reactivity Without Virtual DOM

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

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.
surveyjs.io
featured
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.
www.influxdata.com
featured
  • Cample.js

    One of the fastest frameworks without a virtual DOM on the Internet!

  • solid-site

    Code that powers the SolidJS.com platform.

  • Things like Solid (https://www.solidjs.com/) also have no virtual DOM, and the improves are in higher ceiling for performance, lower memory usage, simpler DX (components are not re-executed, there aren't any dependency arrays everywhere), easy high performance (no useRef this and useRef that to make things fast, no useCallback, no React.memo, these things are just obsolete).

  • 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.

    SurveyJS logo
  • react-fiber-architecture

    A description of React's new core algorithm, React Fiber

  • Can someone remind me why virtual DOM was/is desirable in the first place and why updating the DOM directly is desirable now?

    If I understand correctly react elements are created in memory, and only upon "render" it is turned into the actual DOM. Supposedly manipulating the actual DOM is "heavy" hence delay/pruning the virtual DOM tree first then rendering would be beneficial? Then why is it working with DOM directly is desirable? And am I right to assume that "without virtual DOM" means work with DOM directly? Someone in the comment mention that Svelte is without vDOM already. Is there some design document that I can refer to, like the reconciliation engine used in react https://github.com/acdlite/react-fiber-architecture

  • voby

    A high-performance framework with fine-grained observable-based reactivity for building rich applications.

  • By and large having no VDOM frees you from having to structure things in an unergonomic way, for performance or otherwise, whatever limitations Svelte and Solid have in this regard are self-inflicted. For example my framework allows you to destructure props just fine, still no VDOM (https://github.com/vobyjs/voby).

  • dioxus

    Fullstack GUI library for web, desktop, mobile, and more.

  • While virtual DOM solution has problems, I believe Dioxus https://dioxuslabs.com/ can be a better solution than Solid/Svelte solutions. We should try to optimize it with macros and other memory techniques to make it fast, rather than giving it up.

    People may hold opinion that Solid/Svelte are excellent. However that's going towards another direction. Virtual DOM decouples how you declare UI and how it's rendered/updated by framework. Solid/Svelte couple them.

  • 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.

    InfluxDB logo
NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • Pick a Front End Web Framework

    2 projects | /r/rust | 22 Aug 2022
  • Using Pavex for Rust web development

    1 project | dev.to | 15 May 2024
  • Show HN: Hyperdiv – Reactive, immediate-mode web UI framework for Python

    9 projects | news.ycombinator.com | 20 Feb 2024
  • 'Viz' – ergonomic and low footprint web framework for Rust

    1 project | news.ycombinator.com | 12 Jan 2024
  • A guide to getting started with Axum - 0.7 changes included

    1 project | /r/rust | 6 Dec 2023