Thoughts on Progressive Web Apps

I was just watching some Google I/O 2016 videos and had some thoughts.

“Progressive Web Apps” seems to be a new buzz words, from my understanding it means, the latest/greatest web-apps leveraging new web platforms apis… for a better user experience.

Web-Apps that are more useful, more like Native Apps i guess.

One of the biggest api in “Progressive Web Apps”, is called “Service Workers“. Which supports Offline-mode (not to be confused with AppCache which Google says is unsecure and shouldn’t be used for new apps), and Push-Notifications.


Okay great, Pro-Web-Apps… service-workers nice… only problem is… Safari does not support service workers. It may never.

So that’s unfortunate.

To me the biggest benefit of creating web apps it that it can be run on any platform. Windows, OSX, Linux, Android, iOS all can use websites & web apps.

If Progressive Web Apps only works on Chrome, Android… but users of Safari/iPhone needs to download a separate browser… it kind of defeats the purpose of a universal app.

Programming for the web has always been about “lowest common denominator”. Making your webapp work on IE9 for example… (with the advent of evergreen browsers hopefully this will be a relic of the past.)

Why should I invest resources in making Progressive Web Apps that are only supported on Chrome? Wouldn’t I be better off just making a low-common-denominator web apps, and make a native iOS app?

I’m not sure but I guess Chrome wants to rule the world and be ubiquitous on every platform.

Edited (7-26-2016, 11pm):

I have to admit I wrote the above opinion before watching Taylor Savage’s nice talk about Polymer & Progress Web Apps.

Pretty impressive. I dig the progressive loading (only load the components necessary to view the current page, and pre-fetch the other components in the background or lazy-load them when needed).

So instead of loading the inter SPA with “load spinner” and all, you only load what you need. So this is better for the mobile web.

Idk, maybe I drank the kool-aid.