Electron logo

Electron

Build cross platform desktop apps with web technologies. Formerly known as Atom Shell, made by GitHub.
2.5K
2.2K
+ 1
93

What is Electron?

With Electron, creating a desktop application for your company or idea is easy. Initially developed for GitHub's Atom editor, Electron has since been used to create applications by companies like Microsoft, Facebook, Slack, and Docker. The Electron framework lets you write cross-platform desktop applications using JavaScript, HTML and CSS. It is based on io.js and Chromium and is used in the Atom editor.
Electron is a tool in the Cross-Platform Desktop Development category of a tech stack.
Electron is an open source tool with 79.2K GitHub stars and 10.5K GitHub forks. Here’s a link to Electron's open source repository on GitHub

Who uses Electron?

Companies
320 companies reportedly use Electron in their tech stacks, including Slack, Intuit, and Avocode.

Developers
2176 developers on StackShare have stated that they use Electron.

Electron Integrations

Sentry, WebStorm, Photon, Jolteon, and NeDB are some of the popular tools that integrate with Electron. Here's a list of all 15 tools that integrate with Electron.

Why developers like Electron?

Here’s a list of reasons why companies and developers use Electron
Electron Reviews

Here are some stack decisions, common use cases and reviews by companies and developers who chose Electron in their tech stack.

Nick Parsons
Nick Parsons
Director of Developer Marketing at Stream · | 27 upvotes · 17.2K views
atStreamStream
Electron
Electron
#CrossPlatformDesktopDevelopment

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.

#CrossPlatformDesktopDevelopment

See more
Paul Whittemore
Paul Whittemore
Developer and Owner at Appurist Software · | 15 upvotes · 112.6K views
Fastify
Fastify
ExpressJS
ExpressJS
Node.js
Node.js
Vuetify
Vuetify
Quasar Framework
Quasar Framework
Vue.js
Vue.js
vuex
vuex
Electron
Electron
Fastly
Fastly

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.

Update: The mobile support in Quasar is not a sufficiently compelling reason to move me from Vuetify. I have decided to stick with Vuetify for a UI for Vue, as it is richer in components and enables a really great-looking professional result. For mobile platforms, I will just use Cordova to wrap the Vue+Vuetify app for mobile, and Electron to wrap it for desktop platforms.

See more
Greg Neumann
Greg Neumann
Indie, Solo, Developer · | 6 upvotes · 100.8K views
Xamarin
Xamarin
.NET Core
.NET Core
Xamarin Forms
Xamarin Forms
ASP.NET
ASP.NET
Quasar Framework
Quasar Framework
Electron
Electron
Vue.js
Vue.js
TypeScript
TypeScript

Finding the most effective dev stack for a solo developer. Over the past year, I've been looking at many tech stacks that would be 'best' for me, as a solo, indie, developer to deliver a desktop app (Windows & Mac) plus mobile - iOS mainly. Initially, Xamarin started to stand-out. Using .NET Core as the run-time, Xamarin as the native API provider and Xamarin Forms for the UI seemed to solve all issues. But, the cracks soon started to appear. Xamarin Forms is mobile only; the Windows incarnation is different. There is no Mac UI solution (you have to code it natively in Mac OS Storyboard. I was also worried how Xamarin Forms , if I was to use it, was going to cope, in future, with Apple's new SwiftUI and Google's new Fuchsia.

This plethora of techs for the UI-layer made me reach for the safer waters of using Web-techs for the UI. Lovely! Consistency everywhere (well, mostly). But that consistency evaporates when platform issues are addressed. There are so many web frameworks!

But, I made a simple decision. It's just me...I am clever, but there is no army of coders here. And I have big plans for a business app. How could just 1 developer go-on to deploy a decent app to Windows, iPhone, iPad & Mac OS? I remembered earlier days when I've used Microsoft's ASP.NET to scaffold - generate - loads of Code for a web-app that I needed for several charities that I worked with. What 'generators' exist that do a lot of the platform-specific rubbish, allow the necessary customisation of such platform integration and provide a decent UI?

I've placed my colours to the Quasar Framework mast. Oh dear, that means Electron desktop apps doesn't it? Well, Ive had enough of loads of Developers saying that "the menus won't look native" or "it uses too much RAM" and so on. I've been using non-native UI-wrapped apps for ages - the date picker in Outlook on iOS is way better than the native date-picker and I'd been using it for years without getting hot under the collar about it. Developers do get so hung-up on things that busy Users hardly notice; don't you think?. As to the RAM usage issue; that's a bit true. But Users only really notice when an app uses so much RAM that the machine starts to page-out. Electron contributes towards that horizon but does not cause it. My Users will be business-users after all. Somewhat decent machines.

Looking forward to all that lovely Vue.js around my TypeScript and all those really, really, b e a u t I f u l UI controls of Quasar Framework . Still not sure that 1 dev can deliver all that... but I'm up for trying...

See more
Dean Stringer
Dean Stringer
at Systemic Solutions · | 6 upvotes · 38.3K views
Eclipse
Eclipse
Atom
Atom
Electron
Electron
TypeScript
TypeScript
Visual Studio Code
Visual Studio Code

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.

See more
Jacob Biehler
Jacob Biehler
TypeScript
TypeScript
Electron
Electron
Visual Studio Code
Visual Studio Code

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.

See more
Tom Klein
Tom Klein
CEO at Gentlent · | 4 upvotes · 33.3K views
atGentlentGentlent
JavaScript
JavaScript
Node.js
Node.js
PHP
PHP
HTML5
HTML5
Sass
Sass
nginx
nginx
React
React
PostgreSQL
PostgreSQL
Ubuntu
Ubuntu
ES6
ES6
TypeScript
TypeScript
Google Compute Engine
Google Compute Engine
Socket.IO
Socket.IO
Electron
Electron
Python
Python

Our most used programming languages are JavaScript / Node.js for it's lightweight and fast use, PHP because everyone knows it, HTML5 because you can't live without it and Sass to write great CSS. Occasionally, we use nginx as a web server and proxy, React for our UX, PostgreSQL as fast relational database, Ubuntu as server OS, ES6 and TypeScript for Node, Google Compute Engine for our infrastructure, and Socket.IO and Electron for specific use cases. We also use Python for some of our backends.

See more

Electron's Features

  • Use HTML, CSS, and JavaScript with Chromium and Node.js to build your app.
  • 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

Electron Alternatives & Comparisons

What are some alternatives to Electron?
Photon
The fastest way to build beautiful Electron apps using simple HTML and CSS. Underneath it all is Electron. Originally built for GitHub's Atom text editor, Electron is the easiest way to build cross-platform desktop applications.
React Native Desktop
Build OS X desktop apps using React Native.
React Native
React Native enables you to build world-class application experiences on native platforms using a consistent developer experience based on JavaScript and React. The focus of React Native is on developer efficiency across all the platforms you care about - learn once, write anywhere. Facebook uses React Native in multiple production apps and will continue investing in React Native.
JavaFX
It is a set of graphics and media packages that enables developers to design, create, test, debug, and deploy rich client applications that operate consistently across diverse platforms.
Element
Element is a Vue 2.0 based component library for developers, designers and product managers, with a set of design resources.
See all alternatives

Electron's Followers
2177 developers follow Electron to keep up with related blogs and decisions.
Zaraki Kenpachi
Lalit Nayyar
kb12pl
Yash Zolmajdi
Srinivas Gowda
Richard Nitsche
Haswin Vidanage
M Can Yılmaz
Ezzat AbuAzzah
lijun xu