Book Image

Building Cross-Platform Desktop Applications with Electron

By : Muhammed Jasim
Book Image

Building Cross-Platform Desktop Applications with Electron

By: Muhammed Jasim

Overview of this book

<p>Though web applications are becoming increasingly popular, desktop apps are still important. The Electron framework lets you write cross-platform desktop applications using JavaScript, HTML, and CSS, and this book will teach you how to create your first desktop application with Electron. It will guide you on how to build desktop applications that run on Windows, Mac, and Linux platforms.</p> <p>You will begin your journey with an overview of Electron, and then move on to explore the various stages of creating a simple social media application. Along the way, you will learn how to use advanced Electron APIs, debug an Electron application, and make performance improvements using the Chrome developer tools. You’ll also find out how to package and distribute an application, and more.</p> <p>By the end of the book, you will be able to build a complete desktop application using Electron and web technologies. You will have a solid understanding of the common challenges that desktop app developers face, and you’ll know how to solve them.</p>
Table of Contents (19 chapters)
Title Page
Credits
About the Author
About the Reviewer
www.PacktPub.com
Customer Feedback
Preface

Why desktop applications?


The software development has changed tremendously over the past few years. At the beginning of the last decade, most software was available as desktop applications. But over time that began to change and the Web became dominant. The advent of Ajax again pushed the Web to a new era of software. Everything became distributed over the Internet. Cloud computing IOT pushed software technology to the next level and it spread over multiple devices.

So, do we really need to develop desktop applications? We cannot completely get rid of desktop applications. Even if the world is moving towards cloud and web technologies, there are some situations in which we need desktop applications:

  • When data security is essential and it cannot be compromised by exposing over the Internet, desktop applications are the best choice
  • When your application wants to access the operating system components and underlying hardware
  • When you want to develop applications for various tooling purposes such as IDE, editors, and so on

So, there are still some situations in which only desktop applications are needed. But building an application that works on multiple operating systems is always challenging. Also, you can't afford to develop a desktop application that works on a single platform these days. And developing for each platform needs a lot of effort and technical knowledge in each platform which is more challenging. Here comes the possibility of cross-platform applications.

Cross-platform applications are not a new concept. Most of the modern programming languages work on all three major platforms. There are various frameworks available to create desktop applications using these languages. But for web developers, this would be a barrier to develop a desktop application in these languages as they have to learn these languages and its APIs.

Electron offers web developers a way to build desktop applications with the same skill set they are using for web development. Moreover that, the application could work across Windows, Mac, and Linux. This overcame the barrier that developers had faced to develop the desktop application. Also, they could reuse the same code base and skills for all three platforms. This is a massive advantage over other cross-platform application development frameworks. In addition to that, the popularity of Node.js leverages developers thousands of open source libraries to build their application with. This provides developers with a much faster timeline to desktop application development than traditional ways of development.