What are some alternatives?
When comparing CanJS and lhorie.github.io mithril, you can also consider the following products
Vue.js - Reactive Components for Modern Web Interfaces
Polymer - Polymer is a library that uses the latest web technologies to let you create custom HTML elements.
Aurelia - Next gen JS framework written with ES6 and ES7. Integrates with Web Components. No external dependencies except polyfills.
AngularJS - AngularJS lets you extend HTML vocabulary for your application. The resulting environment is extraordinarily expressive, readable, and quick to develop.