/hyperapp

1 KB JavaScript library for building frontend applications.

Primary LanguageJavaScriptMIT LicenseMIT

Travis CI Codecov npm Slack

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.
  • Custom tags: Build complex user interfaces from custom tags. Custom tags are stateless, framework agnostic and easy to debug.
  • Batteries-included: Out of the box, HyperApp has Elm-like state management and a virtual DOM engine; it still weighs 1kb and has 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
  }
})

Issues

No software is free of bugs. If you're not sure if something is a bug or not, file an issue anyway. Questions, feedback and feature requests are welcome too.

Documentation

The documentation is located in the /docs directory.

Community

License

HyperApp is MIT licensed. See LICENSE.