The podcast application
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
to persist data. You will also see how to utilize service worker cache and IndexedDB
to persist MP3 media files.
The...