Progressive Web Apps are no longer limited to Android users, but can be easily accessed by iPhone and iPad owners with the iOS starting from 11.3 to 12.2, plus the soon-to-come 13 (currently in beta). On March 30, 2018, Apple quietly added support for technologies that make PWAs work (although you will not find any mention of this in their official press release), thus allowing you to install apps without any approval from the App Store. The Progressive Web Apps on iOS are still far from being as smooth as they are on Web browsers such as Chrome, Opera, Safari or Firefox, but still it’s a big step for Apple.

PWA non-official logo

Community-approved Progressive Web App logo

Service Workers + Web App Manifest = PWA

With Safari 11.1, Apple introduced support for Service Workers—one of the two crucial ingredients for PWA, which brings all the features that separate Progressive Web Apps from other apps. They let developers declare what portion of an app should be cached, allow websites to execute JavaScript code in the background, thus enhancing overall performance of the app, they also make a PWA accessible without an Internet connection.

iOS consults the Web App Manifest when adding apps to the home screen. The Manifest carries important metadata like names and icons, which are key to creating a native-like experience. Thanks to the Manifest, an app can be pinned to the home screen, can be adjusted to fit different screens and devices, and render elements for them. Some key features are still missing, so you will not be able to change the orientation, access bluetooth or send notifications.

Those two technologies create PWA, providing experience of a native app at the same time not abandoning web. It’s basically a website, built with modern technologies and providing a whole new user experience. If you already have your PWA developed for Android, every user with an up-to-date iOS on board will be able to access it using their Safari browser.

#pwas #mobile development #technologies #javascript

PWAs Are Now Available for Apple Devices with iOS 12.2 (and 13 beta)
1.15 GEEK