How to convert angular 4 application to desktop application using electron?

Utilizing web technologies like JavaScript, HTML, and CSS, you can create cross-platform desktop applications using the popular framework Electron. This article will go over how to use Electron to transform an Angular 4 application into a desktop application.

Setting Up Electron

Before converting our Angular 4 application to a desktop application, we'll need to set up Electron. Here are the steps to set up Electron −

Install Node.js

Electron requires Node.js to be installed on your machine. You can download and install the latest version of Node.js from the official website.

Install Electron

Once Node.js is installed, you can install Electron by running the following command in your terminal −

npm install -g electron 

Create an Electron Project

Navigate to the new folder you created for your Electron project in your terminal. For your Electron project to be initialized, enter the following command −

npm init 

Install Angular

Before continuing, you must have an angular application ready. If you don't already have one, create one now, and make sure the angular CLI is set up on your system.

You may use the strength of Angular for front-end development and the strength of Electron for back-end development to construct a robust, interactive, and cross-platform application.

However, it's worth noting that Electron does have a slightly larger memory footprint than traditional web applications.

And it might not be suitable for all types of applications, especially the ones that are built to be extremely lightweight.

But for most applications, Electron provides an efficient and cost-effective way to create cross-platform desktop applications.

Following the steps outlined in this article, you should be able to convert your Angular 4 application to a desktop application using Electron.

You can further customize your application by adding native functionality, such as system tray icons, notifications and more, by using the electron's apis.

Integrating Angular 4 with Electron

Once Electron is set up, we can start integrating our Angular 4 application with Electron. Here are the steps to do that −

  • Create an index.html file in your Electron project's root folder. This file will be the main entry point for your desktop application and will contain the Angular 4 application.

  • Copy the index.html file from your Angular 4 project and paste it into the index.html file in your Electron project.

  • Update the index.html to point to the right location of your Angular application's main.js, polyfills.js, and styles.css files

  • Create a main.js file in your Electron project's root folder. This file will contain the Electron code that runs your application.

  • Import the remote module from the electron package in your main.js file

const { app, BrowserWindow } = require('electron')
  • Create a new BrowserWindow in your main.js file

let win = new BrowserWindow({ width: 800, height: 600 })
  • Load the index.html file into the BrowserWindow

  • Add a listener for the ready-to-show event, and call the method once the event is fired

win.on('ready-to-show', () => {
  • Finally, add the following code to your main.js file to start the Electron application −

app.on('ready', createWindow)

Creating an Executable

The final step is to create an executable for your application. You can use a package like electron-packager to do this. You can install it by running npm install electron packager --save-dev. Once it's installed, you can use it to package your application for Windows, Mac, and Linux platforms.


Converting an Angular 4 application to a desktop application using Electron is a relatively straightforward process. Integrating an Angular 4 application with Electron enables developers to create feature-rich and responsive cross-platform desktop applications using the Angular framework, making it possible for your application to have the same capabilities as a native application. It’s a great way to give your users a smooth and seamless experience across different platforms.

Updated on: 06-Mar-2023

1K+ Views

Kickstart Your Career

Get certified by completing the course

Get Started