SlideShare a Scribd company logo
1 of 9
Download to read offline
What is the Use of Service Workers in
Progressive Web Apps
To develop cross-platform apps, Progressive Web Applications take advantage of Modern
Web APIs. These are online apps that have the functionality of native programmes.
Moreover, because they are compatible with desktops, Android, and iOS devices, users
will have the same experience using them as a native app on the web app development
service.
Conditions necessary for a PWA
1. HTTPS
It is necessary to employ Hypertext Transfer Protocol Secure due to security concerns.
Because of this, it is difficult for unauthorized parties to interfere with or manipulate
communications between websites and users' browsers.
2. Installable
Installers may be used with PWAs. These are not the same as shortcuts for the page.
After they have been installed, programmes of this kind may be transferred to another
user.
3. Network Independent
Offline experience, which is enhanced by the assistance of service employees.
4. Responsive
PWAs must be responsive. You will never come across a native application that behaves
like a desktop-view website and requires the user to swipe left and right to access the
programme's contents.
5. Installed on the primary screen (Installation)
These sorts of apps are similar to native programmes because they may be loaded on a
device and positioned on a screen similarly.
A safe and sound experience when online
A reduced amount of time is required for a website to load completely. In addition,
because the pages are cached, the user's experience with the website is generally
quicker, except for situations in which a new resource would need to be retrieved. This
helps with the background while you are offline. There will be more discussion on this
issue in the future.
Web Application Manifest
This determines what the end-user sees when the programme is launched after
installation. This covers things like the splash screen, the theme, etc. It is stored in the
database as a manifest. JSON.
The programme shown on the home screen has a name abbreviated as a short name.
"name" refers to the word provided on the application on Manifest Generator. When an
application is added to the home screen, it is represented by a "icon." Start URL" refers
to the URL that is loaded whenever the programme is started up.
The display identifies the application's preferred method of displaying content to the
user. For example, the application's default theme may be defined via the 'theme colour'
setting. 'background colour is the colour that determines the application's background.
Remember to include your manifest file in the head element of your HTML text. You will
not be presented with the chance to add an app to the home screen if the configuration
of your manifest file is incorrect or if you are missing a setting. On the other hand, if you
manually choose the option to add to the home screen, the application will be placed on
your home screen, but it will have the Chrome logo on it.
Employees of Service Organizations
Service workers are scripts that are written in Javascript and are responsible for
managing cache as well as reacting to resource requests. This aids in lowering the
dependency on the network since cached items will be loaded till a new resource is
obtained.
They have access to both the Cache Application Programming Interface (the interface
that provides a storage mechanism for Request and Response object pairs that are
cached) and the Fetch Application Programming Interface (the interface for fetching
resources), which assist in the storing of data for offline access.
They also provide support for Background Sync, which delays the execution of a user's
actions or requests until there is a consistent network connection. This guarantees that
the user's intended transmission of any data is carried out successfully.
How They Apply to Progressive web apps (pwa)
As was just said, service employees are beneficial to the offline experience on how to
build PWA app. Users can still carry out some actions even if they do not have network
connectivity in the vast majority of native programmes, even those that need an internet
connection for certain tasks. Twitter, Facebook, and Whatsapp are well-known native
programmes that use this feature. Even though you cannot publish a tweet, follow a
Facebook friend, or add a member to a WhatsApp group if you do not have a network
connection, the programmes may still be accessed.
The same may be said for applications that use the Progressive Web Platform. For
example, suppose you were previously in a position to activate one on your Web
application. In that case, you will need a service worker to enhance the quality of the
experience while you are not connected to the internet.
The folder level at which a service worker is installed determines the extent of the work
that that worker may perform. Therefore, it is inaccessible for usage with any file at a
level higher than the one on which it is put.
The Process of Registering the Worker
All of the work is performed in the worker file, but the registration is carried out in a
separate JavaScript file (index.js in our instance), which is necessary for our application.
After the service worker has been registered, it will sit and wait for a page to load before
continuing as progressive web application. It is installed to operate on the page when
any page within its scope loads, which may be any page. Even though it is established
when a page is loaded, it is not installed in a way exclusive to that page. Each installation
continues to contribute to the overall service workforce.
After determining whether or not the browser can support service workers, the next
step is to specify a scope. However, the scope option is not a choice since it is set to the
level of the service worker by default. You have the chance to define a class (which is
included inside the worker) that you would want the service worker to serve. Service
workers will intercept only requests with URLs that begin with the scope; this includes
everything inside the application as a whole ('/...'). Your content might look like this:
range: '/blog/tags/' if you wanted service workers to listen to requests that began with
/blog/tags/.
The worker registration takes place in the next line of code, which then delivers a
promise. After that, we deal with either the successful or unsuccessful registration.
Then, and. catches in their respective cases.
Configuration of the Workforce
Following the completion of the registration process, the service worker will be installed,
which happens only once for each scope. Therefore, if a service worker has already been
installed in the browser for that scope, the installation procedure will be avoided unless
we are attempting to install a service worker that has been newly created or changed.
During the installation process, an event known as "install" is triggered, allowing us to
listen to and run certain programmes. When the service worker is deployed, a new
cache will be generated, and we will refer to it as v1. After that, we add each of our files
to the supply by using the addAll() function and passing the array of files we want to add
as the input. After the installation is complete, an activation event will also be triggered.
The activation event will not start if there is no installation event.
The activate event is used to perform actions that, while the previous cache version was
active, would have caused the cache to become corrupted. For example, in this section,
we may clear up storage space by removing outdated cached files or versions that are no
longer required.
When a resource that the service worker manages is requested, the next step is for us to
utilize the retrieve event to instruct the service workers to do something with the cached
resources in their possession.
Before we answer, we check to see whether the information in our cache already
corresponds to the request. We can get the request from the network using the OR (||)
operator if the cache does not contain a suitable match for the request. After retrieving
the data, the request is saved in the cache case-by-case basis. Put () (which takes the
request and the clone from the network). This is a recommended course of action to get
offline copies of subsequent requests made for that resource.
Conclusion
You have successfully developed your progressive web application by following the
above procedures and applying them appropriately. When you or anybody else accesses
your website in the future, a window asking users to "Add to Home Screen" will appear.
The webpage will be downloaded into the device if the action is carried out.
Using a cache, the worker immediately stores a copy of any pre-defined resources that
are loaded (filesArr in the preceding example). You might try accessing the following
URLs to see if it works by disconnecting from the network and going directly to either '/'
or './tobecached/contact.html'. You'd find out that they opened independently of any
network.
Entering chrome:/serviceworker-internals/ in Chrome or about:
debugging#/runtime/this-firefox in Firefox will provide you with information on the
service workers registered on your browser. Analyzing the application using Chrome
Lighthouse is another method for determining whether or not the functionalities of your
PWA are in working order on service worker lifecycle.
Users often prefer native apps over websites since users may access them regardless of
whether or not they have an active network connection. Therefore, you shouldn't
restrict the capabilities of your web apps in any way.
Contact Details:-
Business Name:- Groovy Web
Website:- https://www.groovyweb.co/
Email:- hello@groovyweb.co
Facebook:- https://www.facebook.com/groovyweb.co
Instagram:- https://www.instagram.com/groovyweb.co
Twitter:- https://twitter.com/groovywebco
LinkedIn:- https://www.linkedin.com/company/groovyweb
What is the Use of Service Workers in Progressive Web Apps.pdf

More Related Content

Featured

How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
ThinkNow
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
Kurio // The Social Media Age(ncy)
 

Featured (20)

Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
 

What is the Use of Service Workers in Progressive Web Apps.pdf

  • 1. What is the Use of Service Workers in Progressive Web Apps To develop cross-platform apps, Progressive Web Applications take advantage of Modern Web APIs. These are online apps that have the functionality of native programmes. Moreover, because they are compatible with desktops, Android, and iOS devices, users will have the same experience using them as a native app on the web app development service. Conditions necessary for a PWA 1. HTTPS It is necessary to employ Hypertext Transfer Protocol Secure due to security concerns. Because of this, it is difficult for unauthorized parties to interfere with or manipulate communications between websites and users' browsers. 2. Installable Installers may be used with PWAs. These are not the same as shortcuts for the page. After they have been installed, programmes of this kind may be transferred to another user.
  • 2. 3. Network Independent Offline experience, which is enhanced by the assistance of service employees. 4. Responsive PWAs must be responsive. You will never come across a native application that behaves like a desktop-view website and requires the user to swipe left and right to access the programme's contents. 5. Installed on the primary screen (Installation) These sorts of apps are similar to native programmes because they may be loaded on a device and positioned on a screen similarly. A safe and sound experience when online A reduced amount of time is required for a website to load completely. In addition, because the pages are cached, the user's experience with the website is generally quicker, except for situations in which a new resource would need to be retrieved. This helps with the background while you are offline. There will be more discussion on this issue in the future.
  • 3. Web Application Manifest This determines what the end-user sees when the programme is launched after installation. This covers things like the splash screen, the theme, etc. It is stored in the database as a manifest. JSON. The programme shown on the home screen has a name abbreviated as a short name. "name" refers to the word provided on the application on Manifest Generator. When an application is added to the home screen, it is represented by a "icon." Start URL" refers to the URL that is loaded whenever the programme is started up. The display identifies the application's preferred method of displaying content to the user. For example, the application's default theme may be defined via the 'theme colour' setting. 'background colour is the colour that determines the application's background. Remember to include your manifest file in the head element of your HTML text. You will not be presented with the chance to add an app to the home screen if the configuration of your manifest file is incorrect or if you are missing a setting. On the other hand, if you manually choose the option to add to the home screen, the application will be placed on your home screen, but it will have the Chrome logo on it. Employees of Service Organizations Service workers are scripts that are written in Javascript and are responsible for managing cache as well as reacting to resource requests. This aids in lowering the
  • 4. dependency on the network since cached items will be loaded till a new resource is obtained. They have access to both the Cache Application Programming Interface (the interface that provides a storage mechanism for Request and Response object pairs that are cached) and the Fetch Application Programming Interface (the interface for fetching resources), which assist in the storing of data for offline access. They also provide support for Background Sync, which delays the execution of a user's actions or requests until there is a consistent network connection. This guarantees that the user's intended transmission of any data is carried out successfully. How They Apply to Progressive web apps (pwa) As was just said, service employees are beneficial to the offline experience on how to build PWA app. Users can still carry out some actions even if they do not have network connectivity in the vast majority of native programmes, even those that need an internet connection for certain tasks. Twitter, Facebook, and Whatsapp are well-known native programmes that use this feature. Even though you cannot publish a tweet, follow a Facebook friend, or add a member to a WhatsApp group if you do not have a network connection, the programmes may still be accessed. The same may be said for applications that use the Progressive Web Platform. For example, suppose you were previously in a position to activate one on your Web
  • 5. application. In that case, you will need a service worker to enhance the quality of the experience while you are not connected to the internet. The folder level at which a service worker is installed determines the extent of the work that that worker may perform. Therefore, it is inaccessible for usage with any file at a level higher than the one on which it is put. The Process of Registering the Worker All of the work is performed in the worker file, but the registration is carried out in a separate JavaScript file (index.js in our instance), which is necessary for our application. After the service worker has been registered, it will sit and wait for a page to load before continuing as progressive web application. It is installed to operate on the page when any page within its scope loads, which may be any page. Even though it is established when a page is loaded, it is not installed in a way exclusive to that page. Each installation continues to contribute to the overall service workforce. After determining whether or not the browser can support service workers, the next step is to specify a scope. However, the scope option is not a choice since it is set to the level of the service worker by default. You have the chance to define a class (which is included inside the worker) that you would want the service worker to serve. Service workers will intercept only requests with URLs that begin with the scope; this includes everything inside the application as a whole ('/...'). Your content might look like this:
  • 6. range: '/blog/tags/' if you wanted service workers to listen to requests that began with /blog/tags/. The worker registration takes place in the next line of code, which then delivers a promise. After that, we deal with either the successful or unsuccessful registration. Then, and. catches in their respective cases. Configuration of the Workforce Following the completion of the registration process, the service worker will be installed, which happens only once for each scope. Therefore, if a service worker has already been installed in the browser for that scope, the installation procedure will be avoided unless we are attempting to install a service worker that has been newly created or changed. During the installation process, an event known as "install" is triggered, allowing us to listen to and run certain programmes. When the service worker is deployed, a new cache will be generated, and we will refer to it as v1. After that, we add each of our files to the supply by using the addAll() function and passing the array of files we want to add as the input. After the installation is complete, an activation event will also be triggered. The activation event will not start if there is no installation event. The activate event is used to perform actions that, while the previous cache version was active, would have caused the cache to become corrupted. For example, in this section, we may clear up storage space by removing outdated cached files or versions that are no longer required.
  • 7. When a resource that the service worker manages is requested, the next step is for us to utilize the retrieve event to instruct the service workers to do something with the cached resources in their possession. Before we answer, we check to see whether the information in our cache already corresponds to the request. We can get the request from the network using the OR (||) operator if the cache does not contain a suitable match for the request. After retrieving the data, the request is saved in the cache case-by-case basis. Put () (which takes the request and the clone from the network). This is a recommended course of action to get offline copies of subsequent requests made for that resource. Conclusion You have successfully developed your progressive web application by following the above procedures and applying them appropriately. When you or anybody else accesses your website in the future, a window asking users to "Add to Home Screen" will appear. The webpage will be downloaded into the device if the action is carried out. Using a cache, the worker immediately stores a copy of any pre-defined resources that are loaded (filesArr in the preceding example). You might try accessing the following URLs to see if it works by disconnecting from the network and going directly to either '/' or './tobecached/contact.html'. You'd find out that they opened independently of any network.
  • 8. Entering chrome:/serviceworker-internals/ in Chrome or about: debugging#/runtime/this-firefox in Firefox will provide you with information on the service workers registered on your browser. Analyzing the application using Chrome Lighthouse is another method for determining whether or not the functionalities of your PWA are in working order on service worker lifecycle. Users often prefer native apps over websites since users may access them regardless of whether or not they have an active network connection. Therefore, you shouldn't restrict the capabilities of your web apps in any way. Contact Details:- Business Name:- Groovy Web Website:- https://www.groovyweb.co/ Email:- hello@groovyweb.co Facebook:- https://www.facebook.com/groovyweb.co Instagram:- https://www.instagram.com/groovyweb.co Twitter:- https://twitter.com/groovywebco LinkedIn:- https://www.linkedin.com/company/groovyweb