The ‘progressive web apps’ concept (PWA) was introduced for the first time in the article Progressive Web Apps: Escaping Tabs Without Losing Our Soul by Alex Russell -software engineer from Google and member of the W3C Technical Architecture Group– in which he defined in detail what a progressive web app is and what it should be.
Basically it’s a technology that aims at developing applications that work on a great diversity of existing devices, managing to combine the best of the Web and native applications. This is a project somewhat more ambitious than what some time ago was responsive design, which emerged rather as an obvious ‘response’ to the creation of smartphones; and today all web platforms require it. Now, an adaptable web does not mean a web that suits anything; if responsive was the ‘patch’, progressive seems to be the solution.
With regard to the notable advantages of the PWA, we can say they are useful for their users from the very first visit. Without the need of installing them, as users start relating with the apps, they turn out to be more useful, faster and self-updated -thanks to the process of automatic update from Service Worker, a script that the browser runs in the background for handling network requests (e.g. push notifications)-.
The objective of progressive apps is to operate equally well for all devices, providing a high quality user experience, as interactive as possible. In this sense, the web applications are progressive when:
- They work for all users, regardless the choice of the browser.
- They can adapt to any form factor: desktop, mobile, tablet, etc.
- They allow users to work offline or with low quality networks.
- The user perceives them as apps, since they are built on the model of application layers.
- They are updated thanks to the Service Worker.
- They work on HTTPS to prevent the obtaining of their content and ensure that it has not been manipulated.
Responsive is not Progressive
While the historical objective of responsive design is to improve the experience of the users independently of the device they use, the PWA put the focus on increasing the functionality, according to the capabilities of the device they are running.
A responsive site also uses a single URL as in the case of the PWA showing the same content in all the devices depending on the size of the screen -which also improves the classification of the SEO in the Google search algorithm. However, this type of web design is not compatible with the speed and the experiences of a native application.
The PWA leverage the techniques of responsive design to operate without problems in all mobile screens, but adds to this concept the features of a native application -e.g. full screen mode for all devices, high speed performance, offline mode, and the possibility of users adding an icon (direct access) to the screen of their device, among others.
Differences with the native applications
On the other hand, PWA are seen as the continuation of what some years ago began with the webapp under the concept of creating optimized web applications using HTML5, CSS3, and libraries like jQuery Mobile, for their correct display on mobile devices. This is how the webapp raised an alternative to the native apps -that require a different development for each operating system.
As a native app (such as iOS or Android), the PWA have in mind a series of advantages on the webapps, for example: local storage, offline execution, push notifications, hardware access (geo-positioning, camera, microphone, etc.).
I.e. the PWA, despite being websites, try to make the user’s experience as similar as the native app’s. Although they are not the same, the user should not notice big differences. All this is possible thanks to the set of new web technologies, Web APIs, and the implementation of new concepts in the design of websites that are opening the doors to the colonization of mobile devices.
Advantages of the PWA
The use of this type of applications brings several benefits, both for the users as for the developers. For example, among those advantages we can include the following:
- Cost reduction: different versions for different devices are not required.
- Linkable: they allow content indexing by search engines and the link of resources from other applications (deep linking).
- Efficient update: publishing new versions of the application and waiting for users to download it is not necessary. This can be made asynchronously and all users will always go through to the last version when accessing.
- Graphic and audiovisual resources: the interface and its graphic resources are resized proportionally preserving the user’s experience.
- Faster apps: by applying optimization techniques -as the asynchronous load and the local cache- the PWA obtain very good levels of performance, comparable with a native app.
- Offline mode: the progressive applications allow offline mode and are adapted to low quality network connections.
The future is now
Currently, the PWA represent an opportunity for the web to take a leading role in the world of mobile devices; taking advantage of the versatility of a web development with the adaptation capacity of a native app. This revolutionary paradigm brings great opportunities for the creation of new experiences that combine the best of both worlds: the universality and low cost of web applications, along with the performance and capabilities of native applications.
Without a doubt, the PWA promise to be the future of the mobile ecosystem for the Web; the means to the unification of criteria; the possibility of making a site that can be used as an app -but without the need of installing it- along with the ability to develop and maintain a unique app for all operating systems (desktop and mobile). Responsive was the first web-world approach to the mobile world. But that is not enough; we can still do much more for the users. The conditions are given for making Progressive the future of mobile applications development.