-
Book Overview & Buying
-
Table Of Contents
-
Feedback & Rating

Serverless Web Applications with React and Firebase
By :

Realtime applications have dominated the field of web applications for years. Real time isn't limited to only displaying data as soon as it's available; it shows its real power when used with interactive experiences, in which users and systems can instantly communicate with one another. With features such as virtual DOM and declarative views, React proves to be a better fit for such Realtime applications. Firebase makes building and rapid-prototyping these kinds of applications simpler by letting you focus on how the application should behave and look, without getting bogged down in the more tedious parts of Realtime development.
This book will cover the Firebase features such as Cloud Storage, Cloud Function, Hosting, and Realtime Database integration with React to develop rich, collaborative, real-time applications using only client-side code. We can also see how we can secure our application using Firebase Authentication and Database Security Rules. We also leverage the power of Redux to organize the data in the frontend. Redux attempts to make state mutations predictable by imposing certain restrictions on how and when updates can happen. Toward 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.
This book provides more practical insights rather than just theoretical concepts and includes basic to advanced examples—from hello world to a realtime Web Application.
The idea behind this book is to help developers create real-time serverless applications really faster with React and Firebase. We wrote this book for the developers who want to create Minimum Viable Product (MVP) using Firebase to validate a business idea. This book is designed to provide practical knowledge to developers who have basic to intermediate knowledge of HTML, CSS, React, and JavaScript and want to learn more about React, Redux, and Firebase integration. This book is also aimed at developers who don't want to waste their time searching hundreds of tutorials of React, Redux, and Firebase and have everything in one place with real-life examples to get productive quickly. This book is for anyone interested in learning only Firebase.
Lastly, if you want to develop serverless apps and want to know end to end, from designing to hosting, with step-by-step instructions, this book is for you.
Chapter 1, Getting Started with Firebase and React, introduces the ReactJS and Firebase features and teaches what you can do with them. It gives a brief detail about setting up a Firebase account and create the demo project with JavaScript.
Chapter 2, Integrate React App with Firebase, looks at setting up the React environment and takes a quick look at the JSX and React component methods. It also goes into creating form components in React using JSX and Firebase Realtime Database for our helpdesk application.
Chapter 3, Authentication with Firebase, focuses on starting to flesh out the helpdesk application set up in Chapter 2, Integrate React App with Firebase, by adding a Firebase Authentication to secure the application with login component.
Chapter 4, Connecting React to Redux and Firebase, explores Redux in detail and looks at how and when you need to use Redux in our React app. It will also show you how you can integrate all three—React, Redux, and Firebase—with a sample seat booking application.
Chapter 5, User Profile and Access Management, shows you how you can use Firebase Admin SDK, which provides a user management API to read and write Realtime Database data with full admin privileges by creating application admin page.
Chapter 6, Firebase Security and Rules, demonstrates how you can secure our database by Firebase Realtime database rules, and it briefly looks at the common database security risks and the checklist to prevent such threats.
Chapter 7, Using Firebase Cloud messaging and Cloud functions with React, helps us to send free messages across different platforms: Android, iOS, and web in Realtime. It takes you through how you can run your custom application logic without a server.
Chapter 8, Firebase Cloud Storage, covers how you can integrate Firebase cloud storage into your application and see the features and how you can use it.
Chapter 9, Best Practices, teaches the dos and don'ts when you are creating a web application with react, Firebase, and redux.
You should have basic programming experience with React, HTML, CSS, and JavaScript to read this book profitably. It is assumed that you know already how Node Package Manager (npm) works to install any dependencies, and you have a basic idea about ES6 Syntax.
You can download the example code files for this book from your account at www.packtpub.com. If you purchased this book elsewhere, you can visit www.packtpub.com/support and register to have the files emailed directly to you.
You can download the code files by following these steps:
SUPPORT
tab.Code Downloads & Errata
.Search
box and follow the onscreen instructions.Once the file is downloaded, please make sure that you unzip or extract the folder using the latest version of:
The code bundle for the book is also hosted on GitHub at https://github.com/PacktPublishing/Serverless-Web-Applications-with-React-and-Firebase. In case there's an update to the code, it will be updated on the existing GitHub repository.
We also have other code bundles from our rich catalog of books and videos available athttps://github.com/PacktPublishing/. Check them out!
There are a number of text conventions used throughout this book.
CodeInText
: Indicates code words in text, database table names, folder names, filenames, file extensions, pathnames, dummy URLs, user input, and Twitter handles. Here is an example: "Mount the downloaded WebStorm-10*.dmg
disk image file as another disk in your system."
A block of code is set as follows:
constructor(props) { super(props); this.state = { value: props.initialValue }; }
Any command-line input or output is written as follows:
node -v
Bold: Indicates a new term, an important word, or words that you see onscreen. For example, words in menus or dialog boxes appear in the text like this. Here is an example: "Select System info
from the Administration
panel."
Warnings or important notes appear like this.
Tips and tricks appear like this.
Feedback from our readers is always welcome.
General feedback: Email [email protected]
and mention the book title in the subject of your message. If you have questions about any aspect of this book, please email us at [email protected]
.
Errata: Although we have taken every care to ensure the accuracy of our content, mistakes do happen. If you have found a mistake in this book, we would be grateful if you would report this to us. Please visit www.packtpub.com/submit-errata, selecting your book, clicking on the Errata Submission Form link, and entering the details.
Piracy: If you come across any illegal copies of our works in any form on the Internet, we would be grateful if you would provide us with the location address or website name. Please contact us at [email protected]
with a link to the material.
If you are interested in becoming an author: If there is a topic that you have expertise in and you are interested in either writing or contributing to a book, please visit authors.packtpub.com.
Please leave a review. Once you have read and used this book, why not leave a review on the site that you purchased it from? Potential readers can then see and use your unbiased opinion to make purchase decisions, we at Packt can understand what you think about our products, and our authors can see your feedback on their book. Thank you!
For more information about Packt, please visit packtpub.com.
Change the font size
Change margin width
Change background colour