Installation | API | Examples | Migration Guide
Note: This branch is the upcoming version 1.0. It's a rewrite from the ground up and it's not backwards compatible with Mithril 0.2.x. You can find preliminary documentation here and migration guide here
This rewrite aims to fix longstanding API design issues, significantly improve performance, and clean up the codebase.
You can install this via NPM using this command:
npm install mithril@rewrite
Examples run out of the box. Just open the HTML files.
The code is fairly stable and I'm using it in production, but there may be bugs still lurking.
Some examples of usage can be found in the examples folder. ThreadItJS has the largest API surface coverage.
Partial documentation can be found in the /docs
directory
Mithril's virtual DOM engine is around 500 lines of well organized code and it implements a modern search space reduction diff algorithm and a DOM recycling mechanism, which translate to top-of-class performance. See the dbmon implementation (for comparison, here are dbmon implementations for React v15.3.2, Angular v2.0.0-beta.17 and Vue 2. All implementations are naive (i.e. apples-to-apples, no optimizations)
There are over 4000 assertions in the test suite, and tests cover even difficult-to-test things like location.href
, element.innerHTML
and XMLHttpRequest
usage.
Despite the huge improvements in performance and modularity, the new codebase is smaller than v0.2.x, currently clocking at 7.46 KB min+gzip
In addition, Mithril is now completely modular: you can import only the modules that you need and easily integrate 3rd party modules if you wish to use a different library for routing, ajax, and even rendering