Mercury leverages virtual-dom which uses an immutable vdom structure
Mercury comes with observ-struct which uses immutable data for your state atom
Mercury is truly modular, you can trivially swap out subsets of it for other modules
Mercury source code itself is maintainable, the modules it uses are all small, well tested and well documented. you should not be afraid to use mercury in production as it's easy to maintain & fix.
Mercury encourages zero dom manipulation in your application code. As far as your application is concerned elements do not exist. This means you don't need to reference DOM elements when rendering or when handling events
Mercury is a small glue layer that composes a set of modules that solves a subset of the frontend problem.
Crafty, previously known as CraftyJS, is a small, simple, and lightweight game engine that can greatly help you build prototypal or fully-featured 2D HTML5 games. Crafty is also open-source and completely free. Its code is hosted openly on GitHub.com and is distributed under the MIT or GPL license.
A Crafty.js game is build up of entities -- the player character, enemies, and obstacles are all represented this way.
Loads any module format when running the ~15KB development build.
Loads ES modules compiled into the System.register module format for production with exact circular reference and binding support
Supports RequireJS-style map, paths, and bundles configuration.
Built with the ES Module Loader project, which is based on principles and APIs from the WhatWG Loader specification, modules in HTML and NodeJS.
Supports IE9+ provided a promises polyfill is available in the environment.
System.js however is a pretty good replacement for require.js. The config is robust, the bundling API is reasonable, and if you have dynamic loading scenarios, especially where you don't know the resources at bundling time, it's really a good client loader.
Create.js is a comprehensive web editing interface for Content Management Systems. It is designed to provide a modern, fully browser-based HTML5 environment for managing content. Create can be adapted to work on almost any content management backend.
The user interface philosophy behind Create is simple: all content that you are allowed to change becomes editable, right there on the page you’re reading. Any modifications you make are retained in your browser and can be sent back to the CMS with a push of a button.
CreateJS is a suite of modular libraries and tools which work together to create interactive content on open web technologies via HTML5.
The libraries are designed to work completely independently, or mixed and matched.
EaselJS - Makes working with HTML5 canvas easy.
SoundJS - Lets you easily work with HTML5 audio
PreloadJS - Lets you manage and coordinate loading of assets
Mithril is used by companies like Vimeo and Nike, and open source platforms like Lichess.
Mithril supports browsers all the way back to IE9, no polyfills required.
Mithril gives you hierarchical MVC components (just like React), URL routing, customizable data binding, and safe-by-default templates with intelligent DOM difference checking for high-performance rendering.