A simple reactive front-end framework
Hello Act
Here's Act's hello world:
main('Hello world')
And here's the classic counter example:
const view = (value) => ['button', {click: {add: count}}, value]
main(view, { model: 0 })
More examples
- counter composition (like in Elm's architechture examples). (code)
- kanban board with drag & drop. (code)
- hot module replacement (hmr) code (you have to run yourself)
- animation code
- todomvc code (full build: 13.4kb minified & gzipped) (code: ~80LsoC without imports)
- bmi calculator code
- optimistic updates code
Check even more examples in the documentation.
Why?
Functional
Act is built on top of Ramda and encourages a functional programming style.
Small
Act is small and most functionality is added by different modules, resulting on small builds. The TodoMVC has 13.4kb (min+gz).
Transparent
Act's internal code should be owned by its users, therefore simplicity and readability are valued.
Complete
Act tries to be as complete as possible, and have clearly defined ways of doing the most common tasks.
Install
Act is written in es6 and expects you to use webpack, so you can import only the files you really need. To install, just run in your project folder:
npm i @act/main -s
Getting started
The easiest way to start a new Act project is by checking out act-starter.
This project will give you a very basic setup that you can use to bootstrap an Act project, including babel and webpack config for development.
Contributing
Act is still in a very alpha status. If you wanna help, take a look at the ideas for improvement.