From e03308ca80d28a9e31edb4ed4f2434023540c066 Mon Sep 17 00:00:00 2001 From: wbamberg Date: Wed, 3 May 2023 16:18:35 -0700 Subject: [PATCH 01/22] Add 'What is a PWA' guide --- .../what_is_a_progressive_web_app/index.md | 85 +++++++++++++++++++ 1 file changed, 85 insertions(+) create mode 100644 files/en-us/web/progressive_web_apps/guides/what_is_a_progressive_web_app/index.md diff --git a/files/en-us/web/progressive_web_apps/guides/what_is_a_progressive_web_app/index.md b/files/en-us/web/progressive_web_apps/guides/what_is_a_progressive_web_app/index.md new file mode 100644 index 000000000000000..80671153f4af159 --- /dev/null +++ b/files/en-us/web/progressive_web_apps/guides/what_is_a_progressive_web_app/index.md @@ -0,0 +1,85 @@ +--- +title: What is a progressive web app? +slug: Web/Progressive_web_apps/Guides/What_is_a_progressive_web_app +--- + +{{PWASidebar}} + +A progressive web app (PWA) is an app that's built using web platform technologies, but that provides a user experience like that of a platform-specific app. + +## Platform-specific apps + +_Platform-specific apps_ are developed for a specific operating system and/or class of device, like an iOS or Android device, generally using an {{Glossary("SDK")}} provided by the platform vendor. They are usually distributed using the vendor's app store, where the user can find and install them, and they subsequently seem to the user like a permanent extra feature of their device, expanding its capabilities in some way. + +The benefits of platform-specific apps include: + +- **Easy for users to access**: Apps get their own icon on the device, making it easy for users to find and open them. +- **Offline and background operation**: Apps are able to operate when the user is not interacting with them and when the device is offline. This, for example, enables a chat app to receive messages when it is not open, and display a notification to the user. It also enables a news app to update in the background so it can show fresh content even if the device is offline. +- **Dedicated UI**: Apps get to implement their own distinctive, immersive UI. +- **OS integration**: Apps can be integrated into the host OS: for example, a messaging app can register as a share target, enabling users to select an image in the photo app and send it using the messaging app. Apps can also access device features such as the camera, GPS or accelerometer. +- **App store integration**: Apps are distributed using the app store, giving users a single place to find them and a consistent way to decide whether they want to install them. + +## Traditional websites + +Traditionally, websites are less like "something the user has" and more like "somewhere the user visits". Typically, a website: does not have a presence on the user's device when the user is not accessing it, can only be accessed by the user opening the browser and navigating to the site, and is highly dependent on network connectivity. + +However, websites have some benefits over platform-specific apps, including: + +- **Single codebase**: Because the web is inherently cross-platform, a website can run on different operating systems and device classes from a single codebase. +- **Distribution via the web**: The web is a great distribution platform. Websites are indexed by search engines, and can be shared and accessed just using URLs. A website can be distributed with no need to sign up to any vendor's app store. + +## Progressive web apps + +Progressive web apps combine the best features of traditional websites and platform-specific apps. + +Like websites: + +- PWAs are developed using standard web platform technologies, so they can run on multiple operating systems and device classes from a single codebase. +- PWAs can be accessed directly from the web. + +But like platform-specific apps: + +- [**PWAs can be installed on the device**](/en-US/docs/Web/Progressive_web_apps/Guides/Making_PWAs_installable). This means: + + - The PWA can be installed from platform's app store or installed directly from the web. + - The PWA can be installed like a platform-specific app, and can customize the install process. + - Once installed, the PWA gets an app icon on the device, alongside platform-specific apps. + - Once installed, the PWA can be launched as a standalone app, rather than a website in a browser. + +- [**PWAs can operate in the background and offline**](/en-US/docs/Web/Progressive_web_apps/Guides/Offline_and_background_operation): a typical website is only active while the page is loaded in the browser. A PWA can: + + - Work while the device does not have network connectivity. + - Update content in the background. + - Respond to push messages from the server. + - Display notifications using the OS notificiations system. + +- PWAs can [use the whole screen](Web/Progressive_web_apps/How_to/Create_a_standalone_app), rather than running in the browser UI. +- PWAs can be integrated into the device, registering as share targets and sources, and accessing device features. +- PWAs can be distributed in app stores, as well as openly via the web. + +### Technical features of PWAs + +The fundamental technical features of a PWA are: + +- It has a [web app manifest](Web/Manifest) file, which at a minimum provides information that the browser needs in order to install the PWA, such as the app name and icon. +- It has a [service worker](Web/API/Service_Worker_API), which at a minimum provides a basic offline experience. + +#### Web app manifest + +A PWA must have a web app manifest, and the [manifest must include enough information for the browser to install the PWA](/Web/Progressive_web_apps/Guides/Making_PWAs_installable#the_web_app_manifest). + +The manifest can define many other aspects of the PWA's appearance, such as [theme](Web/Manifest/theme_color) and [background](Web/Manifest/background_color) colors, and its behavior, including its ability [to act as a share target](Web/Manifest/share_target) for data from other apps or [to handle particular file types](Web/Manifest/file_handlers). + +#### Service worker + +A PWA must have a service worker, and the service worker must implement at least a minimal offline experience. + +Service workers encourage an architecture in which the app's pages - that is, the traditional part of a website - implement the user interface, and the service worker implements a backend which can support [offline and background operation](Web/Progressive_web_apps/Guides/Offline_and_background_operation), making the PWA behave more like an app than a website. This is because service workers can be started by the runtime when they are needed (for example, to handle a push notification). + +### Progressive enhancement + +While {{Glossary("Progressive Enhancement", "progressive enhancement")}} is a desirable attribute for most websites, it is especially important for PWAs, which expect to run on a wide range of devices and often use advanced Web APIs which may not be supported by all browsers. + +One basic component of this is that if the user visits your PWA on the web, and the browser/device can install it, then the user will be prompted to install it. If the browser/device can't install your PWA, then the user will be able to interact with it like a normal website. + +PWAs should perform feature detection for advanced APIs, and provide an acceptable fallback experience. For example, the [Background Sync API](Web/API/Background_Synchronization_API) enables a PWA to ask a service worker to make a network request as soon as the device has connectivity. A classic use case for this is messaging. Suppose the user composes a message, but when the user tries to send the message, the device is offline. The Background Sync API enables the device to send the message in the background once the device is connected. On a device which does not support Background Sync, the app should let the user know that the message could not be sent, giving them the chance to try again later. From 543df0544e91b633d04d831ded11997670dde03a Mon Sep 17 00:00:00 2001 From: wbamberg Date: Thu, 4 May 2023 15:35:53 -0700 Subject: [PATCH 02/22] Update files/en-us/web/progressive_web_apps/guides/what_is_a_progressive_web_app/index.md Co-authored-by: Estelle Weyl --- .../guides/what_is_a_progressive_web_app/index.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/files/en-us/web/progressive_web_apps/guides/what_is_a_progressive_web_app/index.md b/files/en-us/web/progressive_web_apps/guides/what_is_a_progressive_web_app/index.md index 80671153f4af159..162dd0ad5f87139 100644 --- a/files/en-us/web/progressive_web_apps/guides/what_is_a_progressive_web_app/index.md +++ b/files/en-us/web/progressive_web_apps/guides/what_is_a_progressive_web_app/index.md @@ -13,11 +13,11 @@ _Platform-specific apps_ are developed for a specific operating system and/or cl The benefits of platform-specific apps include: -- **Easy for users to access**: Apps get their own icon on the device, making it easy for users to find and open them. -- **Offline and background operation**: Apps are able to operate when the user is not interacting with them and when the device is offline. This, for example, enables a chat app to receive messages when it is not open, and display a notification to the user. It also enables a news app to update in the background so it can show fresh content even if the device is offline. -- **Dedicated UI**: Apps get to implement their own distinctive, immersive UI. -- **OS integration**: Apps can be integrated into the host OS: for example, a messaging app can register as a share target, enabling users to select an image in the photo app and send it using the messaging app. Apps can also access device features such as the camera, GPS or accelerometer. -- **App store integration**: Apps are distributed using the app store, giving users a single place to find them and a consistent way to decide whether they want to install them. +- **Easy for users to access**: They get their own icon on the device, making it easy for users to find and open them. +- **Offline and background operation**: They are able to operate when the user is not interacting with them and when the device is offline. This, for example, enables a chat app to receive messages when it is not open, and display a notification to the user. It also enables a news app to update in the background so it can show fresh content even if the device is offline. +- **Dedicated UI**: They get to implement their own distinctive, immersive UI. +- **OS integration**: They can be integrated into the host OS: for example, a messaging app can register as a share target, enabling users to select an image in the photo app and send it using the messaging app. They can also access device features such as the camera, GPS or accelerometer. +- **App store integration**: They are distributed using the app store, giving users a single place to find them and a consistent way to decide whether they want to install them. ## Traditional websites From 1f2729a3adfd03b88d5c877decf7ae4ea1ec2033 Mon Sep 17 00:00:00 2001 From: wbamberg Date: Thu, 4 May 2023 15:39:57 -0700 Subject: [PATCH 03/22] Update files/en-us/web/progressive_web_apps/guides/what_is_a_progressive_web_app/index.md Co-authored-by: Estelle Weyl --- .../guides/what_is_a_progressive_web_app/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/files/en-us/web/progressive_web_apps/guides/what_is_a_progressive_web_app/index.md b/files/en-us/web/progressive_web_apps/guides/what_is_a_progressive_web_app/index.md index 162dd0ad5f87139..5c8dbf87d0229fd 100644 --- a/files/en-us/web/progressive_web_apps/guides/what_is_a_progressive_web_app/index.md +++ b/files/en-us/web/progressive_web_apps/guides/what_is_a_progressive_web_app/index.md @@ -32,7 +32,7 @@ However, websites have some benefits over platform-specific apps, including: Progressive web apps combine the best features of traditional websites and platform-specific apps. -Like websites: +PWAs have the benefits of websites, including: - PWAs are developed using standard web platform technologies, so they can run on multiple operating systems and device classes from a single codebase. - PWAs can be accessed directly from the web. From 44e593d0bd07b7e79d53e1cafc4539b10efb965f Mon Sep 17 00:00:00 2001 From: wbamberg Date: Thu, 4 May 2023 15:40:21 -0700 Subject: [PATCH 04/22] Update files/en-us/web/progressive_web_apps/guides/what_is_a_progressive_web_app/index.md Co-authored-by: Estelle Weyl --- .../guides/what_is_a_progressive_web_app/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/files/en-us/web/progressive_web_apps/guides/what_is_a_progressive_web_app/index.md b/files/en-us/web/progressive_web_apps/guides/what_is_a_progressive_web_app/index.md index 5c8dbf87d0229fd..2f221823bbb00d6 100644 --- a/files/en-us/web/progressive_web_apps/guides/what_is_a_progressive_web_app/index.md +++ b/files/en-us/web/progressive_web_apps/guides/what_is_a_progressive_web_app/index.md @@ -37,7 +37,7 @@ PWAs have the benefits of websites, including: - PWAs are developed using standard web platform technologies, so they can run on multiple operating systems and device classes from a single codebase. - PWAs can be accessed directly from the web. -But like platform-specific apps: +PWAs also have many of the benefits of platform-specific apps, including: - [**PWAs can be installed on the device**](/en-US/docs/Web/Progressive_web_apps/Guides/Making_PWAs_installable). This means: From f29e56ef3aefe42768e3ebfbf4297b5c81ecb979 Mon Sep 17 00:00:00 2001 From: wbamberg Date: Thu, 4 May 2023 15:43:26 -0700 Subject: [PATCH 05/22] Update files/en-us/web/progressive_web_apps/guides/what_is_a_progressive_web_app/index.md Co-authored-by: Estelle Weyl --- .../guides/what_is_a_progressive_web_app/index.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/files/en-us/web/progressive_web_apps/guides/what_is_a_progressive_web_app/index.md b/files/en-us/web/progressive_web_apps/guides/what_is_a_progressive_web_app/index.md index 2f221823bbb00d6..34b774f4b3f3dc5 100644 --- a/files/en-us/web/progressive_web_apps/guides/what_is_a_progressive_web_app/index.md +++ b/files/en-us/web/progressive_web_apps/guides/what_is_a_progressive_web_app/index.md @@ -61,8 +61,8 @@ PWAs also have many of the benefits of platform-specific apps, including: The fundamental technical features of a PWA are: -- It has a [web app manifest](Web/Manifest) file, which at a minimum provides information that the browser needs in order to install the PWA, such as the app name and icon. -- It has a [service worker](Web/API/Service_Worker_API), which at a minimum provides a basic offline experience. +- It has a [web app manifest](Web/Manifest) file, which, at a minimum, provides information that the browser needs in order to install the PWA, such as the app name and icon. +- It has a [service worker](Web/API/Service_Worker_API), which, at a minimum, provides a basic offline experience. #### Web app manifest From 9a3e1fb7855268da061198ef804815a829a2907e Mon Sep 17 00:00:00 2001 From: wbamberg Date: Thu, 4 May 2023 15:45:41 -0700 Subject: [PATCH 06/22] Update files/en-us/web/progressive_web_apps/guides/what_is_a_progressive_web_app/index.md Co-authored-by: Estelle Weyl --- .../guides/what_is_a_progressive_web_app/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/files/en-us/web/progressive_web_apps/guides/what_is_a_progressive_web_app/index.md b/files/en-us/web/progressive_web_apps/guides/what_is_a_progressive_web_app/index.md index 34b774f4b3f3dc5..0b0e3101083b172 100644 --- a/files/en-us/web/progressive_web_apps/guides/what_is_a_progressive_web_app/index.md +++ b/files/en-us/web/progressive_web_apps/guides/what_is_a_progressive_web_app/index.md @@ -80,6 +80,6 @@ Service workers encourage an architecture in which the app's pages - that is, th While {{Glossary("Progressive Enhancement", "progressive enhancement")}} is a desirable attribute for most websites, it is especially important for PWAs, which expect to run on a wide range of devices and often use advanced Web APIs which may not be supported by all browsers. -One basic component of this is that if the user visits your PWA on the web, and the browser/device can install it, then the user will be prompted to install it. If the browser/device can't install your PWA, then the user will be able to interact with it like a normal website. +One basic component of progressive enhancement is that, if the user visits your PWA on the web and the browser/device can install it, the user will be prompted to install it. If the browser/device can't install your PWA, the user can still interact with it like a normal website. PWAs should perform feature detection for advanced APIs, and provide an acceptable fallback experience. For example, the [Background Sync API](Web/API/Background_Synchronization_API) enables a PWA to ask a service worker to make a network request as soon as the device has connectivity. A classic use case for this is messaging. Suppose the user composes a message, but when the user tries to send the message, the device is offline. The Background Sync API enables the device to send the message in the background once the device is connected. On a device which does not support Background Sync, the app should let the user know that the message could not be sent, giving them the chance to try again later. From 1fbfd44095d0f4ba22d9f6e8d91cac2adad4d4de Mon Sep 17 00:00:00 2001 From: wbamberg Date: Thu, 4 May 2023 15:54:21 -0700 Subject: [PATCH 07/22] Update files/en-us/web/progressive_web_apps/guides/what_is_a_progressive_web_app/index.md Co-authored-by: Estelle Weyl --- .../guides/what_is_a_progressive_web_app/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/files/en-us/web/progressive_web_apps/guides/what_is_a_progressive_web_app/index.md b/files/en-us/web/progressive_web_apps/guides/what_is_a_progressive_web_app/index.md index 0b0e3101083b172..7ce5d5e1f4a7c46 100644 --- a/files/en-us/web/progressive_web_apps/guides/what_is_a_progressive_web_app/index.md +++ b/files/en-us/web/progressive_web_apps/guides/what_is_a_progressive_web_app/index.md @@ -68,7 +68,7 @@ The fundamental technical features of a PWA are: A PWA must have a web app manifest, and the [manifest must include enough information for the browser to install the PWA](/Web/Progressive_web_apps/Guides/Making_PWAs_installable#the_web_app_manifest). -The manifest can define many other aspects of the PWA's appearance, such as [theme](Web/Manifest/theme_color) and [background](Web/Manifest/background_color) colors, and its behavior, including its ability [to act as a share target](Web/Manifest/share_target) for data from other apps or [to handle particular file types](Web/Manifest/file_handlers). +The manifest can define many other aspects of the PWA's appearance, such as [theme color](Web/Manifest/theme_color) and [background color](Web/Manifest/background_color), and its behavior, including its ability to [act as a share target](Web/Manifest/share_target) for data from other apps or to [handle particular file types](Web/Manifest/file_handlers). #### Service worker From 11c6d1ddec88fd08ac3e02a0ebd900c1c145fff3 Mon Sep 17 00:00:00 2001 From: wbamberg Date: Thu, 4 May 2023 16:01:55 -0700 Subject: [PATCH 08/22] Update files/en-us/web/progressive_web_apps/guides/what_is_a_progressive_web_app/index.md Co-authored-by: Estelle Weyl --- .../guides/what_is_a_progressive_web_app/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/files/en-us/web/progressive_web_apps/guides/what_is_a_progressive_web_app/index.md b/files/en-us/web/progressive_web_apps/guides/what_is_a_progressive_web_app/index.md index 7ce5d5e1f4a7c46..b098fde7d5232c0 100644 --- a/files/en-us/web/progressive_web_apps/guides/what_is_a_progressive_web_app/index.md +++ b/files/en-us/web/progressive_web_apps/guides/what_is_a_progressive_web_app/index.md @@ -82,4 +82,4 @@ While {{Glossary("Progressive Enhancement", "progressive enhancement")}} is a de One basic component of progressive enhancement is that, if the user visits your PWA on the web and the browser/device can install it, the user will be prompted to install it. If the browser/device can't install your PWA, the user can still interact with it like a normal website. -PWAs should perform feature detection for advanced APIs, and provide an acceptable fallback experience. For example, the [Background Sync API](Web/API/Background_Synchronization_API) enables a PWA to ask a service worker to make a network request as soon as the device has connectivity. A classic use case for this is messaging. Suppose the user composes a message, but when the user tries to send the message, the device is offline. The Background Sync API enables the device to send the message in the background once the device is connected. On a device which does not support Background Sync, the app should let the user know that the message could not be sent, giving them the chance to try again later. +PWAs should perform feature detection for advanced APIs and provide acceptable fallback experiences. For example, the [Background Sync API](Web/API/Background_Synchronization_API) enables a PWA to ask a service worker to make a network request as soon as the device has connectivity. A classic use case for this is messaging. Suppose the user composes a message, but when the user tries to send the message, the device is offline. The Background Sync API enables the device to send the message in the background once the device is connected. On a device that does not support Background Sync, the app should let the user know the message could not be sent, giving them the chance to try again later. From 3c908510b2446ba83647d460137db406b5ae8146 Mon Sep 17 00:00:00 2001 From: wbamberg Date: Thu, 4 May 2023 20:11:22 -0700 Subject: [PATCH 09/22] Fix links --- .../guides/what_is_a_progressive_web_app/index.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/files/en-us/web/progressive_web_apps/guides/what_is_a_progressive_web_app/index.md b/files/en-us/web/progressive_web_apps/guides/what_is_a_progressive_web_app/index.md index b098fde7d5232c0..960adecfe66c314 100644 --- a/files/en-us/web/progressive_web_apps/guides/what_is_a_progressive_web_app/index.md +++ b/files/en-us/web/progressive_web_apps/guides/what_is_a_progressive_web_app/index.md @@ -53,7 +53,7 @@ PWAs also have many of the benefits of platform-specific apps, including: - Respond to push messages from the server. - Display notifications using the OS notificiations system. -- PWAs can [use the whole screen](Web/Progressive_web_apps/How_to/Create_a_standalone_app), rather than running in the browser UI. +- PWAs can [use the whole screen](/en-US/docs/Web/Progressive_web_apps/How_to/Create_a_standalone_app), rather than running in the browser UI. - PWAs can be integrated into the device, registering as share targets and sources, and accessing device features. - PWAs can be distributed in app stores, as well as openly via the web. @@ -61,20 +61,20 @@ PWAs also have many of the benefits of platform-specific apps, including: The fundamental technical features of a PWA are: -- It has a [web app manifest](Web/Manifest) file, which, at a minimum, provides information that the browser needs in order to install the PWA, such as the app name and icon. -- It has a [service worker](Web/API/Service_Worker_API), which, at a minimum, provides a basic offline experience. +- It has a [web app manifest](/en-US/docs/Web/Manifest) file, which, at a minimum, provides information that the browser needs in order to install the PWA, such as the app name and icon. +- It has a [service worker](/en-US/docs/Web/API/Service_Worker_API), which, at a minimum, provides a basic offline experience. #### Web app manifest -A PWA must have a web app manifest, and the [manifest must include enough information for the browser to install the PWA](/Web/Progressive_web_apps/Guides/Making_PWAs_installable#the_web_app_manifest). +A PWA must have a web app manifest, and the [manifest must include enough information for the browser to install the PWA](/en-US/docs/Web/Progressive_web_apps/Guides/Making_PWAs_installable#the_web_app_manifest). -The manifest can define many other aspects of the PWA's appearance, such as [theme color](Web/Manifest/theme_color) and [background color](Web/Manifest/background_color), and its behavior, including its ability to [act as a share target](Web/Manifest/share_target) for data from other apps or to [handle particular file types](Web/Manifest/file_handlers). +The manifest can define many other aspects of the PWA's appearance, such as [theme color](/en-US/docs/Web/Manifest/theme_color) and [background color](/en-US/docs/Web/Manifest/background_color), and its behavior, including its ability to [act as a share target](/en-US/docs/Web/Manifest/share_target) for data from other apps or to [handle particular file types](/en-US/docs/Web/Manifest/file_handlers). #### Service worker A PWA must have a service worker, and the service worker must implement at least a minimal offline experience. -Service workers encourage an architecture in which the app's pages - that is, the traditional part of a website - implement the user interface, and the service worker implements a backend which can support [offline and background operation](Web/Progressive_web_apps/Guides/Offline_and_background_operation), making the PWA behave more like an app than a website. This is because service workers can be started by the runtime when they are needed (for example, to handle a push notification). +Service workers encourage an architecture in which the app's pages - that is, the traditional part of a website - implement the user interface, and the service worker implements a backend which can support [offline and background operation](/en-US/docs/Web/Progressive_web_apps/Guides/Offline_and_background_operation), making the PWA behave more like an app than a website. This is because service workers can be started by the runtime when they are needed (for example, to handle a push notification). ### Progressive enhancement @@ -82,4 +82,4 @@ While {{Glossary("Progressive Enhancement", "progressive enhancement")}} is a de One basic component of progressive enhancement is that, if the user visits your PWA on the web and the browser/device can install it, the user will be prompted to install it. If the browser/device can't install your PWA, the user can still interact with it like a normal website. -PWAs should perform feature detection for advanced APIs and provide acceptable fallback experiences. For example, the [Background Sync API](Web/API/Background_Synchronization_API) enables a PWA to ask a service worker to make a network request as soon as the device has connectivity. A classic use case for this is messaging. Suppose the user composes a message, but when the user tries to send the message, the device is offline. The Background Sync API enables the device to send the message in the background once the device is connected. On a device that does not support Background Sync, the app should let the user know the message could not be sent, giving them the chance to try again later. +PWAs should perform feature detection for advanced APIs and provide acceptable fallback experiences. For example, the [Background Sync API](/en-US/docs/Web/API/Background_Synchronization_API) enables a PWA to ask a service worker to make a network request as soon as the device has connectivity. A classic use case for this is messaging. Suppose the user composes a message, but when the user tries to send the message, the device is offline. The Background Sync API enables the device to send the message in the background once the device is connected. On a device that does not support Background Sync, the app should let the user know the message could not be sent, giving them the chance to try again later. From 273e79c58744a760e02319ce40cff4baa5672315 Mon Sep 17 00:00:00 2001 From: wbamberg Date: Fri, 5 May 2023 09:22:17 -0700 Subject: [PATCH 10/22] Update files/en-us/web/progressive_web_apps/guides/what_is_a_progressive_web_app/index.md Co-authored-by: Patrick Brosset --- .../guides/what_is_a_progressive_web_app/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/files/en-us/web/progressive_web_apps/guides/what_is_a_progressive_web_app/index.md b/files/en-us/web/progressive_web_apps/guides/what_is_a_progressive_web_app/index.md index 960adecfe66c314..8abdef930bc4709 100644 --- a/files/en-us/web/progressive_web_apps/guides/what_is_a_progressive_web_app/index.md +++ b/files/en-us/web/progressive_web_apps/guides/what_is_a_progressive_web_app/index.md @@ -9,7 +9,7 @@ A progressive web app (PWA) is an app that's built using web platform technologi ## Platform-specific apps -_Platform-specific apps_ are developed for a specific operating system and/or class of device, like an iOS or Android device, generally using an {{Glossary("SDK")}} provided by the platform vendor. They are usually distributed using the vendor's app store, where the user can find and install them, and they subsequently seem to the user like a permanent extra feature of their device, expanding its capabilities in some way. +_Platform-specific apps_ are developed for a specific operating system (OS) and/or class of device, like an iOS or Android device, generally using an {{Glossary("SDK")}} provided by the platform vendor. They are usually distributed using the vendor's app store, where the user can find and install them, and they subsequently seem to the user like a permanent extra feature of their device, expanding its capabilities in some way. The benefits of platform-specific apps include: From 3c9521b6ba12c7e54dded1bd6a6a472ff071ba0b Mon Sep 17 00:00:00 2001 From: wbamberg Date: Fri, 5 May 2023 09:22:40 -0700 Subject: [PATCH 11/22] Update files/en-us/web/progressive_web_apps/guides/what_is_a_progressive_web_app/index.md Co-authored-by: Patrick Brosset --- .../guides/what_is_a_progressive_web_app/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/files/en-us/web/progressive_web_apps/guides/what_is_a_progressive_web_app/index.md b/files/en-us/web/progressive_web_apps/guides/what_is_a_progressive_web_app/index.md index 8abdef930bc4709..850c068b64e6660 100644 --- a/files/en-us/web/progressive_web_apps/guides/what_is_a_progressive_web_app/index.md +++ b/files/en-us/web/progressive_web_apps/guides/what_is_a_progressive_web_app/index.md @@ -74,7 +74,7 @@ The manifest can define many other aspects of the PWA's appearance, such as [the A PWA must have a service worker, and the service worker must implement at least a minimal offline experience. -Service workers encourage an architecture in which the app's pages - that is, the traditional part of a website - implement the user interface, and the service worker implements a backend which can support [offline and background operation](/en-US/docs/Web/Progressive_web_apps/Guides/Offline_and_background_operation), making the PWA behave more like an app than a website. This is because service workers can be started by the runtime when they are needed (for example, to handle a push notification). +Service workers encourage an architecture in which the app's pages - that is, the traditional part of a website - implement the user interface, and the service worker implements a backend which can support [offline and background operation](/en-US/docs/Web/Progressive_web_apps/Guides/Offline_and_background_operation), making the PWA behave more like an app than a website. This is because service workers can be started by the browser in the background when they are needed (for example, to handle a push notification). ### Progressive enhancement From 791a44c724e3d05ad1b025659639d921442fdcf1 Mon Sep 17 00:00:00 2001 From: wbamberg Date: Fri, 5 May 2023 09:23:37 -0700 Subject: [PATCH 12/22] Update files/en-us/web/progressive_web_apps/guides/what_is_a_progressive_web_app/index.md Co-authored-by: Patrick Brosset --- .../guides/what_is_a_progressive_web_app/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/files/en-us/web/progressive_web_apps/guides/what_is_a_progressive_web_app/index.md b/files/en-us/web/progressive_web_apps/guides/what_is_a_progressive_web_app/index.md index 850c068b64e6660..2d7abfda42a92b7 100644 --- a/files/en-us/web/progressive_web_apps/guides/what_is_a_progressive_web_app/index.md +++ b/files/en-us/web/progressive_web_apps/guides/what_is_a_progressive_web_app/index.md @@ -80,6 +80,6 @@ Service workers encourage an architecture in which the app's pages - that is, th While {{Glossary("Progressive Enhancement", "progressive enhancement")}} is a desirable attribute for most websites, it is especially important for PWAs, which expect to run on a wide range of devices and often use advanced Web APIs which may not be supported by all browsers. -One basic component of progressive enhancement is that, if the user visits your PWA on the web and the browser/device can install it, the user will be prompted to install it. If the browser/device can't install your PWA, the user can still interact with it like a normal website. +One basic component of progressive enhancement is that, if the user visits your PWA on the web by entering its URL in a browser, the user can interact with the app like a normal website. But if the browser can install it, the user will be prompted to install it and the app will appear as a new feature on their device. PWAs should perform feature detection for advanced APIs and provide acceptable fallback experiences. For example, the [Background Sync API](/en-US/docs/Web/API/Background_Synchronization_API) enables a PWA to ask a service worker to make a network request as soon as the device has connectivity. A classic use case for this is messaging. Suppose the user composes a message, but when the user tries to send the message, the device is offline. The Background Sync API enables the device to send the message in the background once the device is connected. On a device that does not support Background Sync, the app should let the user know the message could not be sent, giving them the chance to try again later. From dcf8c15beccfb00c98d6b60f0ccaf59821714829 Mon Sep 17 00:00:00 2001 From: wbamberg Date: Fri, 5 May 2023 09:23:51 -0700 Subject: [PATCH 13/22] Update files/en-us/web/progressive_web_apps/guides/what_is_a_progressive_web_app/index.md Co-authored-by: Patrick Brosset --- .../guides/what_is_a_progressive_web_app/index.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/files/en-us/web/progressive_web_apps/guides/what_is_a_progressive_web_app/index.md b/files/en-us/web/progressive_web_apps/guides/what_is_a_progressive_web_app/index.md index 2d7abfda42a92b7..db4fc2903c74d05 100644 --- a/files/en-us/web/progressive_web_apps/guides/what_is_a_progressive_web_app/index.md +++ b/files/en-us/web/progressive_web_apps/guides/what_is_a_progressive_web_app/index.md @@ -82,4 +82,6 @@ While {{Glossary("Progressive Enhancement", "progressive enhancement")}} is a de One basic component of progressive enhancement is that, if the user visits your PWA on the web by entering its URL in a browser, the user can interact with the app like a normal website. But if the browser can install it, the user will be prompted to install it and the app will appear as a new feature on their device. -PWAs should perform feature detection for advanced APIs and provide acceptable fallback experiences. For example, the [Background Sync API](/en-US/docs/Web/API/Background_Synchronization_API) enables a PWA to ask a service worker to make a network request as soon as the device has connectivity. A classic use case for this is messaging. Suppose the user composes a message, but when the user tries to send the message, the device is offline. The Background Sync API enables the device to send the message in the background once the device is connected. On a device that does not support Background Sync, the app should let the user know the message could not be sent, giving them the chance to try again later. +PWAs should perform feature detection for advanced APIs and provide acceptable fallback experiences. + +For example, the [Background Sync API](/en-US/docs/Web/API/Background_Synchronization_API) enables a PWA to ask a service worker to make a network request as soon as the device has connectivity. A classic use case for this is messaging. Suppose the user composes a message, but when the user tries to send the message, the device is offline. The Background Sync API enables the device to send the message in the background once the device is connected. On a device that does not support Background Sync, the app should let the user know the message could not be sent, giving them the chance to try again later. From 03dc0ac7090fae728527e86ccccb3ef35f9f2230 Mon Sep 17 00:00:00 2001 From: wbamberg Date: Fri, 5 May 2023 10:45:40 -0700 Subject: [PATCH 14/22] Clarify the relationshi between PWAs and the browser --- .../guides/what_is_a_progressive_web_app/index.md | 10 ++++++++++ .../what_is_a_progressive_web_app/pwa-environment.svg | 4 ++++ 2 files changed, 14 insertions(+) create mode 100644 files/en-us/web/progressive_web_apps/guides/what_is_a_progressive_web_app/pwa-environment.svg diff --git a/files/en-us/web/progressive_web_apps/guides/what_is_a_progressive_web_app/index.md b/files/en-us/web/progressive_web_apps/guides/what_is_a_progressive_web_app/index.md index db4fc2903c74d05..3a5b52585261fb7 100644 --- a/files/en-us/web/progressive_web_apps/guides/what_is_a_progressive_web_app/index.md +++ b/files/en-us/web/progressive_web_apps/guides/what_is_a_progressive_web_app/index.md @@ -57,6 +57,16 @@ PWAs also have many of the benefits of platform-specific apps, including: - PWAs can be integrated into the device, registering as share targets and sources, and accessing device features. - PWAs can be distributed in app stores, as well as openly via the web. +### PWAs and the browser + +When you visit a website in the browser, it's obvious that the website is "running in the browser". The browser UI provides a visible frame around the website including UI features like back/forward buttons and a title for the page, and the Web APIs your website calls are implemented by the browser engine. So the browser provides a kind of virtual machine for executing the website's code. + +PWAs typically look like platform-specific apps, so they usually don't have the browser UI around them, but they are, as a matter of technology, still websites. This means they need a browser engine, like Chrome or Firefox, to manage and run them. With a platform-specific app, it's the platform OS that manages the app, and provides an environment in which it runs. With a PWA, it's a browser engine that performs this background role, just like it does for normal websites. + +![Diagram comparing the runtime environment for traditional websites, PWAs, and platform-specific apps](pwa-environment.svg) + +In our documentation for PWAs, we sometimes refer to the browser playing this background role. We might say, for example, "the browser starts a PWA's service worker when a push notification is received". Here, the browser's activity is entirely in the background. From the PWA's point of view, it might as well be the operating system which started it, and for some systems, such as Chromebooks, there may not even be a distinction between "the browser" and "the operating system". + ### Technical features of PWAs The fundamental technical features of a PWA are: diff --git a/files/en-us/web/progressive_web_apps/guides/what_is_a_progressive_web_app/pwa-environment.svg b/files/en-us/web/progressive_web_apps/guides/what_is_a_progressive_web_app/pwa-environment.svg new file mode 100644 index 000000000000000..199335cf81a4d52 --- /dev/null +++ b/files/en-us/web/progressive_web_apps/guides/what_is_a_progressive_web_app/pwa-environment.svg @@ -0,0 +1,4 @@ + + + +
Platform-specific app
Platform-specific...
Progressive web app
Progressive web app
Browser engine
Browser engine
Operating system
Operating system
Traditional website
Traditional websi...
Browser UI
Browser UI
Device
Device
Text is not SVG - cannot display
\ No newline at end of file From 70dca9c95f7ddc96f40be350e3750e553952e9d6 Mon Sep 17 00:00:00 2001 From: wbamberg Date: Fri, 5 May 2023 10:55:47 -0700 Subject: [PATCH 15/22] Compress SVG --- .../guides/what_is_a_progressive_web_app/pwa-environment.svg | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/files/en-us/web/progressive_web_apps/guides/what_is_a_progressive_web_app/pwa-environment.svg b/files/en-us/web/progressive_web_apps/guides/what_is_a_progressive_web_app/pwa-environment.svg index 199335cf81a4d52..4d5d127a2238e70 100644 --- a/files/en-us/web/progressive_web_apps/guides/what_is_a_progressive_web_app/pwa-environment.svg +++ b/files/en-us/web/progressive_web_apps/guides/what_is_a_progressive_web_app/pwa-environment.svg @@ -1,4 +1 @@ - - - -
Platform-specific app
Platform-specific...
Progressive web app
Progressive web app
Browser engine
Browser engine
Operating system
Operating system
Traditional website
Traditional websi...
Browser UI
Browser UI
Device
Device
Text is not SVG - cannot display
\ No newline at end of file +
Platform-specific app
Platform-specific...
Progressive web app
Progressive web app
Browser engine
Browser engine
Operating system
Operating system
Traditional website
Traditional websi...
Browser UI
Browser UI
Device
Device
Text is not SVG - cannot display
\ No newline at end of file From e57351a99b7d4e2b85ce4479c2aa79704fd64fe1 Mon Sep 17 00:00:00 2001 From: wbamberg Date: Fri, 5 May 2023 11:06:16 -0700 Subject: [PATCH 16/22] Remove SVG footer message --- .../guides/what_is_a_progressive_web_app/pwa-environment.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/files/en-us/web/progressive_web_apps/guides/what_is_a_progressive_web_app/pwa-environment.svg b/files/en-us/web/progressive_web_apps/guides/what_is_a_progressive_web_app/pwa-environment.svg index 4d5d127a2238e70..3a81d6b0482c248 100644 --- a/files/en-us/web/progressive_web_apps/guides/what_is_a_progressive_web_app/pwa-environment.svg +++ b/files/en-us/web/progressive_web_apps/guides/what_is_a_progressive_web_app/pwa-environment.svg @@ -1 +1 @@ -
Platform-specific app
Platform-specific...
Progressive web app
Progressive web app
Browser engine
Browser engine
Operating system
Operating system
Traditional website
Traditional websi...
Browser UI
Browser UI
Device
Device
Text is not SVG - cannot display
\ No newline at end of file +
Platform-specific app
Platform-specific...
Progressive web app
Progressive web app
Browser engine
Browser engine
Operating system
Operating system
Traditional website
Traditional websi...
Browser UI
Browser UI
Device
Device
\ No newline at end of file From aab08069ed87f63212ad04c2316e9c33c6ce8333 Mon Sep 17 00:00:00 2001 From: wbamberg Date: Tue, 9 May 2023 08:50:28 -0700 Subject: [PATCH 17/22] Update files/en-us/web/progressive_web_apps/guides/what_is_a_progressive_web_app/index.md --- .../guides/what_is_a_progressive_web_app/index.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/files/en-us/web/progressive_web_apps/guides/what_is_a_progressive_web_app/index.md b/files/en-us/web/progressive_web_apps/guides/what_is_a_progressive_web_app/index.md index 3a5b52585261fb7..b0ac48b182e57a8 100644 --- a/files/en-us/web/progressive_web_apps/guides/what_is_a_progressive_web_app/index.md +++ b/files/en-us/web/progressive_web_apps/guides/what_is_a_progressive_web_app/index.md @@ -69,7 +69,9 @@ In our documentation for PWAs, we sometimes refer to the browser playing this ba ### Technical features of PWAs -The fundamental technical features of a PWA are: +Because PWAs are websites, they have the same basic features as any other website: at least one HTML page, which very probably loads some CSS and JavaScript. Like a normal website, the JavaScript loaded by the page has a global {{domxref("Window")}} object and can access all the Web APIs that are available through that object. + +Beyond that, a PWA have some additional features: - It has a [web app manifest](/en-US/docs/Web/Manifest) file, which, at a minimum, provides information that the browser needs in order to install the PWA, such as the app name and icon. - It has a [service worker](/en-US/docs/Web/API/Service_Worker_API), which, at a minimum, provides a basic offline experience. From 91eb79dbefb1f37967d540ac15c96e9c9ee481fe Mon Sep 17 00:00:00 2001 From: wbamberg Date: Tue, 9 May 2023 08:51:47 -0700 Subject: [PATCH 18/22] Update files/en-us/web/progressive_web_apps/guides/what_is_a_progressive_web_app/index.md Co-authored-by: Estelle Weyl --- .../guides/what_is_a_progressive_web_app/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/files/en-us/web/progressive_web_apps/guides/what_is_a_progressive_web_app/index.md b/files/en-us/web/progressive_web_apps/guides/what_is_a_progressive_web_app/index.md index b0ac48b182e57a8..551ef96dd0f8da6 100644 --- a/files/en-us/web/progressive_web_apps/guides/what_is_a_progressive_web_app/index.md +++ b/files/en-us/web/progressive_web_apps/guides/what_is_a_progressive_web_app/index.md @@ -15,7 +15,7 @@ The benefits of platform-specific apps include: - **Easy for users to access**: They get their own icon on the device, making it easy for users to find and open them. - **Offline and background operation**: They are able to operate when the user is not interacting with them and when the device is offline. This, for example, enables a chat app to receive messages when it is not open, and display a notification to the user. It also enables a news app to update in the background so it can show fresh content even if the device is offline. -- **Dedicated UI**: They get to implement their own distinctive, immersive UI. +- **Dedicated UI**: They can implement their own distinctive, immersive UI. - **OS integration**: They can be integrated into the host OS: for example, a messaging app can register as a share target, enabling users to select an image in the photo app and send it using the messaging app. They can also access device features such as the camera, GPS or accelerometer. - **App store integration**: They are distributed using the app store, giving users a single place to find them and a consistent way to decide whether they want to install them. From 455d7312791c9c64de2e2f61f941d9d48c023ef7 Mon Sep 17 00:00:00 2001 From: wbamberg Date: Tue, 9 May 2023 08:55:57 -0700 Subject: [PATCH 19/22] Apply suggestions from code review Co-authored-by: Estelle Weyl --- .../guides/what_is_a_progressive_web_app/index.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/files/en-us/web/progressive_web_apps/guides/what_is_a_progressive_web_app/index.md b/files/en-us/web/progressive_web_apps/guides/what_is_a_progressive_web_app/index.md index 551ef96dd0f8da6..cd742db38fe6692 100644 --- a/files/en-us/web/progressive_web_apps/guides/what_is_a_progressive_web_app/index.md +++ b/files/en-us/web/progressive_web_apps/guides/what_is_a_progressive_web_app/index.md @@ -50,8 +50,8 @@ PWAs also have many of the benefits of platform-specific apps, including: - Work while the device does not have network connectivity. - Update content in the background. - - Respond to push messages from the server. - - Display notifications using the OS notificiations system. + - Respond to [push messages](/en-US/docs/Web/API/Push_API) from the server. + - Display notifications using the OS [notifications](/en-US/docs/Web/API/Notifications_API) system. - PWAs can [use the whole screen](/en-US/docs/Web/Progressive_web_apps/How_to/Create_a_standalone_app), rather than running in the browser UI. - PWAs can be integrated into the device, registering as share targets and sources, and accessing device features. @@ -59,13 +59,13 @@ PWAs also have many of the benefits of platform-specific apps, including: ### PWAs and the browser -When you visit a website in the browser, it's obvious that the website is "running in the browser". The browser UI provides a visible frame around the website including UI features like back/forward buttons and a title for the page, and the Web APIs your website calls are implemented by the browser engine. So the browser provides a kind of virtual machine for executing the website's code. +When you visit a website in the browser, it's obvious that the website is "running in the browser". The browser UI provides a visible frame around the website, including UI features like back/forward buttons and a title for the page. The Web APIs your website calls are implemented by the browser engine. The browser provides a kind of virtual machine for executing the website's code. -PWAs typically look like platform-specific apps, so they usually don't have the browser UI around them, but they are, as a matter of technology, still websites. This means they need a browser engine, like Chrome or Firefox, to manage and run them. With a platform-specific app, it's the platform OS that manages the app, and provides an environment in which it runs. With a PWA, it's a browser engine that performs this background role, just like it does for normal websites. +PWAs typically look like platform-specific apps-usually displayed without the browser UI around them - but they are, as a matter of technology, still websites. This means they need a browser engine, like Chrome or Firefox, to manage and run them. With a platform-specific app, the platform OS manages the app, providing the environment in which it runs. With a PWA, a browser engine performs this background role, just like it does for normal websites. ![Diagram comparing the runtime environment for traditional websites, PWAs, and platform-specific apps](pwa-environment.svg) -In our documentation for PWAs, we sometimes refer to the browser playing this background role. We might say, for example, "the browser starts a PWA's service worker when a push notification is received". Here, the browser's activity is entirely in the background. From the PWA's point of view, it might as well be the operating system which started it, and for some systems, such as Chromebooks, there may not even be a distinction between "the browser" and "the operating system". +In our documentation for PWAs, we sometimes refer to the browser playing this background role. We might say, for example, "The browser starts a PWA's service worker when a push notification is received." Here, the browser's activity is entirely in the background. From the PWA's point of view, it might as well be the operating system that started it. For some systems, such as Chromebooks, there may not even be a distinction between "the browser" and "the operating system." ### Technical features of PWAs @@ -73,8 +73,8 @@ Because PWAs are websites, they have the same basic features as any other websit Beyond that, a PWA have some additional features: -- It has a [web app manifest](/en-US/docs/Web/Manifest) file, which, at a minimum, provides information that the browser needs in order to install the PWA, such as the app name and icon. -- It has a [service worker](/en-US/docs/Web/API/Service_Worker_API), which, at a minimum, provides a basic offline experience. +- A [web app manifest](/en-US/docs/Web/Manifest) file, which, at a minimum, provides information that the browser needs to install the PWA, such as the app name and icon. +- A [service worker](/en-US/docs/Web/API/Service_Worker_API), which, at a minimum, provides a basic offline experience. #### Web app manifest From eda2b4e05b3c8682443daa9db520bd3ad9acb0af Mon Sep 17 00:00:00 2001 From: wbamberg Date: Tue, 9 May 2023 09:18:39 -0700 Subject: [PATCH 20/22] rm obvious --- .../guides/what_is_a_progressive_web_app/index.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/files/en-us/web/progressive_web_apps/guides/what_is_a_progressive_web_app/index.md b/files/en-us/web/progressive_web_apps/guides/what_is_a_progressive_web_app/index.md index cd742db38fe6692..d7fd63e8f8d833f 100644 --- a/files/en-us/web/progressive_web_apps/guides/what_is_a_progressive_web_app/index.md +++ b/files/en-us/web/progressive_web_apps/guides/what_is_a_progressive_web_app/index.md @@ -59,9 +59,9 @@ PWAs also have many of the benefits of platform-specific apps, including: ### PWAs and the browser -When you visit a website in the browser, it's obvious that the website is "running in the browser". The browser UI provides a visible frame around the website, including UI features like back/forward buttons and a title for the page. The Web APIs your website calls are implemented by the browser engine. The browser provides a kind of virtual machine for executing the website's code. +When you visit a website in the browser, it's visually apparent that the website is "running in the browser". The browser UI provides a visible frame around the website, including UI features like back/forward buttons and a title for the page. The Web APIs your website calls are implemented by the browser engine. -PWAs typically look like platform-specific apps-usually displayed without the browser UI around them - but they are, as a matter of technology, still websites. This means they need a browser engine, like Chrome or Firefox, to manage and run them. With a platform-specific app, the platform OS manages the app, providing the environment in which it runs. With a PWA, a browser engine performs this background role, just like it does for normal websites. +PWAs typically look like platform-specific apps - they are usually displayed without the browser UI around them - but they are, as a matter of technology, still websites. This means they need a browser engine, like the ones in Chrome or Firefox, to manage and run them. With a platform-specific app, the platform OS manages the app, providing the environment in which it runs. With a PWA, a browser engine performs this background role, just like it does for normal websites. ![Diagram comparing the runtime environment for traditional websites, PWAs, and platform-specific apps](pwa-environment.svg) From d5a923b0513c8d74af223ea27de38ed82a2f6c4d Mon Sep 17 00:00:00 2001 From: wbamberg Date: Tue, 9 May 2023 09:22:49 -0700 Subject: [PATCH 21/22] typo fix --- .../guides/what_is_a_progressive_web_app/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/files/en-us/web/progressive_web_apps/guides/what_is_a_progressive_web_app/index.md b/files/en-us/web/progressive_web_apps/guides/what_is_a_progressive_web_app/index.md index d7fd63e8f8d833f..9245210c22c9464 100644 --- a/files/en-us/web/progressive_web_apps/guides/what_is_a_progressive_web_app/index.md +++ b/files/en-us/web/progressive_web_apps/guides/what_is_a_progressive_web_app/index.md @@ -71,7 +71,7 @@ In our documentation for PWAs, we sometimes refer to the browser playing this ba Because PWAs are websites, they have the same basic features as any other website: at least one HTML page, which very probably loads some CSS and JavaScript. Like a normal website, the JavaScript loaded by the page has a global {{domxref("Window")}} object and can access all the Web APIs that are available through that object. -Beyond that, a PWA have some additional features: +Beyond that, a PWA has some additional features: - A [web app manifest](/en-US/docs/Web/Manifest) file, which, at a minimum, provides information that the browser needs to install the PWA, such as the app name and icon. - A [service worker](/en-US/docs/Web/API/Service_Worker_API), which, at a minimum, provides a basic offline experience. From d77ee1a7981cb6a97660bfc7d6db459c76bb75a1 Mon Sep 17 00:00:00 2001 From: wbamberg Date: Tue, 9 May 2023 09:38:23 -0700 Subject: [PATCH 22/22] rm unwritten glosssary entry --- .../guides/what_is_a_progressive_web_app/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/files/en-us/web/progressive_web_apps/guides/what_is_a_progressive_web_app/index.md b/files/en-us/web/progressive_web_apps/guides/what_is_a_progressive_web_app/index.md index 9245210c22c9464..abdfe69de6c5d43 100644 --- a/files/en-us/web/progressive_web_apps/guides/what_is_a_progressive_web_app/index.md +++ b/files/en-us/web/progressive_web_apps/guides/what_is_a_progressive_web_app/index.md @@ -9,7 +9,7 @@ A progressive web app (PWA) is an app that's built using web platform technologi ## Platform-specific apps -_Platform-specific apps_ are developed for a specific operating system (OS) and/or class of device, like an iOS or Android device, generally using an {{Glossary("SDK")}} provided by the platform vendor. They are usually distributed using the vendor's app store, where the user can find and install them, and they subsequently seem to the user like a permanent extra feature of their device, expanding its capabilities in some way. +_Platform-specific apps_ are developed for a specific operating system (OS) and/or class of device, like an iOS or Android device, generally using an SDK provided by the platform vendor. They are usually distributed using the vendor's app store, where the user can find and install them, and they subsequently seem to the user like a permanent extra feature of their device, expanding its capabilities in some way. The benefits of platform-specific apps include: