Service Worker

From MgmtWiki
Jump to: navigation, search

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.

References

  1. 1.0 1.1 Web Workers Web Hypertext Application Technology Working Group (2010-06-03) http://www.whatwg.org/specs/web-workers/current-work/
  2. Learn Everything About Progressive Web Apps. HTML Panda https://www.htmlpanda.com/blog/learn-everything-about-progressive-web-apps/
  3. HTML Living Standard (2017-01-30) https://html.spec.whatwg.org/multipage/workers.html#delegation

Other References