[REPORT] From Vision to Code: A Guide to Aligning Business Strategy with Software Development Goals is published!
GET IT here

Electron Alternatives – 5 Tools to Build a Desktop Application [2024]

readtime
Last updated on
September 2, 2024

A QUICK SUMMARY – FOR THE BUSY ONES

JavaScript frameworks for desktop apps

  1. Electron: The advantage of Electron is that JavaScript developers can build desktop apps without learning new tech. Electron apps often reuse web app elements, saving time and money. Learning Electron is relatively easy for JavaScript developers. It's mature with a growing community and provides tools like Developer Tools and Storage Access, making it suitable for production.
  2. NW.js (previously node-webkit): Combines Node.js and Chromium engine, allowing apps to load local websites, connect with the OS through JavaScript API, and access local files. Offers flexibility in choosing frameworks and libraries, supports browser features, and is available on Linux, Mac OS, and Windows.
  3. AppJS: Enables cross-platform app development using HTML, CSS, and JavaScript. While it's older and less mature than some alternatives, it provides features like HTTP/HTTPS servers, filesystem access, and C++ bindings.
  4. Meteor: Advertised as a fast way to build JavaScript apps, Meteor is a cross-platform framework written in Node.js. While it doesn't build desktop apps on its own, it can be used with tools like Cordova. Utilizes MongoDB and Distributed Data Protocol for data propagation.
  5. Proton Native: Similar to React Native for mobile, Proton Native is a new framework that uses native tools for cross-platform desktop app development. Offers seamless state management and UI building, works with React libraries, and is compatible with Node.js.

TABLE OF CONTENTS

Electron Alternatives – 5 Tools to Build a Desktop Application [2024]

Introduction

Not long ago it was impossible to build a desktop app with JavaScript. Happily, these times are gone, and now JS developers can use their knowledge and web development expertise to create desktop applications with a native feel.

As usual, it’s easier said than done. While doing our research, we noticed that there’s much confusion on how JavaScript desktop apps are really built and how they work. It’s also pretty challenging to find the right tools to use on a project.

Electron is the most popular framework but what about Electron alternatives?

Search no further, we’ve done that work for you.

In this article, we’re taking a closer look at 5 best-known JavaScript frameworks for desktop apps.

Electron framework

Electron is an open-source framework initially built by GitHub for Atom editor in 2013. This library lets you create desktop GUI applications with web technologies like JavaScript, HTML and CSS.

An app built with Electron behaves like a web app, but it can read and write data in the computer’s file system.

There are many popular desktop apps built with Electron on the market, for example, Skype for Linux or an awesome productivity tool Serene, that we’ve helped to build.

Electron is one of the JavaScript frameworks for desktop apps.

The significant advantage of this solution is that there’s no need for a JavaScript web developer to learn new technology or language to build a desktop app.

<span class="colorbox1" fs-test-element="box1"><p>Note: The Electron app usually reuses the business logic, design and general structure of a web app. </p></span>

It’s a great way to save time and money on the business and development side.

If you’re a JavaScript developer, you’re going to need to learn a few relatively simple things on how Electron works and it’s API. You will most probably be able to set up your first Electron desktop application in just a few days.

Electron is a mature technology with a growing community and thus makes for a great production environment. Thanks to Chromium engine UI rendering, you get access to tools such as Developer Tools and Storage Access.

Now, let’s take a look at various Electron alternatives.

Electron alternatives

Let’s take a closer look at 4 other frameworks for desktop apps.

#1 NW.js

The next on our list of the best JavaScript frameworks for desktop apps is NW.js, previously known as the node-webkit.

It was built at Intel’s Open Source Technology Center by combining Node.js framework with a Chromium engine (previously known as Webkit).

Thanks to the Node.js and Chromium combination, you can build an app that not only loads a local website in an application window but also connects with the OS through JavaScript API.

<span class="colorbox1" fs-test-element="box1"><p>Note: This solution lets you control parameters such as window dimensions, toolbar and menu items, and it provides access to the local computer files.</p></span>

NW.js is unopinionated and gives you the freedom to choose frameworks and libraries that you want to use on a project.

It makes it possible to call Node.js modules directly from the DOM, supports all features of the browser, provides a JavaScript source protection and is available on Linux, Mac OS, and Windows.

NW.js is one of the Electron alternatives and JavaScript frameworks for desktop apps.

#2 AppJS

AppJS is a simple yet powerful tool that you can use to build cross-platform apps without the need to learn new languages. Similarly to the other libraries mentioned today, you’re fine as long as you’re familiar with HTML, CSS and JavaScript.

Although it’s the oldest Node.js-Chromium framework in the AppJS, Electron and NW.js trio, it’s not nearly as mature as its competition. Because it has lost its momentum, it may not be the best choice for new projects.

In AppJS you get the following:

  • JS, HTML5, CSS, SVG, WebGL provided by Chromium
  • mature http/https servers and client APIs – Node
  • filesystem, DNS, cryptography, subprocesses, OS APIs – Node
  • sandboxed code execution environments virtual machines – Node
  • tools for exposing native C++ bindings to JavaScript- Node
  • AppJS is one of the JavaScript frameworks for desktop apps.
AppJS is one of the Electron alternatives and JavaScript frameworks for desktop apps.

#3 Meteor

Meteor is another one of Electron alternatives. It advertises itself as “the fastest way to build JavaScript apps”, an “open source platform for web, mobile, and desktop”. This cross-platform framework written in Node.js can be used for building web, mobile, and desktop applications.

Although it does not build desktop apps on its own, it can be used with Cordova or other similar tools to produce them. It uses MongoDB, Distributed Data Protocol, and a publish-subscribe pattern to auto-propagate the changes without developer interference.

<span class="colorbox1" fs-test-element="box1"><p>Key take-away: Meteor doesn’t build desktop apps on its own – it needs to be used with Cordova or similar tools.</p></span>

It has both front-end and back-end modules, including the API, build tools, Node.js packages.

Meteor is one of the Electron alternatives and JavaScript frameworks for desktop apps.

#4 Proton Native

Proton Native is a fresh release. It was made available on GitHub in the early months of 2018. What Proton Native does for desktop app development is similar to what React Native has done for mobile.

What makes it one of the best JavaScript frameworks for desktop apps is that it lets you manage state and build UIs seamlessly while doing it cross-platform.

It works quite differently to Electron, which runs a full Chromium browser to manage a small GUI. Proton Native, on the other hand, uses native tools, takes less space and needs fewer resources.

This solution has a few other advantages – it uses the same syntax as React Native, works with React libraries including Redux and is compatible with Node.js.

<span class="colorbox1" fs-test-element="box1"><p>Key take-away: Proton Native lets developers to manage state and build UIs seamlessly. It uses native tools, is compatible with Node.js, and works with React libraries.</p></span>

Proton Native is one of the Electron alternatives and JavaScript frameworks for desktop apps.

Summary – JavaScript frameworks for desktop apps and Electron alternatives

To sum up, JavaScript frameworks for desktop apps can be divided into three categories:

  1. Frameworks that produce web browser hosted desktop apps, based on Node.js and Chromium (Electron, NW.js, AppJS).
  2. Frameworks that need to be used with Cordova-like tools (Meteor).
  3. Frameworks that use genuinely native components to build a desktop app (Proton Native).

It’s up to you which you choose, and it primarily depends on the type of project that you develop.

Hope this short list and overview helped you take a quick look at each of this tools and make it easier for you to decide which solution will perform best for you.

Frequently Asked Questions

No items found.

Our promise

Every year, Brainhub helps 750,000+ founders, leaders and software engineers make smart tech decisions. We earn that trust by openly sharing our insights based on practical software engineering experience.

Authors

Marcin Dryka
github
Software Engineer

Full-stack software developer with 17 years of professional experience.

Bianka Pluszczewska
github
Tech Editor

Software development enthusiast with 8 years of professional experience in this industry.

Marcin Dryka
github
Software Engineer

Full-stack software developer with 17 years of professional experience.

Bianka Pluszczewska
github
Tech Editor

Software development enthusiast with 8 years of professional experience in this industry.

Read next

No items found...