Awesome Open Source
Awesome Open Source

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.

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

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


  • AppRun architecure has state, view, and update.
  • AppRun is event-driven.
  • AppRun is Component based.

Try 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.

To use the AppRun dev server:

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.




Copyright (c) 2015-2021 Yiyi Sun

Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
javascript (68,711
typescript (10,876
framework (1,096
component (552
router (297
state-management (188
event-driven (89
virtual-dom (69

Find Open Source By Browsing 7,000 Topics Across 59 Categories