What is Million?
Million makes creating user interfaces as easy as React, but with faster performance and smaller bundle size for the end user. By computing the user interface beforehand with a compiler, Million reduces the overhead of traditional Virtual DOM.
Okay cool... but why should I use Million if I can just use Preact if I need something a bit more lightweight?
While alternative libraries like Preact reduce bundle sizes by efficient code design, Million takes it a step further by leveraging compilation to make a quantum leap in improving bundle size and render speed.
Note: Million now supports experimental React compatibility.
Inside your project directory, run the following command:
npm install million
This repo is a "mono-repo" with modules. Million ships as one NPM package, but has first class modules for more complex, but important extensions. Each module has its own folder in the
| ||The main Virtual DOM with all of Million's core.|
| ||A module that gives React compatibility for Million.|
| ||A module that enables SPA routing for MPAs.|
| ||A module that provides JSX runtime utilities|
| ||A module that provides factory functions and tagged template for easier virtual node creation (JSX alternative)|
| ||A module for morphing HTML with just DOM nodes (like morphdom) inside the page. Works great for implementing hot refresh in SSR frameworks|
| ||A module that provides conversion utilities for virtual nodes, DOM nodes, and HTML strings|
| ||A Vite plugin that optimizes virtual node tree ("the compiler")|
Resources & Contributing Back
Looking for the docs? Check the documentation out.
Want to talk to the community? Hop in our Discord and share your ideas and what you've build with Million.
Find a bug? Head over to our issue tracker and we'll do our best to help. We love pull requests, too!
We expect all Million contributors to abide by the terms of our Code of Conduct.
Want your logo here? → Sponsor Million