DEV Community

Cover image for Have you built any projects with Electron?
Madza
Madza Subscriber

Posted on

Have you built any projects with Electron?

Thanks to Electron you can build cross-platform desktop apps with JavaScript, HTML, and CSS. It's an open-source project, that uses Chromium and Node.js and is actively maintained by GitHub.

It's been in my eye for a while, so I'm curious have you built any projects with it, and what was your experience?

Oldest comments (28)

Collapse
 
gautham495 profile image
Gautham Vijayan

Yeah I built a markdown editor in electron.

It was fairly easy because if you know HTML, CSS and JavaScript you can easily create one.

The tough part is to build it and push it to Microsoft and apple store.

You have to do a lot of work on that.

But in future it is going to be the go to one as companies are opting for cross platform development for lowering their cost and development time.

Lets see!!

Collapse
 
vladned profile image
Vlad Nedelcu

Just saw this post and got interested in Electron because I wanted to do the same with one app that I have build with C#.

One question, can you install the apps locally without pushing it to any store ?

Collapse
 
gautham495 profile image
Gautham Vijayan

Yeah mate you can do it. You have to do it with electron-builder or electron-packager.
I did with electron-builder and I am using it locally.

Do you want me to do a post on that?

Thread Thread
 
vladned profile image
Vlad Nedelcu

It will help a lot :D Some posts over Stack Overflow are not that explicit.

Thread Thread
 
gautham495 profile image
Gautham Vijayan

I think I am gonna do it! Stay tuned!

Thread Thread
 
gautham495 profile image
Gautham Vijayan

Vlad I made an article because you asked!
Here is the link Electron-Builder

Thread Thread
 
gautham495 profile image
Gautham Vijayan

Tell me your views about it!!

Collapse
 
paulasantamaria profile image
Paula Santamaría • Edited

I did! Actually, @maurogarcia_19 and I built a few apps with Electron. One was a tool to sync files from a remote server into your PC automatically, here's a link with a few screenshots. We're really happy with how it turned out.

We had to overcome some issues though. It wasn't easy to configure SQLite (I don't quite remember why, but I remember it was a real headache). We also found it challenging to generate the package and manage app updates.

This was a few years ago, so maybe these things have become a bit easier now.

I'm curious about Electron.NET. I haven't tried it yet, but it may be interesting for people with a .NET background.

Collapse
 
dansilcox profile image
Dan Silcox

Yes SQLite was a nightmare for me too - because Electron bundles your app files inside an "ASAR" archive, so you have to (a) take it out the ASAR (there's some option for that, can't remember off-hand) and (b) put it in the "user files" path rather than the actual app root (so it's writable).

Collapse
 
patarapolw profile image
Pacharapol Withayasakpunt

SQLite is still the best database for Electron.

However, for some time, only node-sqlite3 can be compile (with electron-gyp to *.node) in macOS. better-sqlite3 cannot be used.

Collapse
 
arturssmirnovs profile image
Arturs Smirnovs

It's been in my eye's as well, so i gave it a shot and built this project: parluks.com/

To be honest i think i didn't had any issues with it, easy to code, easy to understand documentation, easy to build files for linux, mac, windows..

It's worth a try if you want to build app with desktop experience.. :)

Collapse
 
patarapolw profile image
Pacharapol Withayasakpunt

Yes, but not really successful, nor production level.

It was a project I want to have full and latest web browser API's, not just minimal JavaScript engine as in Qt WebEngine.

Collapse
 
dansilcox profile image
Dan Silcox

Yeah, I love electron! I built a memory game (where you have to remember numbers - inspired by youtube.com/watch?v=zsXP8qeFF6A) - this was actually better suited to a browser-based/online game in the end.

I also made an internal (non-internet) network monitoring tool for a friend whose company does security in places with private (non-internet) local networks for the CCTV cameras - that uses node and ICMP ping to check uptime of various devices and uses Electron's inter-process-communication (IPC) for the communication between front-end and back-end within the app. This was also the first one I actually exported as a Windows and a Mac binary so it helped me learn how to use the user's local storage area on whatever device etc (for a small settings SQLite DB and some JSON config basically in my case).

Another fun one was a soundboard I made for my church's "nativity" play last year - our church rent a school and don't have a usable internet connection there, so it needed to be offline - so I made a really simple app with basically an "admin" screen where you "upload" audio files and give them a name/description and then a "user" screen where you just have a load of buttons to actually play the various sounds. I started writing an article about it and then got distracted (a year ago :P) - maybe I'll get back on that at some point :)

Collapse
 
dansilcox profile image
Dan Silcox

Yes for sure - VSCode and before it Atom were both built on Electron, same with GitHub desktop, Slack, many others you wouldn't expect

Collapse
 
jcolag profile image
John Colagioia (he/him)

Yes. It has fallen horribly out of date and always had a package problem (registering as an error, which made creating an installer difficult), but while I was at a job that decided to use Slack for everything, but didn't pay for the accounts, I was able to put together SlackBackup shockingly quickly.

For simpler tools, I've been using Proton Native, which translates React Native to Qt interfaces, but it's not ready for prime time (it still doesn't have window titles) and hasn't seen an update in quite a few months, so I can't quite recommend it, yet.

Collapse
 
asixjin profile image
King Asix

I usually use Electron when I need to build a tool for game development. I've create at least three tools with it.

Collapse
 
louislow profile image
Louis Low

A few...

Collapse
 
ozgrozer profile image
Ozgur • Edited

I've made a lot of small applications back in the time and except the file size I think Electron is the best tool to build cross platform apps if you're a web developer.

Taking screenshots of web pages.
github.com/ozgrozer/truman

Scraping web pages.
github.com/ozgrozer/travis

A unit converter.
github.com/ozgrozer/trevor

An image resizer.
github.com/ozgrozer/electron-image...