Interest in the development of applications for mobile operating systems is steadily growing among the developer’s community. The number of tools and approaches that make it possible to create these apps has increased dramatically, giving devs the whole new spectrum of possibilities.
Today I want to write about one of the new approaches, namely Progressive Web Apps, from the developer’s perspective.
What is Progressive Web Apps (PWA)?
PWA is the name of an application group that uses the Web technology stack (JS + HTML + CSS) and allows to combine the ease of use of websites with native applications specific to the UX operating system and technical capabilities.
The main purpose of PWA is to increase the conversion rate, the number of users and the convenience of using Web applications on mobile devices.
Progressive Web Apps are the logical continuation of Accelerated Mobile Pages, so if you previously created AMP applications, then you definitely need to update your application to the standards of PWA. If you have not heard anything about AMP before, it will not be a problem for you when you study PWA.
The PWA needs to be:
- Progressive – work with each user regardless of the environment using the method of gradual improvement as the basic principle of work;
- Adaptive – adjust to any device: desktop, smartphones, tablets or anything else;
- Independent of the connection – using the Service Worker application must work offline when the connection is low or not present at all;
- natively looking – the application should correspond to the ways of interaction and navigation that are customary for the user;
- Self-renewing – the application must monitor the automatic update process through the Service Worker API;
- Secure – should use HTTPS to prevent interception and data substitution;
- Determined – through the W3C manifest and registration via Service Worker, the application is identified as an “application” by search engines;
- Withholding – using technical capabilities, we motivate the user to reuse the application, for example by push notifications;
- Easy to install – allowing you to “save” the application on the user’s device by adding the PWA application to the list of installed applications without using the application store;
- Easy to use – to start using the application, a user should just open the URL. Installation of the application is optional.
Every person involved in the creation, support or development of a website or web application may be interested in PWA. They can improve the product, the conversion rate, the number of users and the convenience of using their resource by mobile platform users.
There is also a matter of usage frequency. We can divide all apps into three main categories:
- Apps used every day, such as Facebook, Twitter or Gmail;
- Apps used often (every 2-3 days), such as Livescore.com (Live sports scores), Starbucks.co or university website;
- Apps used rarely, such as touristic company websites or landing pages for some products or services.
PWA perfectly suits for the apps that are used often (once in 2-3 days).
How does it work?
The user, using a smartphone, opens the link received through any application. After downloading the web page, the user receives a full application that he can use.
Thus, starting to use a new app becomes much easier, because a user does not need to go to the application store and wait until the application is installed.
If necessary, the user can add the application to the desktop using the option item in the browser “Add to home screen”.
After that, the icon previously specified in the application manifest will be created on the user’s main screen. The developer can control the style of the browser and the option of displaying the application after installation. In the same way, the Service Worker running with the PWA application will be responsible for caching, offline work and processing of push messages.
We can’t say that PWA will kill Native Apps in the future. But there is still a growing interest in this approach among the developers’ community. PWAs are still in their infancy with a lot of challenges to be addressed. Yet they have the potential to create a shift in the way the web works.
Progressive Web Apps – developers.google.com/web/progressive-web-apps
Web fundamentals – developers.google.com/web/fundamentals/?hl=en