What are the pros and cons of Chrome Apps compared to Electron?

You can totally compare electron and chrome packaged Apps. They are very similar. For both of them you get:

  • Develop your Desktop App using Web Technologies
  • App runs on top of Chrome
  • Automatic updates. Though in Chrome you get it for free, for Electron you need to do some work.
  • OS Integration - Both have better integrations with the OS than a normal website, but Electron supports a wider range of OS integration.
  • Work offline or online.
  • Both work on Linux, OSX and Windows. Chrome Web Apps also work on Chromebooks.

Here are the differences:

  • Electron uses node.js. So you can import many modules not easily available in Chrome Apps.
  • Distribution, with electron you package and distribute the app yourself. With Chrome Apps you distribute them through Chrome Webstore.
  • Environment. An Electron App is packaged with its full environment. Chrome Apps just use Chrome environment so they are lighter, but may behave differently for different users depending on the Chrome version they use.
  • Chrome Apps require the user to have Chrome installed, Electron doesn't.
  • Electron has better developer tools for testing and debugging.
  • Electron is an open source platform. Chrome Apps is also built on top of multiple open technologies but specially distribution is controlled by Google.
  • Electron documentation is much better even though it's a much younger platform.
  • Adoption: There are quite a lot of big and successful apps built on top of Electron such as Visual Studio Code, GitHub client, Slack. Chrome Apps just never picked up as much momentum.
  • Chrome Apps can be tightly integrated into Google Drive

UPDATE 2016-08-19:

It seems Google recently deprecated Chrome Apps on any platform other than ChromeOS. So I'd say it's no longer a valid option.

http://blog.chromium.org/2016/08/from-chrome-apps-to-web.html


I think it is not really possible to compare electron and chrome-apps. It depends on, what your program should do.

So, when should I use electron?

On the first look electron looks like chrome, because the views of electron is based on the chrome browser. But electron is a full node.js environment with a chrome view on top. So the powerful features are not just insight the chrome part.

Like you mentioned there are a lot of node modules (over 1.700.000), which you can very easy install or update. You should also take a look at the node.js api (https://nodejs.org/api/). All that allows you to write complex apps, which are fully integrated on your desktop. For nearly all problems are some modules available.

With node you can first make your program with a command line interface and after that you can use electron to make a gui.

So, when you already have a online app which is written in JS, maybe a chrome-app is better. Chrome-apps are great for a google drive use. Or if you want to have a full integration in chrome-os.

So my pros for electron:

  • more than 1.700.000 modules over npm available
    • very easy integration of jQuery, Angular, React, ...
  • first make a program with a CLI and then make a gui
  • works perfect with github
  • very good desktop integration
  • provide windows installers