HyperApp is a JavaScript library for building frontend applications.
- Declarative: HyperApp's design is based on the Elm Architecture. Create scalable browser-based applications using a functional paradigm. The twist is you don't have to learn a new language.
- Stateless components: Build complex user interfaces using pure functions. Stateless components are framework agnostic, predictable and easy to debug.
- Batteries-included: Out of the box, HyperApp combines state management with a Virtual DOM engine that supports keyed updates & lifecycle events — all with no dependencies.
Get started with HyperApp
Hello World
Try it online
app({
state: 0,
view: (state, actions) =>
<main>
<h1>{state}</h1>
<button onclick={actions.add}>+</button>
<button onclick={actions.sub}>-</button>
</main>,
actions: {
add: state => state + 1,
sub: state => state - 1
}
})
Contributing
No software is free of bugs. If you're not sure if something is a bug or not, file an issue anyway. See CONTRIBUTING for more information about how to contribute to this project.
Documentation
The documentation is located in the /docs directory.
License
HyperApp is MIT licensed. See LICENSE.