Progressive web applications (PWAs) have revolutionized the way we develop and interact with apps. These innovative solutions allow developers to create standalone applications that can be installed on devices as native apps, without requiring separate bundling or distribution for different platforms.

One of the key advantages of PWAs is their ability to work seamlessly across various systems, including desktop and mobile devices. This versatility makes them an attractive option for developers looking to create engaging, user-friendly experiences that can be accessed from anywhere. By leveraging modern web technologies such as HTML, CSS, JavaScript, and WebAssembly, PWAs can run on any platform with a PWA-compatible browser.

History

The concept of PWAs has been around since the early 2010s, when dynamic web pages allowed developers to create interactive web applications using responsive design. This shift towards more engaging, user-centric experiences paved the way for the development of PWAs as we know them today.

In 2007, Apple's Steve Jobs announced that the iPhone would run applications created with Web 2.0 Internet standards, without requiring an SDK. Although this model was later replaced by the App Store, it laid the groundwork for the PWA concept.

The term "progressive web apps" was coined in 2015 by designer Frances Berriman and Google Chrome engineer Alex Russell. Since then, major browsers like Google Chrome, Apple Safari, Brave, Firefox for Android, Microsoft Edge, and Firefox for Windows have supported PWA features to varying degrees.

Browser Support

PWAs are designed to work on any browser that is compliant with the appropriate web standards. The goal is to help developers build cross-platform apps more easily than they would with native apps. Some of the key browsers supporting PWAs include:

  • Chromium-based: Yes (includes Google Chrome, Microsoft Edge, Brave, Opera, Vivaldi)
  • Firefox: Yes (on Android and Windows), No (on desktop)
  • Safari: Partial (on macOS and iOS & iPadOS)

Characteristics

PWAs employ a progressive enhancement web development strategy, which allows them to adapt to different environments. Some PWAs use the App Shell Model, storing the Basic User Interface or "shell" of the responsive web design web application in the browser's offline cache.

This model enables PWAs to maintain native-like use with or without web connectivity, improving loading times by providing an initial static frame and allowing content to be loaded progressively.