A PWA, for us, is a React application that would be installable/runnable on a mobile device or desktop. Essentially, it's just your app, but with capabilities that make it a little more advanced, a little more effective, and a little more resilient to poor/no internet. A PWA accomplishes these via a few tenets, tricks, and requirements that we'd want to follow:
- The app must be usable by mobile and desktop-users alike
- The app must operate over HTTPS
- The app must implement a web app JSON manifest file
- The app must implement a Service Worker
Now, the first one is a design question. Did you make your design responsive? If so, congratulations, you built the first step toward having a PWA! The next one is also more of an implementation question that's maybe not as relevant to us here: when you deploy your app to production, did you make it HTTPS only? I hope the answer to this is yes, of course, but it's still a good question to ask!
The next two, though, are things we can do as part of our Create React App project, and we'll make those the focus of this chapter!