PWA: What It Is and What Problems It Solves
PWA (Progressive Web Applications) is a class of web applications that use a number of advanced technology solutions (such as Service Worker, push-notifications, App shell, etc.) to fully meet user requirements for security, performance and visual appeal. The concept of PWA was first recorded at Google’s presentation in 2015.
From the practical point of view, this kind of software is to some extent similar to ordinary sites and uses the latest achievements of the browser software. In particular, you can install a progressive web application on your PC directly from your browser, ensuring that you can work offline and receive push notifications online. Below we will discuss the benefits of PWAs, as well as the problems they solve.
Advantages of PWAs
Let's briefly analyze the benefits of PWAs:
- a single code for every mobile platform: unlike native software, where the code is created individually for each platform, here you create a single code base using JS, HTML and CSS. This, in turn, leads to a reduction in the overall budget of the application;
- no need to upload your application to the App Store or Google Play: now you don’t have to give these marketplaces 30% of your earnings. Besides, you will not be limited by any rules;
- launching updates with ease: you don’t need to wait until the update of your application is uploaded to the store;
- simple online promotion: you can use traditional SEO techniques to increase the number of installations of your software;
- offline capabilities: this feature boosts the level of UX;
- extremely simple integration with third-party software: a PWA is an independent software unit that interacts with the server through an API. This means that any other web services can be connected to the PWA;
- enhanced security: a PWA uses the same security protocols as regular websites. Therefore, you can easily connect the SSL certificate - one of the most reliable solutions for establishing communication with the server;
- an extensive range of web libraries available for use: you do not have to spend a lot of time on the implementation of the simplest functionality;
- relatively smaller app size on the phone: these applications actively use the built-in browser functionality, so there is no need to create several modules that are required for native software.
The Nuances of Creating a PWA
Despite all the advantages of PWAs, there are a number of situations in which you still have to create native software. In particular, the PWA way will not work for you if you need the following functions:
- interaction with the contacts and calendar on the user’s smartphone (although you can add an event to the calendar via Google API);
- SMS distribution and phone calls (on the other hand, there is a workaround: despite the fact that developers do not have the ability to process text messages and calls directly on the phone, they can implement this function using third-party services, for example, Twilio);
- any operations with the user’s SIM card;
- operations with NFC;
- creating a keyboard (in this case, too, there is a catch: on the one hand, you can create a keyboard using one of the NPM solutions for JS; however, the ability to create a keyboard that can be installed in the system is not available for such applications)
Previously, it was believed that such applications are also unable to interact with the smartphone’s camera and sensors, but at the moment these flaws in the PWA concept have been eliminated.
As for the main reason why some developers still insist on creating native software, it lies in the fact that, in the case of the PWA, there is simply no way to work the UX so well that it perfectly fits into the separate concepts created by Android and iOS developers.
Platforms for PWA Development
The most popular frameworks for PWA development are Vue, ReactJS (although this is not a framework, but a library) and Angular. They allow creating cross-platform software in its true sense (that is, not as a budget replacement for native applications, but as a full-fledged alternative, which in 9 out of 10 cases is equal to them in terms of quality).
The PWA market is getting bigger every month. This is accelerated by the active advertising by the concept’s founder, Google, and the successful deployment of such world-famous solutions as Tinder (the application size was reduced by as much as 90%, which reduced its download time from 11.91 seconds to 4.69 seconds), Aliexpress (conversion rates increased by 104%, and the average session duration increased by 74%) and OLX India (application download speed increased by 23%, clicks increased by 146%, and user engagement increased by 250% due to push messages) .
The Main Differences in the Work of PWAs on Android and iOS
Initially, the PWA application format was compatible only with Google Chrome. Moreover, only the Android platform allowed installing applications (the desktop version could only be accessed through a browser). Unfortunately, the concept was not available for iOS and macOS.
Nevertheless, the iOS 11.3 version launched in March 2018 pleased the fans of the PWA concept with support for these applications. Apple developers also added this feature to the Safari browser for macOS.
A month later, Microsoft added PWA support to the Edge browser. In addition, using Windows 10, the creators of PWAs can now distribute the apps through the official marketplace, Microsoft Store.
Thus, at the moment, there are no differences in the work of PWAs on Android and iOS.
Web Browsing and Uploading to PWA Stores
In order to access the PWA, the user can use their browser. If they want to take full advantage of the software (including offline access), visiting your website twice will be enough. In this case, they will be automatically sent a link with the suggestion to download the application.
Naturally, you may want to cover as much of your target audience as possible. In this case, you can try uploading your software to the official marketplaces of mobile platforms. As we mentioned earlier, Microsoft Store supports PWAs. In the case of other stores, you will need to pack the PWA into an Apache Cordova wrapper (for example, using PWABuilder).
Finally, based on the statements of official representatives of Google, new mobile versions of Chrome will allow you to integrate PWAs into full-fledged applications through Trusted Web Activities.
What Is the Target Audience of PWAs?
Let's take a look at the average PWA user.
An independent American Internet resource Recode has conducted a study with the results that turned out not too encouraging for developers. The fact is that the percentage of mobile software uninstallations is gradually increasing, and smartphone owners are not in a hurry to install new apps. For this reason, in order to truly interest the potential users, developers have to invent more and more innovative solutions and spend more on marketing. On the other hand, a PWA is a much more budget-friendly solution that: a) saves space on the smartphone; b) shows much-improved speed; c) will attract attention simply because it is a novelty in the field of IT.
Thus, the PWA target audience is smartphone owners who are interested in technological innovations and/or extremely scrupulous about the memory resources of their smartphones.
Further Perspectives of PWAs
Due to its advantages, PWAs are considered an extremely promising development concept. This is confirmed in practice by companies such as Tinder, Aliexpress, Uber, Pinterest, and more. The relative emptiness of this niche plays in favor of the developers as well. So far, they have a chance to draw the attention of fans of technological innovations to their software.
Nevertheless, it’s best not to wait for too long. Since the number of implementations of this technology will be increasing, Internet users will be suggested to install the apps more and more often. This means that, at some point, this approach to development will cease to be as effective in terms of self-promotion as it is now.
Despite the fact that the PWA technology turns four years old this year, the concept is still considered innovative, and can be safely used for your project - at least to provide its users with a new level of UX. You can appreciate all the advantages of this approach to development in practice by testing our PWA-software.