blog-image

Native cross-platform desktop applications using web technology

Web Development September 03, 2016

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 is called nwjs.io and Electron. We prefer Electron as is 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
  • Wordpress.com
  • 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 extra benefits of using the latest available web technology as its built on top of the Chromium browser.

Some 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.
  • No need to learn a new programming language. You can use your web development skills (JavaScript, HTML and CSS) to develop your application.
  • You can take advantage of the latest browser technologies.

Some benefits of using Electron over a 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 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 a native desktop applications.