What happens under the bonnet with a progressive web app (PWA)?

In an earlier article, we described what a progressive web app is in outline. Equally interesting is what happens at the technical level. For an application to bear the title PWA, three main components are important: service workers, the use of an SSL connection (https) and the web app manifest.

Want to know more?

Enter the conversation with Koen!

     

    Service workers

    You can think of a service worker as the engine of a PWA. The concept was introduced by Google in 2014 and has been growing rapidly in popularity and application ever since. It is a script that runs in the background and allows you to perform actions without the user interacting with the application. Think of receiving push notifications and, for example, storing and synchronising data offline. With a service worker, you also have much more control over how the browser caches files, making the PWA a lot faster to use.

    The nice thing about service workers is that it is seen by the browser as a progressive enhancement. That means your PWA works fine in older browsers and a lot better in newer browsers. Thanks to service workers, PWAs can compete with native apps.  

    Web app manifesto

    Manifest always sounds nice and official, and in this case it is. This is because with the web app manifest you notify the browser that a progressive web app is being loaded. This is a JSON file that ensures that you can add a PWA to your homescreen, the right icons and colours are used with it and that it always opens in landscape mode, for example.

    Together, the manifest and the service workers ensure that you can offer users a native app experience. Requiring an SSL connection ensures that all this is also done securely.

    PWA support by Apple

    For a long time, Apple did not support this development. Progressive web apps thus worked on iOS devices like 'regular' websites. This no doubt with the App store's revenue model in mind. Apple could lose billions in revenue if progressive web apps were used instead of regular apps. Now that Google has been fully committed to it for some time, Apple seems to have realised that it cannot maintain this line forever.

    Would you like a free sparring session about the possibilities of progressive web apps? Then start a chat or call us on 020-7051010!