Difference between revisions of "Service Worker"
From MgmtWiki
(→Full Title or Meme) |
(→References) |
||
Line 15: | Line 15: | ||
* Service workers can use multi-core CPUs more effectively than the single thread available in the web browsers.<ref> ''HTML Living Standard'' (2017-01-30) https://html.spec.whatwg.org/multipage/workers.html#delegation</ref> | * Service workers can use multi-core CPUs more effectively than the single thread available in the web browsers.<ref> ''HTML Living Standard'' (2017-01-30) https://html.spec.whatwg.org/multipage/workers.html#delegation</ref> | ||
* [https://googlechrome.github.io/samples/service-worker/basic/ Basic Service Worker Sample] from Google to pre-cache script and other files for [[Web App]]. | * [https://googlechrome.github.io/samples/service-worker/basic/ Basic Service Worker Sample] from Google to pre-cache script and other files for [[Web App]]. | ||
+ | |||
+ | ==Troubleshooting== | ||
+ | * using sw-precache to generate a service worker with Polymer CLI build process, so it's intended to update the hash of updated files to signal a need to update the cache. But updated content is not being replaced in cache, so it's getting an old version if refreshed with ctrl+r but the new version if refreshed with ctrl+shift+r. A reason for that can be that the service worker is not being updated. | ||
==References== | ==References== |
Revision as of 22:02, 19 January 2021
Contents
Full Title or Meme
A Service Worker, as defined by the World Wide Web Consortium (W3C) as a Web Worker, is a JavaScript executed from an Web Site that runs in the background, independently of user-interface scripts that could be executing in the HTML page.[1]
Context
- The simplest use of workers is for performing a computationally expensive task without interrupting the user interface.
- The W3C and the WHATWG are currently in the process of developing a definition for an application programming interface (API) for web workers.[1]
Problems
- Native mobile apps deliver rich experiences and high performance, purchased at the expense of storage space, lack of real-time updates, and low search engine visibility.[2]
- Traditional web apps suffer from the inverse set of factors: lack of a native compiled executable, along with dependence on unreliable and potentially slow web connectivity.
Solution
- Service worker script act as the extra layer between website requests and internet servers. It makes caching any content easier whenever visitor tries to access the Progressive Web App enabled page. The information is further saved locally on the device of user.
- The standards envision web workers as long-running scripts that are not interrupted by user-interface scripts (scripts that respond to clicks or other user interactions). Keeping such workers from being interrupted by user activities should allow Web pages to remain responsive at the same time as they are running long tasks in the background.
- Service workers can use multi-core CPUs more effectively than the single thread available in the web browsers.[3]
- Basic Service Worker Sample from Google to pre-cache script and other files for Web App.
Troubleshooting
- using sw-precache to generate a service worker with Polymer CLI build process, so it's intended to update the hash of updated files to signal a need to update the cache. But updated content is not being replaced in cache, so it's getting an old version if refreshed with ctrl+r but the new version if refreshed with ctrl+shift+r. A reason for that can be that the service worker is not being updated.
References
- ↑ 1.0 1.1 Web Workers Web Hypertext Application Technology Working Group (2010-06-03) http://www.whatwg.org/specs/web-workers/current-work/
- ↑ Learn Everything About Progressive Web Apps. HTML Panda https://www.htmlpanda.com/blog/learn-everything-about-progressive-web-apps/
- ↑ HTML Living Standard (2017-01-30) https://html.spec.whatwg.org/multipage/workers.html#delegation
Other References
- Workers: an Introduction for Android