Nailed Digital

Native Cross-Platform Desktop Applications Using Web Technology

With recent developments in Node.js technology, it is now possible to develop native desktop applications that run across different operating systems using Node.js. Two modules that enables it are called and Electron. We prefer Electron as it has been developed by Github and several applications that you use everyday has been built on Electron.

Some examples are:

  • Atom editor
  • Slack
  • Visual Studio Code
  • and thousands more…

With Electron you can use the power of Node.js, HTML, JavaScript and CSS to run you application. If you have an existing web application, with minimum effort you can change it to run as a local application that runs on your local computer. You can access all the resources that a traditional desktop application can, with the added benefits of using the latest available web technology as it’s built on top of the Chromium browser.

Benefits of using Electron over traditional desktop applications:

  • Cross platform (Windows, Mac OS and Linux) – one set of code, that gets compiled to create executables to run the same across different platforms.
  • There is no need to learn a new programming language. You can use your web development skills (JavaScript, HTML and CSS) to develop your application.
  • Take advantage of the latest browser technologies.

Benefits of using Electron over web applications:

  • The developer only needs to develop for one browser.
  • Offline support is built-in as the application is running locally on the system.
  • The Electron application has access to the local system, without having to request permission. Web applications running in the browser, doesn’t have access to the local user’s file system and needs to ask permission for every built-in browser feature like camera or GPS.

Hopefully you can see the benefits of using Electron over a traditional desktop application and web application.

Send us an message or email if you would like to chat to us about developing your native desktop application.