Afternoon All,
Thank you for attending/avoiding (delete as appropriate) my bewildering talk on React and Redux.
Here’s the application I built in a day to demonstrate the wonderful world of React/Redux: https://github.com/thomasmichaelwallace/Retrospectively
If you want to relive the presentation, start at BrownBag.md and follow the instructions. If you want to run it, follow the vague guidance in ReadMe.md.
Below is a semi-curated long list of resources/libraries for anyone who would like to learn more.
The libraries themselves:
- React: https://facebook.github.io/react/docs/getting-started.html
 - Redux: http://redux.js.org/index.html
 
Some invaluable articles I read along the way:
- A walkthrough of how to write Redux from scratch [30 mins]: https://github.com/tayiorbeii/egghead.io_redux_course_notes
 - Dan Abramov on Medium (Wrote pretty much everything): https://medium.com/@dan_abramov
 - Issue #419 (A big discussion on who to use react-redux’s connect properly): reduxjs/redux#419
 - Full stack redux tutorial (Massively detailed, with BDD inline; I still use this when I have trouble): http://teropa.info/blog/2015/09/10/full-stack-redux-tutorial.html
 
Bootstraps/boilerplates:
- React Redux Universal Hot Example (Does all the things; good to browse if you can’t get something to work): https://github.com/erikras/react-redux-universal-hot-example
 - React/Redux/Electron (For desktop apps): https://github.com/chentsulin/electron-react-boilerplate
 
Libraries anyone developing in React should at least be aware of:
- react-redux (React bindings for Redux): http://redux.js.org/docs/basics/UsageWithReact.html
 - Flux Standard Actions (standard way of describing actions): https://github.com/acdlite/flux-standard-action
 - redux-actions (removes boiler plate for implementing FSA): https://github.com/acdlite/redux-actions
 - Reselect (a memorised selector): https://github.com/reactjs/reselect
 - … anything in the https://github.com/reactjs repos
 - Immutable (Immutable collections for JS): https://facebook.github.io/immutable-js/
 - electron-prebuilt (Turn R/R into a desktop application): https://github.com/electron-userland/electron-prebuilt
 - React Native (Use React to build iOS and Android): https://facebook.github.io/react-native/
 - React-Bootstrap (Bootstrap components for React): https://react-bootstrap.github.io/
 - Material-UI (Material Design components for React): http://www.material-ui.com/
 - redux-react-firebase (Redux middleware for realtime databases): https://github.com/tiberiuc/redux-react-firebase
 
R/R testing tools:
- Jest (Facebook’s “official” testing library): https://facebook.github.io/jest/
 - enzyme (Shallow render and query React elements): https://github.com/airbnb/enzyme
 
React/Redux development tools:
- redux-devtools (Monitor redux’ state): https://github.com/gaearon/redux-devtools
 - react-devtools (Chrome Developer Tools extension): [link]
 - react-hot-loader (Live code editing for react): https://github.com/gaearon/react-hot-loader
 
The modern Javascript webstack:
- Webpack (a module bundler/compiler): http://webpack.github.io/docs/tutorials/getting-started/
 - Babel (a transpiler to allow you to use js v.Next today): https://babeljs.io/
 - ECMAScript 6 (the latest version of JavaScript): http://es6-features.org/
 - ES7 object spread properties (A proposed enhancement): https://github.com/sebmarkbage/ecmascript-rest-spread
 - eslint (Automated code criticiser): http://eslint.org/
 - node (the JavaScript run time): https://nodejs.org/en/
 - npm (Node’s package manager and script runner): https://www.npmjs.com/
 
Event driven databases:
- Firebase (a realtime/notifying database): https://www.firebase.com/
 - Pusher (a subscriable database): https://pusher.com/
 - RethinkDB (another realtime database): https://www.rethinkdb.com/
 
Some more cool things React related:
- React-Haskell (Nope, I’m not joking): https://github.com/joelburget/react-haskell
 - ReactJS.NET (Bridge for React to C#): http://reactjs.net/
 - Cycle.js (R/R for functional purists): http://cycle.js.org/
 - elm (Functional programming language for websites): http://elm-lang.org/
 
Some strong opinions:
- Evangelically prefer React’s stateless functions ({ …props }) => ( );
 - The Immutable library is more hassle than it’s worth
 - Jest is slow, and if you’re using stateless functions you don’t even need its mocking framework. Use Jasmine/Karma instead.
 - Read and freely copy from boilerplates, but don’t use them.
 - Forget bower, grunt and gulp, you can do it all centrally in npm
 - Treat npm -g like rm rf; it is not your friend
 - VSCode is a surprisingly good editor.
 
Tom = Reduce(Tom, { type: "STOP_WRITING_REALLY_LONG_EMAIL" });