Pulsor — an all-in-one UI rendering + state management solution in a tiny, ~3kb, “self rendering” virtual dom.
Build modern web applications with just the features you need. Pulsor aims to be a more productive simplification of React + Redux by implementing the state management directly in the VDOM event system. This approach allows us to design a much more declarative, simpler and symetrical API for managing application state - all in a tiny, lightweight runtime.
We believe that any UI and it's interactions can be defined as a simple, strongly typed, nested data structure (functions allowed). Here's what we have so far :
Render UI elements declaratively.
Update the state & run side-effects declaratively.
We also believe that UI packages should manage their own state for you, in a standard, unified way that is by default inter-compatible with your application and easily composable with other packages.
Vite-based development environment for building pulsor apps.
Virtual DOM unleashed
Stateful form handling primitives for pulsor
HTML / VNode convertion utilities for pulsor
Fetching utility for pulsor
Routing utilities for pulsor
The project is still in an experimental (design) phase, with it's main goal being to try to design the best “API” for defining any frontend app with less code and more fun. Let's take the time to explore as many different ways do it and iteratively land on the most concise solution, or die trying!