Electron vs Brightray vs libchromiumcontent , What to use for following scenarios?


This weekend i am testing the waters on Electron/Brightray/libchromiumcontent

I am thinking of followings:

First , what i understand is , Brightray and libchromium are same , they are just web renderer that can be built stand alone shared so / static file with all dependencies .

Full desktop APP , with other language embedded as backend (python/ruby).

For this case electron will be too much?
For UI only javascript + dom + css is enough ?
System access will go via HTTP to backend server so for file and system access, so it makes io.js no longer necessary. So is Brightray/libchromium better choice?

Companion app for a website

For this case , i think Libchromiumcontent or Brightray is all we need.


Brightray will be best for this case?


I think Electron is appropriate for any of those … unless you specifically want to use the least possible code imaginable for all situations. Here’s how I see it:

  1. Full desktop app — This is specifically what Electron was designed for, even if you use some other language along with it. Just look at Atom with rsense support and go-plus. There’s no reason why you have to use some backend server to access the file system … that’s one of the benefits of Electron’s architecture :grinning:
  2. Companion app for a website — Again … an app that is based on web technologies? This is directly in Electron’s wheelhouse. So why not use it and all it has to offer?
  3. Embedding — For this, I’ll have to ask … embedding in what?

I don’t know … but so far you haven’t mentioned something that Electron would definitely be bad for … so why not give yourself the richest set of tools you can?



1 . I am sure it will fit for electron job. For development i prefer python over iojs/nodejs and python’s have far more well develped and mature system libaries vs iojs/node etc. so for backend i would choose python for system access / rich networking (twisted) and rich scientific python libaries , so python will need to be included and that makes iojs obsolete . But what you said is fair . Just those set will be many times bigger dependancies than iojs .

2 . yes why bother here too. just use the richest set.

3 . For this case , embedding as a web browser for some other desktop applications.


I think for the 3rd case, Chromium Embedded Framework sounds like a better fit - on paper at least. Embedded is in the name. There’s even a fork with python bindings.

I don’t know enough about Electron, Brightray or Chromium Embedded Framework to compare and contrast them. It would be great if someone could. I’m really interested in someone breaking down the differences between these projects.


I know CEF and CEFPython is not even updated regularly.
As far as i understand:

  • ChromiumContent build (chrome’s blink , that is Renderder, Dom , v8 )into a single shared so/DLL file
  • BrightTray builds Chromium content + All dependancy libaries into a single portable static binary file.