An ultra-lightweight, zero-dependency reactive UI framework based on pure vanilla JavaScript and DOM.
VanJS is an ultra-lightweight, zero-dependency reactive UI framework built with pure vanilla JavaScript and DOM. It allows developers to build declarative, component-based user interfaces with state management and reactivity, similar to React, but without the need for JSX, virtual DOM, or complex build tools. It solves the problem of framework bloat by providing essential UI capabilities in a minimal 1.0kB package.
Frontend developers seeking a minimal, dependency-free framework for building reactive UIs, especially those who value simplicity, performance, and quick prototyping without toolchain overhead.
Developers choose VanJS for its extreme minimalism (1.0kB), zero-dependency design, and straightforward API that eliminates build tool complexity. It offers React-like reactivity and component patterns while being significantly smaller and easier to integrate into any project.
🍦 VanJS: World's smallest reactive UI framework. Incredibly Powerful, Insanely Small - Everyone can build a useful UI app in an hour.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
At just 1.0kB gzipped, VanJS is the smallest reactive UI framework, drastically reducing initial load times and bandwidth usage, as highlighted in the README's size comparison chart.
No installation or build tools are required; you can start coding directly in the browser with a simple script tag, making it ideal for quick prototyping and embedding, as emphasized in the 'Grab 'n Go' philosophy.
With only five main functions (van.tags, van.add, van.state, van.derive, van.hydrate), the learning curve is minimal, and the entire tutorial fits on a single webpage for rapid onboarding.
Benchmarks from krausest/js-framework-benchmark rank VanJS among the fastest web frameworks, and its server-side rendering via Mini-Van is up to 2.25x more efficient than React, as noted in the performance section.
Core VanJS lacks essential features like routing and global state management, forcing reliance on community add-ons (e.g., VanX for state), which may vary in quality and maintenance, as admitted in the extensions list.
While community add-ons exist, the ecosystem is not as robust or battle-tested as those of React or Vue, potentially leading to integration challenges and limited pre-built component libraries.
Developers accustomed to JSX's declarative syntax might find VanJS's function-based composition less intuitive, requiring a mental shift, though add-ons like van-jsx offer workarounds.
van is an open-source alternative to the following products: