BangJS implementation of TodoMVC benchmark app
JavaScript HTML
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
js
node_modules
.editorconfig
.gitattributes
.gitignore
index.html
package.json
readme.md

readme.md

BangJS • TodoMVC

BangJS in Bacon-flavored Angular. Program watertight web-based user interface behavior with AngularJS and Bacon.js.

Enjoy everything that’s good about functional reactive programming with all the benefits of a mature and vibrant front-end framework ecosystem.

BangJS - bangjs.org

Resources

Let us know if you discover anything worth sharing.

Implementation

This little app showcases much of what's good about BangJS.

  • Makes support for asynchronous logic the default

    Notice how the storage provider has been setup to support real-time client-server interaction out of the box. This is the obvious approach as opposed to something you need to get out of your way for.

  • Allows you to focus on business logic instead of managing state

    Notice how there is virtually no mutable state, which means less bookkeeping and less superficial bugs to waste time on. Instead work on uncovering your application logic and expressing it in the concisest possible way. Notice how few lines of code our implementation needs in comparison to many others.

  • Keeps your code maintainable and scalable due to inherent composability

    Notice how most of the implementation is basically a collection of observables, composed using FRP principles. Because every observable defines its own behavior and its own behavior only, we insulate ourselves from spaghetti creep.

Credit

Created by Tim Molendijk.