Book Image

Serverless Web Applications with React and Firebase

By : Harmeet Singh, Mayur Tanna
Book Image

Serverless Web Applications with React and Firebase

By: Harmeet Singh, Mayur Tanna

Overview of this book

ReactJS is a wonderful framework for UI development. Firebase as a backend with React is a great choice as it is easy, powerful, and provides great developer experience. It removes a lot of boilerplate code from your app and allows you to focus on your app to get it out quickly to users. Firebase with React is also a good choice for Most Viable Product (MVP) development. This book provides more practical insights rather than just theoretical concepts and includes basic to advanced examples – from hello world to a real-time seat booking app and Helpdesk application This book will cover the essentials of Firebase and React.js and will take you on a fast-paced journey through building real-time applications with Firebase features such as Cloud Storage, Cloud Function, Hosting and the Realtime Database. We will learn how to secure our application by using Firebase authentication and database security rules. We will leverage the power of Redux to organize data in the front-end, since Redux attempts to make state mutations predictable by imposing certain restrictions on how and when updates can happen. Towards the end of the book you will have improved your React skills by realizing the potential of Firebase to create real-time serverless web applications.
Table of Contents (16 chapters)
Title Page
Copyright and Credits
Packt Upsell
Contributors
Preface
Free Chapter
1
Getting Started with Firebase and React
Index

Advanced topics in Redux


Once you are through the basics, there are some advanced topics to go through, such as React Router, Ajax and Async Actions, and Middleware. We will not cover them here since they are out of the scope of this book. However, we will just look at the important topic of Middleware in brief.

By default, Redux supports synchronous data flow only. To have asynchronous data flow, you will need to use Middleware. Middleware is nothing but a framework or library that provides a wrapper for your dispatch method and allows to pass functions and promises rather than just actions. Middleware is being used to mainly support asynchronous actions. There are many middlewares out there, such as redux-thunk for asynchronous actions. Middlewares are also useful for logging or crash reporting. We will also use redux-thunk in our application. To enhance createStore(), we need to use the applyMiddleware(...middleware) function.