Progressive Web Apps with React: Create Lightning Fast Web Apps with Native Power using React and Firebase

Scott Domes

Language: English

Published: Oct 24, 2017

Description:

Enhance the performance of your applications by using React and adding the Progressive web app capability to itAbout This BookBring the best of mobile sites and native apps to your users with progressive web applicationsCreate fast, reliable, and engaging PWAs with React and FirebaseCreate high-performance applications even with low connection speeds by leveraging modern web technologiesWho This Book Is ForThis book is for Javascript Developers who want to develop high performance Web User Interfaces. This book requires basic knowledge of HTML, CSS and JavaScript.What You Will LearnSet up Webpack configuration, as well as get the development server runningLearn basic Firebase configuration and deploymentCreate routes, manage multiple components, and learn how to use React Router v4 to manage the flow of dataUse React life cycle methods to load dataAdd a service worker to the app and learn how it worksUse a service worker to send Push NotificationsConfigure Webpack to split up the JavaScript bundle and lazy load component filesLearn how to use the web Cache API to use your app offlineAudit PWAs with Google's Lighthouse toolIn DetailFor years, the speed and power of web apps has lagged behind native applications. Progressive Web Apps (PWAs) aim to solve this by bridging the gap between the web apps and native apps, delivering a host of exciting features. Simultaneously, React is fast becoming the go-to solution for building modern web UIs, combining ease of development with performance and capability. Using React alongside PWA technology will make it easy for you to build a fast, beautiful, and functional web app.After an introduction and brief overview of the goals of PWAs, the book moves on to setting up the application structure. From there, it covers the Webpack build process and the process of creating React components. You'll learn how to set up the backend database and authentication solution to communicate with Firebase and how to work with React Router. Next, you will create and configure your web app manifest, making your PWA installable on mobile devices. Then you'll get introduced to service workers and see how they work as we configure the app to send push notifications using Firebase Cloud Messaging. We'll also explore the App Shell pattern, a key concept in PWAs and look at its advantages regarding efficient performance. Finally, you'll learn how to add offline capabilities to the app with caching and confirm your progress by auditing your PWA with Lighthouse. Also, you'll discover helper libraries and shortcuts that will help you save time and understand the future of PWA development.Style and approachThis is a step-by-step book, wherein, you will use the React framework to create a complete progressive web app.

Key Features

  • Bring the best of mobile sites and native apps to your users with progressive web applications
  • Create fast, reliable, and engaging PWAs with React and Firebase
  • Create high-performance applications even with low connection speeds by leveraging modern web technologies

Book Description

For years, the speed and power of web apps has lagged behind native applications. Progressive Web Apps (PWAs) aim to solve this by bridging the gap between the web apps and native apps, delivering a host of exciting features. Simultaneously, React is fast becoming the go-to solution for building modern web UIs, combining ease of development with performance and capability. Using React alongside PWA technology will make it easy for you to build a fast, beautiful, and functional web app.

After an introduction and brief overview of the goals of PWAs, the book moves on to setting up the application structure. From there, it covers the Webpack build process and the process of creating React components. You'll learn how to set up the backend database and authentication solution to communicate with Firebase and how to work with React Router. Next, you will create and configure your web app manifest, making your PWA installable on mobile devices. Then you'll get introduced to service workers and see how they work as we configure the app to send push notifications using Firebase Cloud Messaging. We'll also explore the App Shell pattern, a key concept in PWAs and look at its advantages regarding efficient performance. Finally, you'll learn how to add offline capabilities to the app with caching and confirm your progress by auditing your PWA with Lighthouse. Also, you'll discover helper libraries and shortcuts that will help you save time and understand the future of PWA development.

What you will learn

  • Set up Webpack configuration, as well as get the development server running
  • Learn basic Firebase configuration and deployment
  • Create routes, manage multiple components, and learn how to use React Router v4 to manage the flow of data
  • Use React life cycle methods to load data
  • Add a service worker to the app and learn how it works
  • Use a service worker to send Push Notifications
  • Configure Webpack to split up the JavaScript bundle and lazy load component files
  • Learn how to use the web Cache API to use your app offline
  • Audit PWAs with Google's Lighthouse tool

About the Author

Scott Domes is a full stack developer who specializes in React, with a passion for building powerful and performant web applications, and for playing with shiny new technologies. Based out of Vancouver, when not coding he's probably out hiking some mountain, or getting lost in a good book. Scott loves to teach and talk about web development, and is always looking to learn new things.

Table of Contents

  1. Creating Our App Structure
  2. Getting Started with Webpack
  3. Our App’s Login Page
  4. Easy Back-End Setup With Firebase
  5. Routing with React
  6. Completing Our App
  7. Making Our App Installable with a Manifest
  8. Adding a Service Worker
  9. Using a Service Worker to Send Push Notifications
  10. The App Shell
  11. Chunking JavaScript to Optimize Performance with Webpack
  12. Ready to Cache
  13. Auditing Our App
  14. Conclusion & Next Steps

**