Introduction
WARNING: Still being documented.
Capacitor.js is a well tested implementation of facebook's flux architecture written in CoffeeScript, which aims to do the following things:- Be as close to the official definition of flux as possible, only making optimizations/features where there's too much boilerplate.
- Be easy to use, even for beginners, which means it should be easy to do it right, hard to do it wrong.
- Have all stores be comprised of immutable data with immutable.js
- Handle relationships between stores with ease, without the boilerplate
- Be easy to extend, where extensions make sense.
- Scale well when used in teams by heavily encouraging thought before code, and try to minize how many ways you can solve a single problem.
- Feel great to use in CoffeeScript
- Feel just as great to use in TypeScript/ES6
- Support all the loaders, AMD/CommonJS/ES6/Globals whatever you need.
Features
- The dispatcher is an implementation detail, you never interact with it manually.
- Actions are class instances, no giant switch statements needed.
- Stores listen for actions by using the action classes.
- Four types of stores to model your data:
- With these four stores you can model the following:
- ActionCreators dispatch actions.
- Batch change events on stores within a dispatch iteration to simplify store interactions.
Features we'd like to add
- Webpack Hot Loader - Chrome Devtools Extension(s) - State snapshots - Replayable action logsDependencies
- lodash
- immutable-js