Progressive Web Apps: Advantages and Disadvantages of PWAs
In a few years, Progressive Web Apps (or PWA) have invaded the mobile market. A PWA is a web application developed with web development languages (HTML5, CSS3, JavaScript) and executed from a web browser.
Its operation is intended to be very close to what a classic application could offer (downloaded from a store). We tell you more in this article about reasons to use progressive web application, their advantages, disadvantages, and what differences to make with a native application.
Characteristics of a Progressive Web Application
- It is a mobile-optimized website designed to look like a native app
- It runs from a web browser and loaded features are cached for future offline use without going through an application store
- It uses Services Workers – scripts that work in parallel with the web page – to use certain features of the device (GPS, camera, etc.)
- This new web standard is supported by Google
Top Advantages of Progressive Web App
PWAs are presented by Google as “Websites that took all the right vitamins” or supercharged websites that have certain advantages.
1. Instant Deployment
Just like a website (since the PWA is a website), you only need to update the server to deploy the Progressive Web Apps. In addition, PWAs can be added to the PlayStore in the beta version (and therefore visible and findable via a search).
2. Quick Access
Like a standard website, there is no need to download the entire app. It can also be added to the home (even if the manipulation is not as easy as for a native application) to be accessible as a native application. Finally, it can be viewed offline.
3. SEO
As PWAs are websites, they, therefore, benefit from the same possibilities of referencing on search engines (and it seems that Google would even highlight PWA sites).
4. The Mobile-like Effect
The application tends to resemble a native application as much as possible: icon on the home, design, features, etc.
Top Disadvantages of Progressive Web App
1. Limited Functionality
Access to the functionalities of the device remains limited to a subset. For example, features are not available, such as:
- Bluetooth
- Push on iOS
- Innovative features (Machine Learning, Augmented Reality)
- The background features
- Extensions (Siri, widget, quick action, watch, etc.)
2. Incomplete Support
Progressive web applications (PWAs) are generally usable on most modern browsers, but older versions are not. In addition, the features available are not the same from one browser to another: the features will be broader on Chrome, for example (the technology being carried by Google).
3. UX and UI Imitation
When developing a native application, the guidelines given are precise and frame the interface for optimized mobile reading. The web has a wider and less framed field of possibilities, which generates possible errors for PWAs, such as ergonomics not always adapted to mobile (buttons too small, different look depending on the phone, etc.).
4. Web Technologies
The application is developed in Javascript, which brings its advantages but also its disadvantages. The JavaScript language being more permissive and less robust can be a source of bugs. The JavaScript ecosystem is also very volatile and requires high maintenance to keep the use of functional and maintained libraries.
5. The Absence of the App Store
On the Apple side, it will, therefore, be impossible to have your PWA listed in the App Store. Indeed, the Apple brand has a very strict policy: PWAs are not applications but websites, therefore have nothing to do with the App Store.
Should we Favour PWAs over Native Applications?
PWAs promise a unique and faster development than mobile applications based on web technologies. On paper, the promise seems attractive, but in practice, the heterogeneity of Android web browsers multiplies the differences from one version to another, just like native applications. Web technologies are also very permissive and not always easy to stabilize.
In addition, one of the strong points of PWAs is the speed of deployment, the download as you use it, as well as the ease of reference. These three points allow a strong acquisition. However, mobile applications are not left out since they now offer similar features.
Although they tend to look like native applications, PWAs still suffer from a limited and very web-oriented user experience (scroll, click-effect). “Push” functions (such as Bluetooth, Geofencing, integration with Google Fit / Apple Health, etc.) are still not accessible today for PWAs, especially on iOS.
A bit complicated to say that you should favor native apps or PWAs because they simply meet a different need and can even be complementary. In fact, some applications build bridges between the PWA and the native application.
What Technology to Choose for Progressive Web Apps?
The choice between PWA and native applications depends mainly on expected and future functionalities. The PWA is not intended to replace the native application but will come in addition to it.
In fact, the use of a native application will be recommended if your application requires:
- The use of native phone features such as (among others) pushes, Bluetooth, geofencing, Machine Learning, Augmented Reality, widgets, and quick-actions.
- Communication with other applications such as Google Fit / Apple Health, Calendar, Home Kit, and Apple Music, increased user experience
- A design that fully exploits native designs and animations
We hope that you now see a little more clearly the possibilities of Progressive Web Apps. If you have a Progressive application project and want more information about the technologies and possibilities, contact us!