Repolode
solidjs

solidjs/solid

A declarative JavaScript UI library that compiles JSX to real DOM updates with fine-grained reactivity instead of a Virtual DOM.

Stars
36,172
Forks
1,136
Open issues
36
Last commit
yesterday

What is it?

Solid is a JavaScript library for building user interfaces. Instead of a Virtual DOM, its JSX templates compile to real DOM nodes, and state changes update only the expressions that depend on them. Components are plain functions that run once to set up the view, while signals, derived values and effects handle the rest.

The library includes built-in primitives for global state through Context and Stores, plus Resources, Suspense and concurrent rendering for loading server data. It also supports server-side rendering with streaming and progressive hydration, as well as Error Boundaries and Portals. Custom renderers are possible, so Solid can target environments beyond the browser.

Solid is built on JSX and TypeScript and integrates with Vite. It is designed for direct DOM access, so existing native JavaScript libraries such as D3 can be used alongside it. Browser support covers the last two years of modern desktop and mobile browsers.

Key features

  • 01Compiles JSX templates to real DOM nodes with fine-grained updates
  • 02Automatic dependency tracking through reactive signals and derived values
  • 03Built-in Context and Stores for managing global state
  • 04Resources, Suspense and concurrent rendering for async data
  • 05Server-side rendering with streaming and progressive hydration
  • 06Supports custom elements and custom renderers

Use cases

  • Building client-rendered single-page applications with fine-grained reactivity
  • Server-rendered web apps that need streaming and progressive hydration
  • Writing reusable web components or custom elements
  • Integrating existing native JavaScript libraries such as D3 with direct DOM access

Quick start

  1. 1

    Scaffold a JavaScript app with degit

    npx degit solidjs/templates/js my-app
  2. 2

    Enter the project folder

    cd my-app
  3. 3

    Install dependencies

    npm i
  4. 4

    Start the development server

    npm run dev

Topics

FAQ

What is solid?
A declarative JavaScript UI library that compiles JSX to real DOM updates with fine-grained reactivity instead of a Virtual DOM. Solid is a JavaScript library for building user interfaces. Instead of a Virtual DOM, its JSX templates compile to real DOM nodes, and state changes update only the expressions that depend on them. Components are plain functions that run once to set up the view, while signals, derived values and effects handle the rest.
Is solid free to use? What license does it have?
solid is open source under the MIT license. Check the license terms before using it in commercial products.
Is solid still maintained?
Actively maintained. The last commit to solid was on Oct 24, 2026.
What can I use solid for?
Building client-rendered single-page applications with fine-grained reactivity Server-rendered web apps that need streaming and progressive hydration Writing reusable web components or custom elements Integrating existing native JavaScript libraries such as D3 with direct DOM access
How do I install solid?
Scaffold a JavaScript app with degit: npx degit solidjs/templates/js my-app Enter the project folder: cd my-app Install dependencies: npm i Start the development server: npm run dev
Where can I get solid?
The source code and installation instructions are on GitHub: https://github.com/solidjs/solid

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects