Progressive Web App

A progressive web app (PWA) is a web application designed to provide an experience on par with a native application. A PWA uses modern web technologies like WebAssembly and JavaScript service workers to provide fast execution of code and the ability to run offline. Unlike a traditional web app, a progressive web app can even be installed to a computer or mobile device and run like any other app in its own window.

Traditional web apps and progressive web apps both allow you to run an application in a web browser, but PWAs employ newer technologies and features that make them feel more like a native application. In addition to standard web technologies like HTML, CSS, and JavaScript, PWAs can use WebAssembly to run pre-compiled code (written in programming languages like C or Rust) within the web browser. They can also utilize special scripts, called service workers, that help cache data so that the PWA can operate without a network connection and provide support for notifications and app updates.

Some desktop and mobile operating systems allow you to install a progressive web app on a device like a native app. All PWAs also include a JSON-formatted file called a web app manifest that provides metadata (like the app's name, icon, and URL) that an operating system can use to present the PWA as an app. An installed PWA may run in a separate standalone window instead of a browser, or appear separately in the app switcher on a mobile device. An installed PWA can also utilize local data storage that persists across sessions and even update itself in the background while it's not actively running.

Updated July 20, 2023 by Brian P.

quizTest Your Knowledge

What CSS feature is used to create responsive websites?

A
Custom properties
0%
B
Media queries
0%
C
Feature queries
0%
D
Scroll snapping
0%
Correct! Incorrect!     View the Media Queries definition.
More Quizzes →

The Tech Terms Computer Dictionary

The definition of Progressive Web App on this page is an original definition written by the TechTerms.com team. If you would like to reference this page or cite this definition, please use the green citation links above.

The goal of TechTerms.com is to explain computer terminology in a way that is easy to understand. We strive for simplicity and accuracy with every definition we publish. If you have feedback about this definition or would like to suggest a new technical term, please contact us.

Sign up for the free TechTerms Newsletter

How often would you like to receive an email?

You can unsubscribe or change your frequency setting at any time using the links available in each email.

Questions? Please contact us.