Developing apps for Chrome OS with Electron

calvillo picture calvillo · Aug 28, 2017 · Viewed 7k times · Source

I have to develop an app with Windows, MacOS and Chrome OS support – at the very least. Chrome OS is an important requirement because this app is intended to be used in schools – where Chromebooks are a kind of a big deal. As you may know, Chrome apps are being deprecated on Windows, MacOS and Linux, so that leaves us with two choices for web-based "native" apps: Electron and NW.js.

Since I'm developing this app from the ground up, and not converting any existing web code, I feel inclined to choose Electron for this particular project. However, I can't find any reliable / complete / concrete answers regarding if Electron may be used for developing Chrome OS apps. I found this release note which states:

Electron now provides builds for Linux on ARMv7. It runs on popular platforms like Chromebook and Raspberry Pi 2.

However, officially, Electron only supports Windows, MacOS and Linux, which leads me to think that this Chromebook support might be somewhat limited, which, in turn, leads me to think that NW.js might be a better choice for this project.

My concrete questions are: Has anybody successfully created a Chrome OS app with Electron? Are any of these apps easily installable by regular users? (12 year-old kids) Or do they require some kind of Linux-like hack to get them running?

Answer

Daniel Herr picture Daniel Herr · Aug 29, 2017

You must use Chrome Apps for software on Chrome OS. Also, Google has not announced any intention to remove Chrome Apps from Chrome OS. You will need NW.js or Electron on Windows, Linux, and Mac.

However, this does not require completely separate codebases. NW.js has native support for Chrome Apps, and there is a partial polyfill for Electron.

There are some differences you need to account for, such as the lack of autoupdating and installation from the Chrome Web Store for NW.js/Electron.