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

What is Redux?


In this technological era, since the requirements for web applications have become increasingly complicated, the state management of an application has a lot of challenges at the code level. For example, in Realtime applications, a lot of data is stored in the cache for faster retrieval apart from the data that is persisted in the database. Similarly, on the UI side, due to complex User Interfaces such as multiple tabs, multiple routes, pagination, filters, and breadcrumbs and more, application state management becomes a very difficult task.

In any application, different components exist, which interact with each other to produce a particular output or a state. There will also be chances that this interaction is so complex that you lost control over the application state. For example, a component or a model updating another component or a model that in turn causes an update of another view. This type of code is difficult to manage. It becomes challenging to add a new feature...