What Is Electron.io & How It Will Take Desktop Apps To The Next Level

What Is Electron.io & How It Will Take Desktop Apps To The Next Level

Interface is a crucial element of any software. Today there are several options and forms available for different interfaces, but usually it all boils down to either an installed program or a web application. The software industry has witnessed a hefty increase in web applications over the past couple of years but desktop apps are making a comeback and Electron is one of the major reasons for this.

Electron accomplishes this by combining Chromium and Node.JS into a single runtime and has recently allowed apps to be packaged for Mac App Store, making it more alluring. Apart from this, it also permits packaging apps on Windows, and Linux. Besides, Electron and its open source tools give you everything you need to create a compelling desktop app, native user interface elements such as menus, dialogues, auto installers, etc. In short, it takes care of the peripheral tasks allowing you to focus on your core functions.

But, why do we need desktop applications in this age of mobility?

Why we need desktop applications:

  1. Although internet is slowly becoming an omnipresent commodity, everyone is not always connected to internet. We need an app to still work even if there is no internet connection.
  2. With the level of data sharing that happens daily over the internet, there are chances of security threats. Nobody likes to compromise their privacy. 
  3. As there is no need of connecting to the internet, Desktop applications enable us to experience faster performance.
  4. Often, clients prefer to be owner of the application rather than being a tenant of a third-party application.
  5. Most importantly, it is getting easier to create one.

Electron has made it easier and faster to create desktop applications which has got us far ahead of the times when creating such applications was an uphill task.

History of Electron:

In 2013, Electron began as the framework on which Atom, GitHub’s hackable text editor, would be built. The two were open sourced in the Spring of 2014.

It has since become a popular tool used by open source developers, startups, and established companies.

  • 11 April 2013: Electron started as Atom Shell.
  • 6 May 2014: Atom and Atom Shell became open-source with MIT license.
  • 17 April 2015: Atom Shell was renamed to Electron.
  • 11 May 2016: Electron reached version 1.0.
  • 20 May 2016: Electron allowed submitting packaged apps to the Mac App Store.
  • 2 August 2016: Windows Store support for Electron apps was added.

Applications Built on Electron:

Applications developed using Electron framework.

electron 1

Advantages of using Electron:

  1. Applications developed using electron are nothing but HTML pages under the hood. So, there is no limitation on the look and feel of the application. Clients can think of creating crazy looking applications using electron.
  2. Clients get better coverage to their applications since electron applications are cross platform (Windows, Mac and Linux).
  3. Electron applications run the same regardless of the operating system. So, client doesn't need to do custom coding in order to deploy the application on different platforms. This helps in reducing the required time as well as expenditure of the client.
  4. No separate / specialized team is required to develop electron application. Team members who have knowledge of HTML and JavaScript can easily develop electron application and there is no need of a specialized team or hire windows and iOS teams.
  5. Development cost decreases, since same code is used for windows, iOS and Linux, hence application development efforts and cost will reduce.
  6. Electron application gets system level access using Node.JS i.e. file system, system resources, Menu, Notifications, Shortcuts etc. This allows the client to think of the applications that can leverage desktop integration: Menu, Notifications, Shortcuts, Multiple displays etc. 
  7. Electron applications get a device / hardware level access, giving clients an opportunity to develop web applications connected to devices like webcam, printer, Barcode scanner etc.
  8. Electron application can be auto updated. This takes care of remotely deploying and updating applications. Clients can develop applications that can be auto updated remotely.
  9. Electron is an open source framework from GitHub and has great community support. Applications developed using election are future proof and have great support for these applications, since big names like Google and GitHub are involved in this. These applications are improving day by day.  
  10. Electron application allows the app to be test-driven. So, that the customer is confident about the product being bug free and of high quality.

Architecture of electron application:

Architecture of electron application:

Components of Electron Application:

1. Chromium:

Chromium is an open-source web browser project started by Google, to provide the source code for the proprietary Google Chrome browser

  • The open-source web browser project from Google.
  • Provides tabbed window manager, or shell for the web.
  • Has a minimalist user interface.
  • Uses V8 as the JavaScript engine.
  • Uses Blink as the layout engine.
  • Electron uses content module/content API.

2. Node.js

Node.js is a lean, fast, cross-platform JavaScript runtime environment that is useful for both servers and desktop applications

  • An open-source JavaScript runtime.
  • Uses V8 JavaScript engine.
  • Enables you to run JavaScript outside the browser.
  • Provides an interactive shell (REPL: read-eval-print-loop) where you can execute raw JavaScript code.
  • Uses an event-driven, non-blocking I/O model that makes it lightweight and efficient.
  • Node.js' package ecosystem, npm, is the largest ecosystem of open source libraries in the world.

3. V8 JavaScript Engine

V8, is an open source JavaScript engine developed by The Chromium Project for the Google Chrome web browser

  • An open-source JavaScript Engine developed by The Chromium Project.
  • Written in C++ and JavaScript.
  • Implements ECMAScript as specified in ECMA-262, 3rd edition.
  • Runs on Windows XP or later, Mac OS X 10.5+, and Linux systems that use IA-32, ARM or MIPS processors.
  • Compiles JavaScript into native machine codes.

Recent technologies like Electron allow you to build a desktop app as you would build for a web browser, but there are very few people who are well versed with the upcoming technology. At Clarion, our electron technology experts help clients develop attractive applications that function smoothly.

 Are you looking to build desktop applications without the hassle of hiring and training a dedicated team of Electron experts? Get in touch with us to work in partnership with an expert team that is as dedicated, responsible and responsive as your team down the hall.

Author

Prasad Kulkarni is the Vice President of Service Delivery at Clarion Technologies, renowned for his expertise in QA, JavaScript, MySQL, jQuery, Ajax, and E-commerce. His proficiency in Web Application and Development, coupled with a strong background in Business Intelligence (BI) and Business Development (BD), has propelled him to the forefront of technological innovation. Prasad's dynamic approach and deep technical knowledge make him a pivotal leader in the tech industry.

Talk To Our Experts