More and more people are using their smartphones to access the Internet. The share of Internet users via smartphone already affected about 69% of all Internet users in 2014. Until now, the problem for website operators was that both a responsive or mobile website and a native app had to be developed if they wanted to compete on the market. A PWA is designed to eliminate the need for duplication of development since it can be accessed via URL like a web page and at the same time provides offline functionality.
How Progressive Web Application (PWA) works
A progressive web app is launched by entering the URL of the web server in the browser and sending the first request. The web server accepts the request and passes it to the PWA, which acts as a web application here. This generates or loads the HTML source code of a web page, which is sent from the web server back to the user’s browser (HTTPS response).
The user sees a website that is adapted to his device due to the responsive design. Although the Progressive Web App was retrieved from a URL, the user can drag an icon onto the smartphone’s screen or receive push notifications and use the page offline. The technology, based on progressive enhancement, is designed to provide users with the best possible user experience, depending on the device used.
The architecture of the application shell separates the core of the application infrastructure and the user interface from the data. User interface and infrastructure are cached locally by using Service Worker, each other loading of the app loads only the required data instead of all data.
The purpose of an application shell is similar to uploading an app package to the App Store when developing a native app.