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

History of Electron


The history of Node.js desktop applications starts back in 2011 with Roger Wang, the creator of NW.JS. He started the node-webkit project as a simple Node.js module that can create a browser window using WebKit--the browser engine used by Safari. The main advantage of the node-webkit module was that you can use Node.js APIs inside the webpage. But this implementation relied on the WebKit library, which lacked lots of modern browser features. Later, Roger improved the node-webkit by replacing WebKit with the chromium embedded framework (CEF). CEF is also an open source project that facilitates embedded browser use cases in third-party applications.

In 2012, Intel (where Roger Wang was working) recruited Cheng Zhao, a Chinese student, as an intern to work on the node-webkit project. But instead of improving the current implementation he started by rewriting everything based on chromium's content shell, which is a minimal browser implementation inside the chromium project. He kept working with Roger at Intel for node-webkit until v0.3.6. In the meantime, GitHub was developing their atom editor. Cheng ended his internship with Intel and joined GitHub to work on Electron. After the efforts to migrate atom to node-webkit failed, they decided to write a new shell with fundamental architectural changes from node-webkit. The new shell was named atom-shell. Later, it was renamed to Electron.