Build a lightweight reactive web UI without pulling in a large framework like React or Vue.
Create a single-page app with automatically updating views using Moon's functional data-to-view approach.
Add interactivity to a web page with a 2KB script that loads faster than any major framework alternative.
Full API documentation is on moonjs.org, the README is sparse and serves mainly as a brief introduction.
Moon is a small JavaScript library for building user interfaces in a web browser. It is designed around functional programming principles, meaning the UI is described as a function of data rather than through direct manipulation of the page. When your data changes, Moon figures out what needs to update and re-renders accordingly. The library's main selling points are its tiny size, 2 kilobytes after compression, and its rendering speed. The README describes a driver-based design, where different concerns like the view layer and state management are separated into distinct drivers, though the documentation site at moonjs.org is the place to find the full API details. The README itself is sparse and points to the site for usage guidance. Moon is written in JavaScript and available under the MIT license, which permits free commercial and personal use. The project was created and is maintained by Kabir Shah as an open source effort, supported through Patreon donations.
← kbrsh on gitmyhub — every repo by this author, as a profile.
Verify against the repo before relying on details.