Progressive web apps challenge native mobile apps

Web companies such as Lyft and Twitter have now deployed the technology that seeks to make web apps as good, and network-independent, as native mobile apps

Progressive web apps challenge native mobile apps
Credit: flickr/JD Hancock

Native mobile apps have generally had the edge when it comes to user experience over web-based apps. But the tide is turning, with progressive web apps — a technology spearheaded by Google and Mozilla—catching on at major web properties and developer tools becoming available.

“We’re starting to see a lot of large companies come back to the web because of its low friction,” said Addy Osmani, an engineering manager on Google’s Chrome team. He cited Lyft and Twitter as examples.

Twitter’s progressive web app, Twitter Lite, takes up less than 1MB of memory, compared to more than 100MB for its native iOS app and 23MB for its native Android app, Osmani said. The client-side JavaScript app uses less data and supports push notifications and offline use.

Key to these apps is service workers, a JavaScript-based client-side proxy that lets apps load instantly regardless of the network state. It runs as a background script in the browser. These apps also pre-cache key resources, to reduce network dependence.

Osmani acknowledged the technology is still in progress; Apple’s Safari browser, for example, cannot use service workers.

Web developers now have tools to help them build progressive web apps, such as the  open source Lighthouse tool for performance auditing. And there’s Preact, a lightweight (3K) alternative to the React JavaScript UI library. (React can also be used for progressive web apps.)

The Hacker News readers as Progressive Web Apps project is a reference resource, providing examples of progressive web apps using technologies such as Angular, React, and Vue.js.