Electron, an open-source framework, is a library that developers have had their eye on for quite some time. When it was first announced, we at Expeed Software had our doubts just like a lot of people within the developer community. However, with its rise in popularity and an ever-growing showcase of apps built with it, the desire to use it to build applications has grown over time.
A significant milestone for a lot of developers was learning that Visual Studio Code was developed using Electron. Currently, this is the pinnacle of what can be accomplished with using the library. Without prior knowledge on what technologies was used to create it, it would be very difficult to distinguish it from a traditional desktop application. VS Code is fast, customizable, and is gaining popularity from the developer community at large.
There are a lot of great examples of different applications created using Electron. You can see them here.
Our Use Case
One of our most recent projects at Expeed was to recreate an older VB.NET win forms application. The new application had to be built with flexibility and configurability in mind. Of course there are a variety of different ways to achieve this goal, but our team settled on Electron. You may be thinking why Electron? Why not C# or some other traditional way of developing desktop applications?
These are all great questions. We had to weigh the pros and cons ourselves in order to come to our conclusion. We’re hoping the list below will help you in your decision when considering Electron.
If you’re used to a particular set of web tools or CSS frameworks, the chances of them working with Electron are very high. For instance, if you use Bootstrap as your preferred CSS framework, you can use that. If you like to use pug on your Node.js applications, you can use that. The flexibility to use whatever you want and are used to increases productivity.
Cross platform functionality was a huge factor for us. Our developers use different operating systems. Since this solution allows for deployment to different operating systems, choosing Electron was a no brainer. We have one codebase to maintain for the desktop application and can build it for whichever platform we need.
In the previous implementation of our client’s application, updating the application was difficult and required a lot of manual steps. Those issues are now gone. We can use a private update server and check for updates within the application on a set interval determined by us.
Front-end Framework Compatible
Since the heavy lifting is done by Chromium and Node.js, you can insert your favorite JS framework/library to use within Electron. For us, we chose to use Vue.js, and setting it up was a breeze. Using a front-end framework like Vue allowed us to stay organized and keep our output high.
While we love Electron and will continue to use it, we do understand it isn’t a one size fits all solution. We thought we would share a few reasons as to why we’re using it here at Expeed. We hope our review will give you the information you need to make your own decision.