What is Electron?
Who uses Electron?
Why developers like Electron?
Here are some stack decisions, common use cases and reviews by companies and developers who chose Electron in their tech stack.
We wanted to experiment with building an Electron app with downloads for every Linux distro, macOS, and Windows, in addition to the web. Fundamentally, this seemed pretty easy: we write code, wrap it in an Electron shell, and release to our desired operating system… It turns out we were wrong.
Electron, though powerful, turned out to be a bigger beast than we had anticipated. Building to different distros was especially hard, even with electron-builder (granted, we had the bad luck of needing to patch electron-builder (and that bug has since been fixed), but that only accounted for some of the pain points we hit). The macOS menu bar had to be just right for the macOS store to accept our app, and performing small tasks with the Electron API, like opening a link in an external browser, turned out to be pretty difficult.
Despite the difficulties, our team moved forward with some custom tooling (all visible and open-sourced on Github) and we released not only to all of our release targets but to the web, too.
I'm building most projects using: Server: either Fastify (all projects going forward) or ExpressJS on Node.js (existing, previously) on the server side, and Client app: either Vuetify (currently) or Quasar Framework (going forward) on Vue.js with vuex on Electron for the UI to deliver both web-based and desktop applications for multiple platforms.
The direct support for Android and iOS in Quasar Framework will make it my go-to client UI platform for any new client-side or web work. On the server, I'll probably use Fastly for all my server work, unless I get into Go more in the future.
Have been a Visual Studio Code user since just after launch to the general public, having used the likes of Eclipse and Atom previously. Was amazed how mature it seemed off the bat and was super intrigued by the bootstrapped nature of it having been written/based on Electron/TypeScript, and of course being an open-source app from Microsoft. The features, plugin ecosystem and release frequency are very impressive. I do dev work on both Mac and Windows and don't use anything else now as far as IDEs go.
I use Visual Studio Code because it is great out of the box, it has an integrated terminal, and support for quite a few languages. As a developer who works with TypeScript, their tooling is amazing in the VSCode Marketplace. The best part about VSCode is that can be as lightweight or as decked out as you want it to be. Even though a lot of other IDE's are Electron apps just like VSCode I find that VSCode boots up the fastest. I've tried other IDE's and I always find myself coming back to VSCode.
Early days in our ideation, Electron was a primary unanimous choice. Reason, we wanted to store a lot of data offline in the file systems of user, and provide a seamless experience. We ended up moving away from Desktop after 1.5 years of developing Electron. Have shared the reasons why in the blog below.
Just a Reminder: There are a lot of good things Electron has to offer. This blog just focuses on the Cons of using it.
- Electron is open source
- maintained by GitHub and an active community.
- Electron apps build and run on Mac, Windows, and Linux.
- Automatic updates
- Crash reporting
- Windows installers
- Debugging & profiling
- Native menus & notifications