This chapter introduces you to different service worker concepts and features like the service worker life cycle, caching, and push notifications. To do this, we are going to build a simple podcast application. This application will demonstrate how to tackle the service worker life cycle and response caching:
The minimal podcast application requirements include:
- Fast loading
- Search podcasts
- Favorite podcasts
- Play audio files
- Persist episodes for offline listening
The application requires some server-side help, which for our purposes will be a set of snapshot data I took from public sources. The data is part of the project repository (https://github.com/docluv/PWAPodcast), so you can recreate the application.
You will learn how to register a service worker, the basics of the service worker life cycle, how service worker caching works, and how to use IndexedDB...