Service workers and iOS / Safari
On Chromium’s page about service workers there’s noted that
Service Workers are not supported by Chrome on iOS.
I assume that it can be delivered to iOS using some cordova plugins. Is there any other way to use Service Workers on iOS devices?
I’m worried about time between shipping new version on iOS and new version of cordova.
Does anyone know if Chrome on iOS is going to support service workers in the future? 🙂
3 Solutions Collect From Internet About “Service workers and iOS / Safari”
I don’t know if or when Chrome on iOS will support Service Worker, but it is definitely possible today with Cordova.
The Service Worker plugin on npm will let you use the API in Cordova apps on iOS.
Although Ian’s answer was great by the time it was posted (04.2015), this question became important point of entry for a lot people interested in service workers and Progressive Web Apps and answer is much broader now.
Feedback from Apple
Work officially in progress 🙂 https://webkit.org/status/#specification-service-workers
More positive signals on webkit-dev:
Apple engineers from the WebKit team have been heavily involved in ServiceWorkers spec discussions over the past few years. Many of our concerns with the spec have been addressed, especially for Fetch service workers which generally don’t run beyond the scope of pages that use them. While we have not done any implementation work, the “under consideration” in this case is meant literally. We actually are considering it.
According to Jake Archibald’s ‘Is ServiceWorker ready?’ current status of iOS (Safari) is:
Under consideration, Brief positive signals in five year plan.
Please be aware, that it affects all browsers on iOS – due to Apple’s limitations, Chrome on iOS is using WKWebView – the same rendering engine as Safari, and it’s only a tiny wrapper around it, so it’s limited to current functionalities.
The most recognized place of tracking current status of service worker is Jake Archibald’s ‘Is ServiceWorker ready?’.
There’s another resource that gathers these information, providing more information on various Chromium builds, most popular in China and covering some more details: https://ispwaready.toxicjohann.com/
Wide-scale debate about Apple participation in modern web features has been triggered after Nolan Lawson’s article Safari is the new IE (06/2015) whose main point was that
In recent years, Apple’s strategy towards the web can most charitably be described as “benevolent neglect.”
The main argument of the opposing party was that service worker and the rest of offline/PWA features are not customer-centric – the focus of Safari development.
Some people are even more radical like Greg Blass in his article (07/2017) who states that
Apple treats web apps like second class citizens because they don’t generate money like native apps in the app store.
Common point is that Apple is falling behind other vendors (Chrome, Firefox, Edge) with developing features that’ll improve web experience, but also has very slow pace of fixing critical bugs that makes some features technically unusable.
I wrote an article calling out Apple on the topic:
It got retweeted by a couple key people, then posted on hacker news, and continued to get some good twitter activity. A week later, they started development on it. So – stay tuned, it’s coming!
- iOS CGColor versus UIColor
- Get NSWindow* from CGWindowListCopyWindowInfo
- How to “strongify” optional self using guard in Swift 2.0
- Understanding Swift argument notation in functions like tableView
- My iphone app background process terminates after 10 mins
- iPhone: Access voice memos programmatically
- Type does not have a member
- Detecting Bluetooth Enabled iPhone devices in IOS7 in IOS
- How do you specify command line arguments in Xcode 4?
- Stubbing/mocking up webservices for an iOS app
- AVURLAsset getting video size
- Could not build module Darwin – arm64 issues
- In Apple's Documentation for NSObject, what is the idea of the “receiver”?
- Apple Watch, WatchKit Extension and main application
- Programmatically Create and Show UIPickerView