This is regarding the serviceworker API that is used in Progressive Web App. Can anyone help me to understand the difference between Service worker install event and activate event?
Following are my understanding,
- Install event is the first event that occurs after registering the service worker.
- Install event only happens once - I'm not sure about this, i can see this event runs when page gets refreshed. So I'm confused with that statement.
- After the install event - activate event triggers.
- Activate event triggers every time when page reloads.
Apart from above statement, my question is what exactly the difference between two events, they both run one after another, if so why we need two events ?
Update: Sharing the resource which might help. I'm reading this.
Thanks for all the response.
This is regarding the serviceworker API that is used in Progressive Web App. Can anyone help me to understand the difference between Service worker install event and activate event?
Following are my understanding,
- Install event is the first event that occurs after registering the service worker.
- Install event only happens once - I'm not sure about this, i can see this event runs when page gets refreshed. So I'm confused with that statement.
- After the install event - activate event triggers.
- Activate event triggers every time when page reloads.
Apart from above statement, my question is what exactly the difference between two events, they both run one after another, if so why we need two events ?
Update: Sharing the resource which might help. I'm reading this. https://developers.google./web/fundamentals/instant-and-offline/service-worker/lifecycle
Thanks for all the response.
Share Improve this question edited Sep 18, 2017 at 17:38 ajeshrkurup asked Sep 18, 2017 at 17:14 ajeshrkurupajeshrkurup 1853 silver badges14 bronze badges 1- 1 Have you read the specification? – guest271314 Commented Sep 18, 2017 at 17:22
1 Answer
Reset to default 9The install event only fires when the service worker file is found to be new - either different to an existing service worker (byte-wise pared), or the first service worker encountered for this page/site.
It is good practice to cache any static files that your application may need, this means your application won't have to download these files unless they are updated.
If there is already an active service worker, the new service worker will be installed in the background - but not made active until there are no pages still using the old service worker.
The activate event will fire every time you make connection to your service worker. This is a good place to cache any extra (possibily dynamic) files, along with cleaning up old caches and things associated with the previous version of your service worker.