First, let’s take a step back.
The web makes it possible for anyone anywhere in the world to publish content and for me to access it in the same minute. It doesn’t matter where I am, what device I’m using or what operating system I’m using. It doesn’t even matter what screen size I have. It just works. Great, isn’t it?
With the advent of smartphones, apps have become increasingly popular. And quite rightly so. They offer long-awaited new possibilities for user interaction on smartphones. First and foremost, for example, push notifications or offline availability. The disadvantage: apps are always tied to an operating system, they are expensive to develop and present many hurdles when it comes to distribution.
The solution: Progressive Web Apps
In 2015, Google introduced a new generation of web-based applications under the name “progressive web apps”, which should fulfil the following criteria:
- Fast: The loading time should be reduced to an absolute minimum.
- Integrated: It should feel as if the application is part of the device.
- Reliable: Availability with poor or no Internet connection.
- Engaging: The user can be specifically encouraged to interact, even if they are not currently using the app.
In order to fulfil these points, the browser must of course support new, important functions.
The Web App Manifesto
A web app manifest contains basic information about the website. For example, the title, a description, various icons for the home screen and display settings for the app view.
The Service Worker
The Service Worker (SW) is a JavaScript document that is installed in a special scope in the browser. There it controls a website (a scope) and performs tasks in the background, the results of which it can in turn pass on to the website or device.
A simple example: The SW monitors all network requests and can manipulate them if necessary. As soon as the browser requests a file, for example, the SW decides whether the request is effectively forwarded to the server or whether it should be processed locally (still on the device). The software also decides whether the response should be sent directly to the browser or whether, for example, a copy should also be stored in the application storage, i.e. a local memory. All of this enables us to make certain functionalities and content available offline (from the application storage).
But that’s not all. The SW is registered automatically when a user visits the page. It then continues to work even if the website or browser has long since been closed. Indirectly, the page continues to work even if it is not active.
Possibilities of PWA
Modern websites and web applications have long been inferior to native apps in almost every respect. JavaScript interfaces allow fairly extensive access to device functions and modern front-end frameworks allow a very app-like user experience.
Progressive web apps now compensate for the last disadvantages compared to mobile apps:
- Installable: PWAs can be “installed” on the device, but they can also be accessed and shared via a URL. A complicated upload process can therefore be easily bypassed.
- Offline use: PWAs can be used independently of the network connection.
- push notifications: PWAs can receive and display push notifications.
- background sync: PWAs can save data locally and synchronise it with the server as soon as an active Internet connection is available.
Browser support
As already mentioned, PWAs require some functions that are not yet supported across the board. While Andriod is the pioneer in offering comprehensive PWA support in all browsers, Apple’s iOS is still struggling a little. Since version 11.3, iOS has fortunately been taking big steps towards PWAs, but they don’t quite work as expected yet. Important functions such as background syncs and push notifications are unfortunately still not possible and the application storage is anything but reliable.
However, the great thing about PWAs is that every feature was planned as a so-called “progressive enhancement”. If it is supported, it can be used, but if not, everything else still works without any problems.
Progressive web apps and WordPress
The concept behind PWAs fascinated me right from the start. After my first attempts with single page applications, we decided to create our own WordPress website as a progressive web app1. After a lot of very positive feedback, I took the next step. A PWA WordPress plugin that brings PWA functions to a classic WordPress website, regardless of the theme.
The Web App Manifest can be created and edited without any programming knowledge, the Service Worker enables network-independent use and push notifications can even be conveniently created via the WP Admin area and sent to all registered devices.
Conclusion
Will PWAs replace the app platforms? I don’t think so. But that’s not even necessary. Even with PWAs, there will always be good reasons to build native apps.
However, PWAs are used where native functions are not really necessary. And there are more of them than you might think: email clients, social media profiles, media players, messengers, news platforms, etc.. Many of these apps are still available in the Appstore today, but could easily be distributed directly via the web platform. With this in mind, I very much hope that PWAs will once again draw more attention to the OpenWeb.
Footnotes
- The PWA functions were removed when the new website was released in 2025. A more modern version of WordPress and our own technology makes most of the former features unnecessary. ↩︎

