Nowadays there is an app to do almost anything: there is an app for photos and videos, an app to watch movies in streaming, an app to book airplanes and travel etc … To tell the truth there are hundreds of apps to do each of these things and browsing through the Google app stores, Apple can choose the most suitable mobile applications for our needs. However, all this may soon change. Or rather, evolve: the PWAs, Progressive Web App, are beginning to spread. That is the apps of the future, which thanks to their features offer the user a better user experience than today’s apps. But what are Progressive Web Apps and how do they work?
What are PWAs?
The PWAs are a sort of mix between a classic app, which is downloaded from a store and installed on your smartphone, tablet or even PC, and a normal Web page. They are based on so-called “Service Workers”, which are nothing more than code scripts that work in the background and act as an interface between the user and a browser. Thanks to this “bridge” of code the PWAs are multi-platform and multi-device, so they can run on any browser and any device, fixed and mobile, as long as the browser is compatible with PWA technology. Moreover, by their nature, they are not strictly dependent on the Internet connection. So they consume little data and can be used even if the connection is weak or completely absent.
How PWAs work?
PWAs, as we have already said, are a cross between apps and web pages. They have their own address (i.e. URL) to which they can be reached. Once the user visits that URL via the browser, a part of the application code is downloaded and saved on the device. This allows, for example, to save the PWA app on the home of your smartphone and use it even if there is no connection, like a traditional app.
When the user opens for the second time the PWA is actually launching the code already downloaded that, if there is a connection, will check if there is a more updated version of the PWA or if there are new data to download, while if the connection does not there it will continue to function as the first time.
PWAs, from the user’s point of view, work in a very similar way and with the same features as normal apps: they can be launched in full screen, can send notifications to the user, can use the camera, Bluetooth, microphone and the rest of the smartphone hardware they are running on. The user usually does not notice the difference between a normal app and a PWA.
Benefits of PWAs
A series of advantages derive from the PWA technical characteristics. First of all, they occupy much less space on the device than a traditional app, because only part of the code is downloaded and stored in the local memory while the rest is executed as soon as there is connection.
Then they are very fast, because unlike web pages you don’t have to download all the content before the screen responds to your commands. Having a URL address, then, they can be found by search engines and, above all, they don’t depend on a store.
This means that they are also cheaper to build for developers, who do not have to pay the percentage to Google or Apple for publication on their official stores. But that’s not all: since PWA is naturally multi-platform and multi-device, each developer will have to create only one version of the application and it will run smoothly on both Android and iOS, but also on Windows, Linux and MacOS. Finally, the developer will always be sure that his PWA app will always be up to date on all devices, because it will update itself as soon as the Service Worker gets the Internet connection.
Given these undeniable advantages, there are also some risks of PWAs. And, again, they depend on their architecture. Among the main risks is that of security, which derives from the fact that the PWA relies on a website to function. This means that, if the site of a PWA is punctured by hackers, then immediately all the PWAs that connect to that site begin to talk to a compromised site that could send viruses and Trojans in a flash, if not millions, of devices all over the world.
Today there are cases of apps that are punctured by hackers and that infect smartphones or computers, but the infection is limited to that specific version of the application and those who have a “clean” version can continue to use it without risk: just disable updates. With PWA, instead, the app is always updated to the latest version.
This, combined with the great power of these applications and the fact that they can access the hardware of the device they are run on, allows a hypothetical PWA infected app to collect large amounts of data on our behalf, but also to use the hardware for malicious purposes. For example, use Bluetooth to send viruses even to devices that have never used that PWA. Let me be clear: many of these problems can arise even with traditional apps, but with PWA the risks could increase.