Developing desktop apps with electron.js – advantages & disadvantages

02 August 2019 / By TE Author

With each passing day, technology ages dramatically. Developers are working hard to stay conversant with altering trends and likewise modify their development strategies. From being concerned about how to develop apps to be more considerate on ways to build an effective app, developers have shifted their focus. Where the entire industry is undergoing a transition, the choice of technology is also drifting.

Of late, one of the most controversial frameworks for developing desktop apps is electron.js, not aware of electron.js?

Electron.js – defining the word

Electron.js is one of the most popular web frameworks that enable developers to build desktop apps using javascript, CSS, and HTML. As a matter of fact, electron is an open-source framework proficient in deploying cross-platform web apps. Meaning that apps built using electron.js can run on all platforms (mac, linux or windows).

Electron entered the digital industry in 2013 and since then, it has layered itself on top of various technologies and used in the development of scalable web apps. It not only renders high-end desktop apps but also integrates features of automatic updates, installers and native APIs emerging as the best framework for the development of desktop apps.

There is a multitude of apps built using electron. From wordpress to slack, postman to gitbook, electron implementation has widened exponentially.

Why electron – pros & cons?

No doubt electron.js is one of the most popular desktop app frameworks, yet the debate on its effectiveness persists. While some consider it to be highly productive, others count it to be more of an overhead and believe that the flaws in electron are more prominent than its advantages.

We won’t blindly stress on either of the two views and outline both the advantages and disadvantages of using electron.

Advantages

  • Easy to learn
  • A major issue when developers migrate to any technology is lack of knowledge. Not have sufficient expertise in a specific language restrict them to a single domain and hinder up-gradation. In case, companies need to inculcate a new stack, they either need to hire a new development team or train the existing.

    This is a costly affair and further consumes considerable time. However, electron does not necessitate the above.

    Your existing development team can seamlessly gel with electron technology and build apps. The fact that electron apps are similar to web apps, one can imitate its design, general application structure, and business logic. All that a developer needs to do is see how the app works and embeds API. This on a whole saves time and also cuts down unwanted cost.

  • Has pool of APIs
  • Developers need not scratch their heads to find the right feature for an implementation. The electron has a range of APIs which can be integrated easily into desktop apps saving the developers’ time. Squirrel library is the best of all. It is a toolset that helps developers build installers and embed the feature of auto-updates.

  • Huge community support
  • The electron has a wide community that enables reusing packages for development eliminating the need to start from scratch. Owing to its huge popularity, there is a range of packages present which aims to narrow down the development process.

  • Chromium engine

Electron.js uses chromium for UI display. This further adds to the list of benefits of the electron. Using chromium promotes embedding all the trending features of chrome. Further, it has the facility of hot or lives to reload. This suggests that you need not restart the application after introducing changes in the code. It allows instant reloading and streamlines the overall experience. Also, chrome dev tools can detect errors or memory leaks all by itself and thus, you no longer need an external debugger.

However, all of this was just one side of the coin and there more than what meets the eye. Having said that, let’s have a look at the pitfalls of the framework.

  1. Hogs upon the resources of the system and end up consuming more power than deemed necessary.
  2. Since electron.js apps are built for cross-platform support, the quality never maps the kind rendered by OS-specific apps.
  3. Majority of electron apps can be imitated using chrome apps and so developers tend to choose the latter.
Closure

It’s never wrong to mitigate technologies and upgrades your system, and electron.js seems to be a good alternative. True that it has loopholes but the fact that it enhances the development phase cannot be neglected. Also, you cannot deny the high productivity of apps that are currently running on electron.js. So, giving it thought would not be a bad idea.

Now that you have read both of its benefits and drawbacks, the choice is yours. You are the one to decide whether to move forward with building desktop apps using electron.js or try its alternative, chrome apps.