Progressive Web Apps are everywhere, literally. Every major browser and platform has support for service workers and are using the web manifest file in some form or fashion.
This includes Apple’s iPhones and iPads using iOS Safari.
The catch is Apple’s implementation is somewhat restrained compared to other platforms, especially when compared to Chrome and Edge.
Stop right there!!!
THIS DOES NOT MEAN Progressive Web Apps don’t work on iOS, they do and they are great!
Safari supports service worker caching. It does not support push notifications or background sync. Safari does use parts of the web manifest file.
There is a 50MB service worker cache limit, but that does not mean you cannot persist more data.
There is no native add to homescreen prompt, but other than Chrome and Edge no one else does either.
Unused web apps that have not been added to the homescreen will have their cached assets purged after 7 days. This is less of a problem than most think.
That may sound like a lot is missing, but it is not as bad as it sounds.
A great feature of the web platform is the ability to progressively enhance (the progressive part of PWA) and polyfil many features when a browser does not support them natively.
To be fair Apple was really the first platform to support the concept of a web app. When they released the iPhone the first apps were HTML5 based.
As such they provided a way to manually add a website to the homescreen and launch in a full screen experience.
They kept the process simple, just sort of hidden.
Unfortunately, they never matured the experience. And service workers did not exist at the time.
Today that has changed, but like I mentioned, the iOS PWA experience is a little different than other platforms, but very serviceable. It is also improving with each Safari update.
I should note that Apple is not a fan of the term ‘Progressive Web App’ or ‘PWA’. Instead they prefer to call them HTML Apps or Web Apps.
This is merely semantics. There is no official PWA specification, it is merely a term created to describe a modern breed of websites.
They are keen to point out that progressive web application is a term created by a Googler and initially promoted by Google. To be fair they are right.
The main takeaway from this article is why PWAs are a great choice to target iPhone and iPad users for your application. In fact Apple will probably tell you that too if you pay attention to the direction they are heading.
For now we know how Safari on iOS 13 supports modern web APIs. We are still waiting to see what updates and features will be added to iOS 14 and the next version of Safari.
#ios