1 KB JavaScript library for building frontend applications.
Latest commit 69676ce Jul 26, 2017 @zaceno zaceno committed with jbucaran Docs explain that onremove needs keys (#307)
Also, that keys do not work for top level nodes. And therefore 
onremove is not supposed to work for top level nodes.



Travis CI Codecov npm Slack

HyperApp is a JavaScript library for building frontend applications.

  • Minimal: HyperApp was born out of the attempt to do more with less. We have aggressively minimized the concepts you need to understand while remaining on par with what other frameworks can do.
  • Functional: 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.
  • 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

  state: 0,
  view: (state, actions) =>
      <button onclick={actions.add}>+</button>
      <button onclick={actions.sub}>-</button>
  actions: {
    add: state => state + 1,
    sub: state => state - 1


The documentation is located in the /docs directory.



HyperApp is MIT licensed. See LICENSE.