/hyperapp

1kb JavaScript library for building frontend applications.

Primary LanguageJavaScriptMIT LicenseMIT

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 VDOM engine that supports keyed updates & lifecycle events — all with no dependencies.

Read the Docs

Hello World

Try it Online

import { h, app } from "hyperapp"

app({
  state: {
    count: 0
  },
  view: (state, actions) =>
    <main>
      <h1>{state.count}</h1>
      <button onclick={actions.down}></button>
      <button onclick={actions.up}>+</button>
    </main>,
  actions: {
    down: state => ({ count: state.count - 1 }),
    up: state => ({ count: state.count + 1 })
  }
})

Community

License

Hyperapp is MIT licensed. See LICENSE.