PWAs are just websites, but they differ from a common website in that they have below three technical features but are designed to just plain be better.
- Use HTTPS
- Register a Service Worker with a fetch event handler
- Valid web manifest file with a minimal homescreen icon set
Progressive Web Applications deliver a user experience similar to Native Mobile Applications. This user experience gracefully degrades when the browser does not support a modern feature.
PWA catch in Apple’s Safari implementation
Today most browsers support the same modern web standards and capabilities. Most except Safari, which always seems to be at least 2–3 years behind the competition. Limitations in iOS Safari are below:
No native add to homescreen prompt
As far as PWA support on iOS the core thing missing is the support of the web manifest. The file that provides enhanced meta data about the web site to the browser. It facilitates the add to homescreen experience.
Progressive Web App Cache Capacity
Right now, the biggest progressive web application limitation on iOS is the small cache capacity quota Apple imposes, ~50MB.
iOS also does not support native push notification feature.
Background Sync on iOS
The more disappointing thing is that Background sync is not supported on iOS.
One other major concern is purging on Unused websites. f your PWA goes unused for a few days (roughly for 2 weeks) the device will remove all cached assets associated with the origin. This includes IndexedDB, service worker cache, localStorage, etc.
Certainly, there are limitations to for Progressive Web Apps on iOS, but they are not deal breakers. Many of the most requested features have at least some form of fallback solution. It may not provide a comparable user experience the native web platform API or service offers.