Progressive web apps have been touted for quite some time now. Ever since the term was coined by Google engineer Alex Russell in 2015, many have called them the future of app development and continually enumerated their benefits, yet despite the promising future, this technology has been partially shelved.
It was Google that developed and popularised the concept of PWAs (Progressive Web Apps). But what are PWAs?
What are Progressive Web Apps?
Progressive Web Apps or PWAs are a combination of a web application and a native application. A PWA is a website that has all the features of a native application, a fusion of the best elements of both.
It is designed to work and look like a native app and provide a very similar user experience, but at the same time it is developed to work offline and with low quality networks, can send push notifications and is easy to install.
Advantages of PWAs over native app
The debate on PWAs and native apps has been going on for some time. Although PWAs cannot replace native apps, they have some considerable advantages.
1. Simple Installation / App Store / Homescreen
PWAs provided by the operator can be used immediately after being called up. They can also be installed locally on the smartphone. In the process, the app icon can be added to the home screen. Users can thus hardly distinguish whether it is a native app or a PWA.
2. Reduced storage space
PWAs are 80-90% smaller in memory size than native apps and are automatically updated via the browser. This means that time-consuming updates no longer need to be loaded. Users can quickly access new functions and updates. In addition, there is no need for validation via the App Store, which greatly accelerates the release of new versions.
3. Findable in search engines
PWAs can be indexed by Google like websites and thus have a direct link to search engines. Instead of having to compete for attention in app stores and advertise apps, PWAs are visible through classic SEO (Search Engine Optimisation) or SEA (Search Engine Advertising).
4. Service Worker
A special feature of PWAs is the modern browser service worker technology. The service worker acts as a service in the background, as a communication interface between the browser and the server. The main advantage is that it can perform background tasks even when the application itself is not running. For instance, it can independently execute location queries in the background without having to reload the website.
The service worker can also be instructed to respond to outgoing network requests from cached browser data. In this way, an offline functionality of PWAs can also be realised. Using service workers, so-called push notifications can also be realised, which reach the user even if the website is not active. As with native apps, users receive notifications on the smartphone screen as soon as something new occurs in the app.
5. Reduced development and maintenance efforts
Compared to native apps, the development effort of PWAs is considerably lower. The one-off programming for all end-devices with the corresponding browser support also reduces development and maintenance work.
One of the most obvious advantages of PWAs is that they can be easily installed from the site itself, unlike a native app that has to be specifically downloaded from an app store. Progressive Web Apps also require less storage space on the device than native apps, which are generally larger files. An important advantage of PWAs over native apps is that they cost much less in terms of development and maintenance than a native app. An advantage of PWAs over a native app is that, unlike the latter, they are mobile-first indexed and help search engine optimisation.
Challenges of progressive web applications
Although Progressive Web Apps offer many advantages, they also have disadvantages. Listed below are some of the challenges one may encounter when implementing PWAs.
1. Limited browser support for iOS
Progressive Web Apps only work on iOS from version 11.3 onwards and present many technical problems when run on Safari. This is a major challenge for PWAs, since 51 per cent of the browser market in the US is dominated by Safari. This makes a large proportion of users not want to use PWAs and choose other alternatives.
2. Loss of app store traffic
Although it is an advantage that PWAs do not have to go through the lengthy process of downloading apps like native apps, they also lose a large chunk of users who primarily search for apps in the app store. Moreover, when we download an app from the app store, we are 100 per cent sure that it will not compromise our privacy or cause damage to our device. The same cannot be said for installing a PWA from an unknown source or website.
3. Unable to access device hardware and software.
Unlike native apps, PWAs cannot access many device functions, such as Bluetooth, the camera and the phone's memory. Consequently, PWAs cannot perform many of the functions possible with native apps instead.
4. Battery consumption
Progressive web applications can be very fast and offer the best engagement and loading times, but with all these features they have the disadvantage of draining the device's battery quickly. PWAs consume more battery power than native applications because they are written in high-level web code, so phones have to work harder to interpret the code. Users who notice a reduction in battery life are more likely not to use this type of app if they need to extend battery life.
5. The functionality of PWAs is still relatively new to most developers.
Although Google announced Progressive Web Apps in 2015, it is still a relatively new technology. And this twist represents a high entry barrier for many developers. Since it can be very difficult to work in an environment where there is not yet a community, experience and common best practices, it is not easy for newcomers to make their way. But it is precisely these new people that are needed to build a thriving community around the development of PWAs. More people are therefore needed who are not afraid to take the first step.
Fortunately, Google is working hard to promote Progressive Web Apps. By training people to work with tools such as modern WebAPIs, it is hoped that more and more developers will finally embrace these new features.
6. Missing features on native devices
As developers, we want to utilise the full capabilities of a device. Undoubtedly, we cannot do this at the moment with Progressive Web Apps.Several functions for native devices are still missing. For instance, it is not possible to access the clipboard or the file system within the PWA, although this could be an important requirement for many apps. The lack of adequate tools makes app development even more difficult. This, of course, hampers the overall integration of Progressive Web Apps.
Summary Progressive web application
Although the advantages of PWAs are many, it can be said openly that Progressive Web Apps are still a technology that is not yet well established. The wealth of functions and the overall user experience are quite good, but there are still many things to be fixed and developed.The developer community still has to grow, and with it established skills and best practices. Furthermore, the issue of distribution is a major challenge for the dissemination of Progressive Web Apps. Aspects such as ease of development and user experience are of little use if web applications do not make it to the app store because nobody knows your application, no matter how good it is.