Other Electron for FreeBSD

herrbischoff

Active Member

Reaction score: 71
Messages: 168

GitHub user Guangyuan Yang has successfully built Electron on FreeBSD. As the Electron team has shown no interest in targeting FreeBSD or even including the changes in the official core, this promises to be an alternative way to use applications like Atom, Visual Studio Code and lots of others. It may open the way to create ports for those applications. He's already working on a port:

https://github.com/electron/electron/issues/3797#issuecomment-357095767

While I'm not particularly partial to JavaScript-based desktop applications, they do enable cross-platform availability that would otherwise be harder to achieve.
 

TheRaven

New Member


Messages: 14

That is true herrbischoff, once you've gotten over the non-availability of the baser systems. I think they were trying to recruit a maintainer for the FreeBSD (BSD) port(s) and pickings were slim (like 0 volunteers). It seemed as though they were slightly put off by an underwhelming response as they appear to be pretty tight on man-power right now as it is.
I was excited to see the possibility of electron arriving in the FreeBSD space myself as I would prefer VS Code to many other editing environments, but am in no position to offer assistance myself else I would have.

Sorry bout such a late response, but many thanks for the heads up; I'm fairly interested in the electron migration to FBSD. Take care.
 

sko

Well-Known Member

Reaction score: 218
Messages: 429

Electron is one of those typical "cross platform" frameworks originated on linux: a total dependency hell.
I've tried building it several times during the last ~12 months (to use the ultimatehackingkeyboard config agent) by using the patches from Guangyuan Yang, but usally it's some of the dependencies or their dependencies that fail catastrophically. The whole thing is littered with linuxisms, so even if it would finally build on FreeBSD, I wouldn't use it anywhere near production systems/software. It's just too fragile with all those dependencies of which many are very fast moving targets and break stuff left and rigt, which is one of the main reasons why builds usually fail if you don't have each and every dependency in *exactly* the correct version and patchlevel. Also the general overhead of such a framework/platform is just completely insane - dragging in several hundred MBs just to run some small applications? No thanks...

Don't take this the wrong way; I really appreciate the efforts to get Electron running on FreeBSD, but in general I think such bloated and fragile "cross platform frameworks" are a dead-end and should be extinguished better sooner than later...
 

kpedersen

Daemon

Reaction score: 456
Messages: 1,310

Electron uses node.js underneath, therefore it is pretty much as unportable as you can get!
Node based on Chromium is actually a nightmare to port. The Raptor Computing guys have just about managed to port Chromium to POWER(8?) processors as far as I know and that took quite some work.

If they disabled the JIT, it would be more portable but then a bit too slow for anything useful.
 

drhowarddrfine

Son of Beastie

Reaction score: 1,071
Messages: 2,979

Node based on Chromium is actually a nightmare to port.
Actually it's based on V8, the javascript engine, not the Chromium or Chrome browser. We use it for some projects; mainly for those who use credit card transactions and the CC company only offers that as their interface. It runs well on FreeBSD.
 

kpedersen

Daemon

Reaction score: 456
Messages: 1,310

Actually it's based on V8, the javascript engine, not the Chromium or Chrome browser. We use it for some projects; mainly for those who use credit card transactions and the CC company only offers that as their interface. It runs well on FreeBSD.
Sorry, yeah I meant the Javascript engine from Chromium.
 

shkhln

Well-Known Member

Reaction score: 133
Messages: 380

Electron is one of those typical "cross platform" frameworks originated on linux: a total dependency hell.
As I understand it, technically Electron is a patchset for Chromium replacing native v8 with Node.js' v8 version plus random junk thrown in. It has the same dependencies as Chromium + Node.js combined. Building that thing means merging Electron's patchset with FreeBSD Chromium's patchset and fixing compilation errors. That's actually quite easy, if time consuming. The problem is, of course, this job must be redone for each Chromium release.
 
Top