# Progressive Web Apps Handbook

**What are PWAs?**

PWAs stand for progressive web apps, which are web applications that have some native app capabilties like:
- Install on a mobile home sacreen
- Access the app when offline
- Get push notifications

**What are service workers?**

They are simple javascript files that run in the background that can do these : 
- Load content offline
- Use background sync
- Use push notifications

A service worker runs on a different thread, and doesn't affect the main JS thread. It can listen for fetch requests, push messages etc.

**Service worker lifecycle**

- Register the service worker file from the main app.js file.
- When you reload the page, the service worker is reinstalled only if the service worker file is changed.
- 

![image.png](https://cdn.hashnode.com/res/hashnode/image/upload/v1598520121839/Y4yIuKNng.png)


Full course link -  [Soruce](https://github.com/iamshaunjp/pwa-tutorial/tree/master) 
https://github.com/iamshaunjp/pwa-tutorial/tree/master
