# Using in Progressive Web Applications

The Kendo UI for Angular components are fully compatible with [Angular Service Workers](https://angular.dev/ecosystem/service-workers) and enable you to create [Progressive Web Applications](https://developer.mozilla.org/en-US/Apps/Progressive/Introduction).

## Overview

[Progressive Web Applications (PWAs)](https://developers.google.com/web/progressive-web-apps/) help you create applications for web and mobile platforms that can work offline and can be accessed outside the browser on supported mobile devices.

PWAs blur the line between web and traditional native applications and leverage a number of key technologies:

* [Service Workers](https://angular.dev/ecosystem/service-workers)—Allow the application to take control of the network and to function offline.
* [Application Manifest](https://developer.mozilla.org/en-US/docs/Web/Manifest)—Allows the user to pin the application to the **Home** screen.

The [Progressive Web App Checklist](https://developers.google.com/web/progressive-web-apps/checklist) lists all important requirements for Progressive web applications.

## Evaluating PWAs

Google's [Lighthouse](https://developers.google.com/web/tools/lighthouse/) tool generates a report which focuses on five major fields—performance, Progressive Web Application, accessibility, best practices, and search engine optimization (SEO). These indicators demonstrate the strengths and weaknesses of the application and allow for determining areas for improvement.

## Sample Project

This sample project is based on the [Angular Service Worker support for CLI projects](https://angular.dev/ecosystem/service-workers#service-workers-in-angular). For a working example on PWAs with a Lighthouse score of 90+, refer to the [kendo-angular-pwa](https://github.com/telerik/kendo-angular/tree/master/examples/projects/integration-pwa) repository on GitHub.

1. Create a template CLI project with a default `ngsw-config.json` configuration file for the service worker by running `ng new my-project --service-worker`. You can further modify `ngsw-config.json` by applying a custom [service worker configuration](https://angular.dev/ecosystem/service-workers/config#modifying-the-configuration%22).
2. (Optional) Create a `manifest.json` file. `manifest.json` instructs the application device how to display the application on its home screen. For more information on setting up and configuring `manifest.json`, refer to the article about the [web app manifest](https://developers.google.com/web/fundamentals/web-app-manifest/?utm_source=devtools).

## Suggested Links

* [Getting Started with Progressive Web Apps](https://codelabs.developers.google.com/codelabs/your-first-pwapp/#0)
* [Getting Started with Angular Service Worker](https://angular.dev/ecosystem/service-workers#service-workers-in-angular)
* [Getting Started with Kendo UI for Angular](https://www.telerik.com/kendo-angular-ui-develop/components/getting-started)
* [All Things Angular Telerik Blog Page](https://www.telerik.com/blogs/all-things-angular)
