Skip to content

Latest commit

 

History

History
119 lines (88 loc) · 3.53 KB

README.md

File metadata and controls

119 lines (88 loc) · 3.53 KB

AppRun

logo

AppRun is a 3K library for developing applications using the elm style model-view-update architecture and the event publication and subscription. .

Quick Start

To give it a try, include AppRun in your html.

<script src="https://unpkg.com/apprun@latest/dist/apprun-html.js"</script>

No other ceremony, you can start write code of model, view and update right away.

<!doctype html>
<html>
<head>
  <meta charset="utf-8">
  <title>Counter</title>
</head>
<body>
<script src="https://unpkg.com/apprun@latest/dist/apprun-html.js"></script>
  <div id="my-app"></div>
  <script>
    const model = 0;

    const view = (model) => {
      return `<div>
        <h1>${model}</h1>
        <button onclick='app.run("-1")'>-1</button>
        <button onclick='app.run("+1")'>+1</button>
      </div>`;
    };

    const update = {
      '+1': (model) => model + 1,
      '-1': (model) => model - 1
    };

    app.start('my-app', model, view, update);
  </script>
</body>
</html>

Or try it online: AppRun - Counter.

The counter example above implements the model-view-update architecture at application level. AppRun applications can also be built using components. Each component has a model-view-update architecture that manages component state. Components communicate each other through events. Run the following examples and checkout their source code for more details.

Video Tutorials

Articles

Install

If you are interested moving forward, you can install AppRun CLI and initialize a TypeScript and webpack configured project:

npm install apprun -g
apprun --init
npm start

Explore More

AppRun provides everything you need to build a modern application frontend. To explore more about AppRun, read the following docs.

Contribute

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

npm install
npm start

You can run the unit tests from the tests folder.

npm test

Unit tests can serve as the functional specifications.

Finally, to build optimized js files to dist folder by run:

npm run build

Have fun and send pull requests.

License

MIT

Copyright (c) 2015-2017 Yiyi Sun