Katana VentraIP

Progressive web app

A progressive web application (PWA), or progressive web app, is a type of application software delivered through the web, built using common web technologies including HTML, CSS, JavaScript, and WebAssembly. It is intended to work on any platform with a standards-compliant browser, including desktop and mobile devices.

Since a progressive web app is a type of webpage or website known as a web application, it does not require separate bundling or distribution. Developers can simply publish the web application online, ensure that it meets baseline installation requirements and ensure that users will be able to add the application to their home screen. Publishing the app to digital distribution systems like the Apple App Store or Google Play is optional.[1]


As of 2021, PWA features are supported to varying degrees by Google Chrome, Apple Safari, Firefox for Android, and Microsoft Edge[2][3] but not by Firefox for desktop.[4]

History[edit]

Predecessors[edit]

At Apple's Worldwide Developers Conference in 2007, Steve Jobs announced that the iPhone would "run applications created with Web 2.0 Internet standards".[9] No software development kit (SDK) was required, and the apps would be fully integrated into the device through the Safari browser engine.[10] This model was later switched to the App Store, as a means of appeasing frustrated developers.[11] In October 2007 Jobs announced that an SDK would be launched the following year.[10] As a result, although Apple continued to support web apps, the vast majority of iOS applications shifted toward the App Store.


Beginning in the early 2010s dynamic web pages allowed web technologies to be used to create interactive web applications. Responsive web design, and the screen-size flexibility it provides have made PWA development more accessible. Continued enhancements to HTML, CSS, and JavaScript allowed web applications to incorporate greater levels of interactivity, making native-like experiences possible on a website.[12]


In 2013, Mozilla released Firefox OS. It was intended to be an open-source operating system for running web apps as native apps on mobile devices. Firefox OS was based on the Gecko rendering engine with a user interface called Gaia, written in HTML5. The development of Firefox OS ended in 2016,[13] and the project was completely discontinued in 2017,[14] although a fork of Firefox OS was used as the basis of KaiOS, a feature phone platform.[15]

Initial introduction[edit]

In 2015, designer Frances Berriman and Google Chrome engineer Alex Russell coined the term "progressive web apps"[16] to describe apps taking advantage of new features supported by modern browsers, including service workers and web app manifests, that let users upgrade web apps to progressive web applications in their native operating system (OS). Google then put significant efforts into promoting PWA development for Android.[17][18] Firefox introduced support for service workers in 2016, and Microsoft Edge and Apple Safari followed in 2018,[19][17] making service workers available on all major systems.


By 2019, PWAs were supported by desktop versions of most browsers, including Microsoft Edge[5] (on Windows) and Google Chrome[20] (on Windows, macOS, ChromeOS, and Linux).


In December 2020, Firefox for desktop abandoned the implementation of PWAs (specifically, removed the prototype "site-specific browser" configuration that had been available as an experimental feature). A Firefox architect noted: "The signal I hope we are sending is that PWA support is not coming to desktop Firefox anytime soon."[4] Mozilla still plans to support PWAs on Android.[21]

Stores[edit]

Since a progressive web app is a type of webpage or website known as a web application, it does not require separate bundling or distribution. In particular, there is no requirement for developers or users to install web apps via digital distribution systems like the Apple App Store, Google Play, Microsoft Store, or Samsung Galaxy Store. To varying degrees, the major app stores support the publication of PWAs.[1] Google Play, Microsoft Store,[22] and Samsung Galaxy Store support PWAs, but Apple App Store does not. Microsoft Store publishes some qualifying PWAs automatically (even without app authors' requests) after discovering them via Bing indexing.[23]

Originate from a secure origin. Served over and have no active mixed content. Progressive web apps must be served via HTTPS to ensure user privacy, security, and content authenticity.

TLS

Register a service worker with a fetch handler. Progressive web apps must use service workers to create programmable content caches. Unlike regular HTTP , which caches content after the first use and then rely on various heuristics to guess when content is no longer needed, programmable caches can explicitly prefetch content in advance before it's used for the first time and explicitly discard it when it is no longer needed.[29] This requirement helps pages to be accessible offline or on low quality networks.

web cache

Reference a web app . The manifest must contain at least the five key properties: name or short_name, start_url, and display (with a value of standalone, fullscreen or minimal-ui), and icons (with 192px and a 512px versions). Information contained in the manifest makes PWAs easily shareable via a URL, discoverable by search engines, and alleviates complex installation procedures (but PWAs still be listed in a third-party app store).[30] Furthermore, PWAs support native app-style interactions and navigation, including being added to the home screen, displaying splash screens, etc.

manifest

Comparison with native apps[edit]

In 2017, Twitter released Twitter Lite, a PWA alternative to the official native Android and iOS apps. According to Twitter, Twitter Lite consumed only 1–3% of the size of the native apps.[31] Starbucks provides a PWA that is 99.84% smaller than its equivalent iOS app. After deploying its PWA, Starbucks doubled the number of online orders, with desktop users ordering at about the same rate as mobile app users.[32]


A 2018 review published by Forbes, found that users of Pinterest's PWA spent 40% more time on the site compared to the previous mobile website. Ad revenue rates also increased by 44%, and core engagements by 60%.[33] Flipkart saw 60% of customers who had uninstalled their native app return to use the Flipkart PWA. Lancôme saw an 84% decrease in time until the page is interactive, leading to a 17% increase in conversions and a 53% increase in mobile sessions on iOS with their PWA.[34]

The name of the web application

Links to the web app icons or image objects

The preferred URL to launch or open the web app

The web app configuration data

Default orientation of the web app

The option to set the display mode, e.g. full screen

an open-source audit tool for PWAs developed by Google

Google Lighthouse

index of standards

Web Applications Working Group