📱 Apple Safari and Microsoft Edge Ship Service Worker ⚙️ Support in Preview Builds
Christmas came early for web developers this year when Apple Safari and Microsoft Edge both released live service workers support in their preview builds. This signals full Progressive Web App support in iOS & MacOS Safari is just around the corner.
Apple Safari and Microsoft Edge have been the most anticipated browsers to ship PWA support. We knew Microsoft was shipping service workers soon, but now we have public access to Apple's latest work.
This is exciting because now we know the web will be able to out class native apps in almost every use case in the near future. This is also a big win for consumers because native apps take up so much space on their devices.
Businesses are also excited because now they can lower costs to deliver web apps and customer engagement opportunities to everyone using on any device.
Microsoft Edge Yellow Lights Service Workers
Service Workers: Going beyond the page— Microsoft Edge Dev (@MSEdgeDev) December 19, 2017
Beginning with today's preview release (Windows Insider Preview 17063), Service Worker, Push, and Cache are enabled by default in Microsoft Edge! Learn more and try it out today: https://t.co/HNZfn8W9eS
Microsoft is been public about supporting service workers over the last year or so. They shipped a version of Edge with service worker support in September. However, service workers were hidden behind an about:flag. That change this week when Microsoft released build 17063 to the insiders. The latest version of Microsoft Edge on Windows insider builds has service workers turned on by default.
If you're not familiar with Windows insider builds, this is the way Microsoft releases early access to new features and functionalities. It gives them a chance to flush out the last bugs and a chance for developers, like you and I, to work against some of the latest features and provide valuable feedback.
Microsoft is shipping full service worker support including the Cache API and native push notifications. Microsoft Edge push notifications do require the Windows Push Notification Service (WNS). This gives you the ability to send messages to the different push services that each browser supports.
WNS has recently been upgraded to support web push notifications:
To reach reasonable interoperability with other browsers’ messaging services, WNS has now deployed support for the Web Push protocols being finalized within IETF, as well as the Message Encryption spec and the Voluntary Application Server Identification (VAPID) spec for web push. Web developers can now use the Web Push APIs and service workers to provide an interoperable push service on the web.
Apple Ships Service Worker Support
Not to be outdone, Apple Safari also shipped early access to service worker support. In a surprise announcement, the WebKit team announced Safari Technology Preview has now shipped with service workers on by default.
This means the Apple Safari team is moving rather quickly to implement service workers. They only publicly started working on service workers in August of this year. There is still no clear indication of when Safari will ship service workers to the masses, but hopefully it will be within the next year.
The Safari technology preview is available only on Mac OS and must be downloaded separately from Safari. You can access it through the Apple app store.
Early reports from some developers indicate that the service worker support in Safari is still a little buggy, which is to be expected. If you have a chance grab the technology preview and try it out yourself. I'm sure the more feedback the Safari team receives the better implementation will be able to make.
This dove tails with other recent progressive web app activity from Apple. In the past two months they have also publicly announced their implement in support for the web manifest features. This is a clear indication that they should support support progressive web apps in the near future.
Outside of just the engineering and browser space at Apple, the app store team is also starting to drive businesses away from native applications and towards progressive web applications. Earlier this week I reported that Apple is becoming more aggressive in rejecting app store submissions and purging existing apps. They are requesting that more businesses attempt to use the web instead of make native applications for iOS.
Since the initial technical preview release Apple has continued to improve service worker support. These iterative improvements are a positive signal that Apple is serious about service workers in Safari.
But service workers are just part of the progressive web application story. Apple Safari now uses the web manifest file to build an add to home screen story. At this time there are many kinks in the system. Just remember these are Beta or possibly Alpha quality releases.
While there are still many bugs and gaps in the overall experience, the general direction Apple Safari is going with PWAs is exciting. This is a great story for business, developers and consumers!
Now is the Time to Master Progressive Web App Development Skills
All this activity from Cupertino indicates that they have become very warm to the concept of a progressive web app over a native application. This is good news for many businesses as this gives them more control over their brand and ability to engage customers.
It also clearly indicates the developers need to shift their focus from building native applications for mobile and put more energy in to a progressive web application strategy in 2018.
Microsoft Edge and Apple Safari are the last two primary browsers to ship service worker support. Once these two browsers ship in their final builds we will have a complete coverage of service workers for everybody. This is big news if you've already started working on service workers that you're already ahead of the game.