Middleware is computer software that provides services to software applications beyond those available from the operating system.   

Example,   
The term "Middleware" applies to the redux library. Middleware are essentially functions that are going to change the behaviour of our redux store. So they will add new capabilities or new features to the redux side of our application.   

Redux-thunk is a middleware to help us make network requests from redux side of our app.   
