...
This wikipedia article is helpful to understand what a framework is. To sum it up, a framework is essentially a library of code that you include in your project. It differs from a normal library, however, because it isn't just a useful tool that your code will call functions on. Rather, it defines the entire structure of how you are going to build your application in the first place. If you are building an app using React.js, you have to think like a React programmer, not a normal javascript developer who is just calling some functions. The same goes for the other popular frameworks out there.
Redux Middleware
Redux middleware is a useful way to add more complex functionality to Redux, and is a more advanced subject. Before reading this section, make sure you understand how redux works. They are especially useful for async actions where we need information from the pico engine. They intercept Redux actions before they hit the reducers, perform some processing, and then finally give the result back to the reducer.
redux-saga
redux-saga is a more complex system to explain, and is out of scope of this page. The simple version is that it allows for complex async actions to happen when we make HTTP calls. In Manifold, we use redux-saga for an exponential backoff implementation that would not be feasible with redux-promise.
redux-promise
redux-promise is a very simple middleware that can handle most simple async actions. It intercepts actions going through the redux store if that action returns an object with the key "payload" whose value is a promise. All redux-promise does is force the promise to resolve before going to the reducer.
Webpack
Webpack is first and foremost a module bundler. What is a module bundler? Essentially, a module bundler tries loading your project from its root file, like index.js. From there, it branches out and looks at all the files that are imported in that file. An import is where a file declares that it needs code from another file. Here's an example:
...