Reg comments23

Apple signals it's willing to let next-gen web apps compete with iOS apps

Service Workers land in WebKit, clearing way for better in-browser applications

Good, good, phone in hand, good. Now if you could just bite into an apple... perfect, print it

Analysis About a week after Philadelphia-based web developer Greg Blass pilloried Apple in a widely discussed online post for hindering web development by refusing to embrace Service Workers, the WebKit team, stewards of the open-source layout engine powering Apple's Safari browser, began doing just that.

Service Workers, an API for running background scripts in the browser, have shown up in the WebKit Feature Status dashboard as "In Development."

"Service Workers are what allow you to do all the awesome and exciting things that [Progressive Web Apps] represent," wrote Blass in his July 24 post. "Mobile Safari's lack of support for them effectively kills the ability for PWA's to work for half of all US users – which in turn kills their feasibility as a whole."

Proposed in 2015 by Google software engineer Alex Russell and designer Frances Berriman, PWAs were conceived as a way to make in-browser web applications competitive with native apps in terms of performance and user experience. Service Workers represent one of a handful APIs that define PWAs.

Google has been advocating for PWAs in part because when the web thrives, its search business does too.

PWAs use Service Workers to fetch cached content, so they can function without a network connection, and to improve discoverability in search engines. They can receive push notifications and be installed on mobile devices like native apps. And they operate over HTTPS connections for better security.

Google, Mozilla, and Opera were early champions of the technology, and in May Microsoft boarded the bandwagon.

Apple however has remained silent, as is its habit, and that silence has been read as antipathy.

That's not an entirely unreasonable assumption given that Apple in the past limited web performance in third-party apps and has been slow to integrate evolving web specifications.

Until 2014, with the advent of WKWebView in iOS 8, Apple forced third-party developers like Google to use the slow UIWebView component for Chrome on iOS while it granted mobile Safari access to its faster JavaScript JIT engine Nitro. Apple had its reasons – security – but critics saw the requirement as anti-competitive.

The future web

Now that WebKit is implementing Service Workers, the technology can be expected to show up in future versions of Apple's Safari browser. And web developers are delighted because PWAs perform well in terms of user metrics, better than native apps in some cases.

"I think it's a signal that Apple is going to embrace some of the most important APIs for Progressive Web Apps," said Max Lynch, CEO of Ionic, maker of a framework for hybrid app development, in a phone interview with The Register. "It's also a signal they're open to the idea and concept of what PWAs are."

Lynch disputed the notion that Apple has deliberately kept the web down so its native app business could prosper. Apple, he said, "has been the primary driver of many web performance APIs we use. While they might be behind at times, the truth is iOS performance for the web is better than any other platform out there. It's better than Android's performance."

In a phone interview with The Register, Blass said he didn't expect that his post would get so much attention. "I really didn't think Apple was actually going to do anything," he said. "They proved me wrong."

Blass said he has no reason to believe that his post prompted Apple to act, but he's happy if he helped move things along. In fact, it appears that Google Chrome developer advocate Jake Archibald got the ball rolling when he submitted a request to implement Service Workers on July 15, according to WebKit's bug tracker.

Blass, who runs web development company Philly Dev Shop, said PWAs offer development firms the opportunity to write less code, at least for projects that work as web apps. "For us, having to focus on writing three code bases – the web, iOS, and Android – takes time that we could use for real features," he said.

"The reason why people want to build Progressive Web Apps is they want more control over distribution," said Lynch. "You can reach so many more people through the web [than an app store], so it feels like a step backward for many companies."

That's not to say PWAs will elevate cross-platform development beyond native development. "I think native is always going to have its place," said Blass.

But PWAs could have some impact on the number of native apps in Apple's App Store, Google Play, and the Windows Store. "It might change some people's decision to create a native app and submit it to the App Store," said Blass. "But Apple has so much money, if they lose a tiny bit of App Store revenue I don't think it would be a big deal for them." ®

Sponsored: The Joy and Pain of Buying IT - Have Your Say


Biting the hand that feeds IT © 1998–2017