JavaScript library that has Elm inspired architecture, event pub-sub and components

Usage no npm install needed!

<script type="module">
  import apprun from '';


AppRun Build NPM version Downloads License twitter Discord Chat

AppRun is a JavaScript library for building reliable, high-performance web applications using the Elm-inspired architecture, events, and components.

All the Ways to Make a Web Component - May 2021 Update compares the coding style, bundle size, and performance of 55 different ways to make a Web Component. It put AppRun on the top 1/3 of the list of bundle size and performance.

AppRun Benefits

  • Write less code
  • No proprietary syntax to learn
  • Compiler/transpiler is optional
  • State management and routing included
  • Run side-by-side with jQuery, chartjs, D3, lit-html ...

AppRun is distributed on npm.

npm install apprun

You can also load AppRun directly from the CDN:

<script src=""></script>

Or use it as ES module from

<script type="module">
  import { app, Component } from '';

Architecture Concept

You can get started with AppRun Docs and the AppRun Playground.

AppRun Book from Apress

Order from Amazon

Create AppRun Apps

Use the AppRun CLI to initialize an esbuild configured project:

npx apprun --init --spa --esbuild

Use the AppRun CLI to initialize a TypeScript and webpack configured project:

npx apprun --init --spa

To initialize a project that targets ES5, use the AppRun CLI with the --es5 flag:

npx apprun --init --spa --es5

AppRun Dev Server

AppRun now has a dev server. It is base on the live-server and supports ES Modules. apprun-dev-server is install by AppRun CLI when using esbuild. Or you can use it directly.

npx apprun-dev-server

See the announcement: A Dev Server Supports ESM

AppRun Dev Tools

To use the AppRun dev-tools, include the dev-tools script.

<script src=""></script>

See the annoucement: AppRun Dev Tools

AppRun Dev Tools connects to the Redux DevTools Extension. To use the dev-tools, install the Redux DevTools Extension. You can monitor the events and states.



You can launch the webpack dev-server and the demo app from the demo folder with the following npm commands:

npm install
npm start

You can run the unit tests from the tests folder.

npm test

Unit tests can serve as functional specifications.

Finally, to build optimized js files to the dist folder, just run:

npm run build

Have fun and send pull requests.



AppRun is an MIT-licensed open source project. Please consider supporting the project on Patreon. 👍❤️🙏

Thank you for your support

  • Athkahden Asura
  • Alfred Nerstu
  • Gyuri Lajos
  • Lorenz Glißmann
  • Kevin Shi
  • Chancy Kennedy



Copyright (c) 2015-2021 Yiyi Sun