Will PWAs Kill Electron?

If you haven’t been tracking Progressive Web Apps (PWAs), it is now time to pay close attention. PWAs were originally conceived in 2015 as a web standards-based answer to native mobile apps, and are now turning their sights on the desktop to bridge the gap between native applications and web-based single-page applications. Given their success to date, it is likely that PWAs will displace Electron for most consumer use cases.

PWAs are designed to bring native app experience to the web stack. They are an enhancement of existing web technology and therefore don’t require separate bundling or distribution. Deployment of a PWA is the same as for any other web page.

Here’s why this does not bode well for Electron:

1. PWAs provide capabilities to address most Electron use cases.

2. Google, Microsoft, and Apple are investing heavily in PWAs. Microsoft has said publicly that they are shifting from Electron to PWAs for Microsoft Teams on Windows.

https://channel9.msdn.com/Events/WebPlatformSummit/Microsoft-Edge-Web-Summit-2017/ES04 (jump to min 27:45)

3. PWAs are deployed instantly like web pages and don’t require install like Electron.

4. By relying on the web browser, PWAs provide significantly better security than Electron.

5. PWAs build upon a broadly supported set of standards. Standards win.

All of this means that interest in Electron will likely wane as flagship apps like Slack, Skype and Teams move to PWAs. The question is whether GitHub will continue to invest in the project. At OpenFin, this is something we watch closely since OpenFin OS is currently based on Electron. If investment in Electron goes down and the project isn’t kept up-to-date with Chromium then we’ll need to move to something else.

Those who have been following OpenFin for the last several years will know that this is not the first time the landscape is changing in the Chromium framework space. From Chromium Embedded Framework, to Chrome Packaged Apps and more recently to Electron, the world of Chromium abstraction layers is in constant flux. The fundamental bets we’ve made at OpenFin are on HTML5 and Chromium and not on any particular toolkit or framework.

The good news for OpenFin customers is that none of these potential changes have any impact on their applications. The OpenFin OS API sits in between applications and the Chromium engine for windowing, notifications, system access and more. Our APIs will stay consistent and backward compatible no matter what is going on under the covers. This allows us to modify and improve the underlying OS layer, without requiring any coding changes by customers. OpenFin is the insurance policy that allows firms to invest in their next generation desktop strategy without having to worry about the ebb and flow around these technologies.

It’s too early for us to start making changes, but we have started planning for what seems inevitable with the rise of PWAs. If you’re using Electron and want to discuss a migration strategy, please contact us at info@openfin.co.

Additional Reading

1. “A lot of Electron apps are simply a website wrapped in an OS-native launcher, and it’s possible that many of these could switch over to PWAs in the future.”

https://www.theverge.com/2018/2/7/16987842/microsoft-progressive-web-apps-pwa-edge-windows-10

2. “The current Electron implementation of Teams isn’t available in the Microsoft Store, but if all goes well, it would not be surprising to see the PWA version of Teams replace its desktop counterpart and/or co-exist with it till feature parity is achieved.”

https://www.neowin.net/news/microsoft-reportedly-starts-testing-pwa-version-of-teams-in-the-store

3. “Many platforms [including Electron] have attempted to make it possible to gain access to “exotic” capabilities while still allowing developers to build with the client-side technology of the web. In doing so they usually jettison one or more aspect of the shared value system. They aren’t bad — many are technically brilliant — but they aren’t of the web.”

https://infrequently.org/2015/06/progressive-apps-escaping-tabs-without-losing-our-soul