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)
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!!
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 ?
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?
It will help a lot :D Some posts over Stack Overflow are not that explicit.
I think I am gonna do it! Stay tuned!
Vlad I made an article because you asked!
Here is the link Electron-Builder
Tell me your views about it!!
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.
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).
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.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.. :)
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.
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 :)
Yes for sure - VSCode and before it Atom were both built on Electron, same with GitHub desktop, Slack, many others you wouldn't expect
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.
I usually use Electron when I need to build a tool for game development. I've create at least three tools with it.
A few...
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...