+18
-10
lines changedFilter options
+18
-10
lines changed Original file line number Diff line number Diff line change
@@ -4,23 +4,31 @@ redux
4
4
[](https://travis-ci.org/gaearon/redux)
5
5
[](https://www.npmjs.com/package/redux)
6
6
7
-
An experiment in fully hot-reloadable Flux.
7
+
Atomic Flux with hot reloading.
8
8
9
-
**The API might change any day.**
10
-
_**Don't use in production just yet.**_
9
+
**The API is likely to change a few times before we reach 1.0.**
10
+
**Its [surface area](http://www.youtube.com/watch?v=4anAwXYqLG8) is minimal so you can try it in production and report any issues.**
11
11
12
12
## Why another Flux framework?
13
13
14
14
Read **[The Evolution of Flux Frameworks](https://medium.com/@dan_abramov/the-evolution-of-flux-frameworks-6c16ad26bb31)** for some context.
15
15
16
-
### Design Goals
17
-
18
-
* Hot reloading of everything.
19
-
* A hook for the future devtools to "commit" a state, and replay actions on top of it during hot reload.
16
+
### Philosophy & Design Goals
17
+
18
+
* You shouldn't need a book on functional programming to use Redux.
19
+
* Everything (Stores, Action Creators, configuration) is hot reloadable.
20
+
* Preserves the benefits of Flux, but adds other nice properties thanks to its functional nature.
21
+
* Prevents some of the anti-patterns common in Flux code.
22
+
* Works great in isomoprhic apps because it doesn't use singletons and the data can be rehydrated.
23
+
* Doesn't care how you store your data: you may use JS objects, arrays, ImmutableJS, etc.
24
+
* Under the hood, it keeps all yout data in a tree, but you don't need to think about it.
25
+
* Lets you efficiently subscribe to finer-grained updates than individual Stores.
26
+
* Provides hooks for powerful devtools (e.g. time travel, record/replay) to be implementable without user buy-in.
27
+
* Provides extension points so it's easy to [support promises](https://github.com/gaearon/redux/issues/99#issuecomment-112212639) or [generate constants](https://gist.github.com/skevy/8a4ffc3cfdaf5fd68739) outside the core.
20
28
* No wrapper calls in your stores and actions. Your stuff is your stuff.
21
-
* Super easy to test things in isolation without mocks.
22
-
* I don't mind action constants. Seriously.
23
-
* Keep Flux lingo. No cursors or observables in core.
29
+
* It's super easy to test things in isolation without mocks.
30
+
* You can use “flat” Stores, or [compose and reuse Stores](https://gist.github.com/gaearon/d77ca812015c0356654f) just like you compose Components.
31
+
* The API surface area is minimal.
24
32
* Have I mentioned hot reloading yet?
25
33
26
34
## Demo
You can’t perform that action at this time.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4