PWAs are coming to iOS 11.3: Cupertino, we have a problem

Friday, February 23, 2018

After the surprise yesterday from a tweet from Ricky Mondello and then the Safari 11.1 beta Release Notes stating that Web App Manifest and Service Workers are implemented which means multi-platform PWAs are now possible, it’s now time to come back to the real world and see what’s what we have.

Update 8-Feb: Beta 2 is out and the WebKit blog has published an article on how Service Workers work on its platform. This post is updated with this information.

Testing is not easy

Testing these new additions on iOS is not straightforward because the Developer Tools on Safari won’t let you see the Service Workers on iOS yet, and the MessageChannel for the clients API that allowed us to communicate the Service Worker with its client is not however there. But I manage to play with it a couple of hours, and despite the bugs that I’m sure the WebKit team will solve for the final version with Unit Testings that are failing, I want to focus on significant differences that iOS PWAs will have compared with Android.

If you published a PWA or are about to release one, you must pay attention to the user experience and the issues you might have on iOS.

18 months ago (one and a half years already!?) I published “Don’t use iOS meta tags irresponsibly in your Progressive Web Apps.” Several companies such as Twitter and Flipkart took note at that time of these problems and remove the iOS meta tags or solved the issues (You are welcome for the free consulting ☺️).

At that time the problem was that some companies were opting in through Apple meta tags for home screen support for iOS without even testing and recognizing the differences between Android’s PWAs and iOS.

I’m sorry to confirm that most problems are the same that I stated 18 months ago, with one big difference: now you don’t need to opt-in into iOS; iOS will add support for Web App Manifest, so your PWA will be an iOS PWA automatically. But Apple didn’t mimic the same behavior as in Android which means: Cupertino, we have a problem.

Continuar lendo o artigo no Medium