Tradeoffs of Progressive Web Apps


Since 2015 Google has been working on a new technology called Progressive Web Apps (PWA). What are the concepts behind this new technology? First of all, as its name suggests, these new apps are Web apps developed with familiar HTML/CSS/JavaScript. Secondly, as a user interacts with such apps, they become progressively better: better response time, faster data access, etc. Thirdly, unlike traditional Web apps, these new apps allow you to work offline, receive push notifications, even when a browser window is closed, and start them similar to native apps. Finally, PWAs don’t need an app store. They are “downloaded” from a URL. Once these apps are “installed” on your devices, they can be instantly updated as a new version becomes available. This last feature is a big plus for both vendors and users. In fact, Google says that if developers follow principles of the responsive Web design, they can reuse most of the code from the mobile Websites as PWAs. Cool!

What stands behind “progressive” that makes these new apps different from traditional Web apps. There are several new concepts:

  • Service workers are background processes that execute code written in JavaScript. They can listen and react to different types of events: new push notification, business data updates, availability of a new version of an app, etc.
  • App Shell – a concept of a visual container that makes PWAs look like native apps.
  • Ability to add PWAs to your mobile device home screen as a native app.

As users interact with PWAs more and more, these apps cache code and business data, so that the apps’ performance become similar to the native apps.

Benefits of PWAs

We can conclude that there are several strong reasons to look at PWAs if you’re on a journey to select a new mobile app platform:

  • Reuse of the existing and popular skills: HTML/CSS/JavaScript
  • Reuse of your existing code if you already have a mobile Website
  • No need to deal with an app store. Your app changes are immediately available for the app users
  • Promise of a good performance

The other side of a medal

The new technology is interesting and promising, and it’s worth following its progress. However, organizations should carefully review the trade-offs of this new technology and understand the implications of using PWAs as the basis for their mobile strategy. At the moment there are many questions and missing capabilities that don’t make PWAs a good choice for many mobile initiatives.

Security

This is one of the first areas that requires careful evaluation of PWAs. Google says that PWAs are “secure” and support this statement with the fact that PWAs use HTTPS to communicate with a server. HTTPS is just one of many security requirements for a typical mobile app.

For example, PWAs are “installed” by following a URL on a Website that is designated to be a PWA. But do you always know if that Website is reliable and secure? There are plenty of techniques to fool a user to follow a bogus URL. Installing a PWA from a malicious site would expose your device. While app stores impose a certain publishing (and lengthy) process for mobile apps, they, at the same time, provide some level of assurance that mobile apps are trustworthy. There is also app scanning, user comments and rating system that give you a level of trust. This part is missing with PWAs.

Another missing security feature is that PWAs don’t support an encrypted on-device data store –  a requirement for many business apps.

Mobile features

Mobile app features specific to a device make a big difference in user experience and the value of such apps. For example, ability to make a picture and share it with your family, or using a mobile device as a navigation aid, etc. While there is good progress in making those features available to the Web apps, there is still a big gap in what features are supported by native and Web apps.

PWAs try to close this gap by supporting offline mode and push notifications, but other features are not available yet in PWAs:

  • On-device encrypted data store
  • Barcode reader
  • Camera
  • Contacts
  • Files
  • Touch gestures
  • Other (the full list is here)

One vendor game?

As of now, Android is the only platform supported by PWAs. Why? Because PWAs support for native-like features is based primarily on Chrome (there are a few more browsers supporting PWAs, but support is spotty). Will Safari support PWAs? There is no positive answer.

Maturity

PWAs are new. There are very few PWAs in production. Two examples are FlipKart (India) and the Washington Post (USA; in beta mode). There are several example apps too. Developers are debating about promises and realities of the PWAs. So far, it seems to be more concerns with these new apps than bright news. Will you bet your business on the technology that can’t even showcase its maturity? It would be a risky choice, at least right now.

IBM MobileFirst offers full set of mobile capabilities

IBM MobileFirst Foundation is one of the best mobile app development platform on the market and supports mobile capabilities that are missing from PWAs. It provides some of the advantages claimed by PWAs, but offers additional capabilities. Let’s take a look at side-by-side comparison in the following table:

Feature Google PWA IBM MobileFirst
Reuse HTML/CSS/JS skills Yes Yes (hybrid apps)
Dynamically update apps Yes Yes (dynamic updates for hybrid apps)
Requires app stores No Yes
Supported on iOS, Android and Windows OS No (Android only) Yes
Encrypted communications Yes Yes
Encrypted on-device data store No Yes
Push notifications Yes Yes
Home screen app launcher Yes Yes
Advanced app security No Yes
Support for all mobile features (Camera, Contacts, Files, Touch gestures, etc.) No Yes
Built-in mobile analytics No Yes
App management No Yes
Device management No Some security related features. Full support with add-on MobileFirst solution from IBM
Industry proven No Yes. Hundreds of clients in all industries with different workload requirements.

Conclusion

PWAs present a new and very interesting concept of expanding support for mobile devices by the Web apps. There is a big promise. However, this new technology is in its early stage. It can be interesting for evaluation and further developers’ collaboration. But it is premature to talk about PWA as a valid candidate for the mobile app development needs of the most organizations. Even if the available features are tested in numerous production deployments, there is still a relatively small set of mobile use cases that can be covered by PWAs.

To support all of your mobile app development needs IBM offers MobileFirst set of capabilities that will support any mobile initiatives. IBM MobileFirst Foundation can be deployed in any fashion (on-premise, cloud or hybrid). You can find more information about IBM MobileFirst at this link.

Further reading

https://codelabs.developers.google.com/codelabs/your-first-pwapp/#0

https://adactio.com/journal/10708

http://gonehybrid.com/are-progressive-web-apps-the-future-of-mobile-apps/

https://cloudfour.com/thinks/android-instant-apps-progressive-web-apps-and-the-future-of-the-web/

 



Categories: Technology

Tags: , ,

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: