Cross-Platform Desktop Applications: Using Node, Electron, and NW.js

  • 4h 48m
  • Paul B. Jensen
  • Manning Publications
  • 2017


Cross-Platform Desktop Applications guides you step-by-step through creating Node.js desktop applications with NW.js and Electron from GitHub. Foreword by Cheng Zhao, creator of Electron.

About the Technology

Desktop application development has traditionally required high-level programming languages and specialized frameworks. With Electron and NW.js, you can apply your existing web dev skills to create desktop applications using only HTML, CSS, and JavaScript. And those applications will work across Windows, Mac, and Linux, radically reducing development and training time.

About the Book

Cross-Platform Desktop Applications guides you step by step through the development of desktop applications using Electron and NW.js. This example-filled guide shows you how to create your own file explorer, and then steps through some of the APIs provided by the frameworks to work with the camera, access the clipboard, make a game with keyboard controls, and build a Twitter desktop notification tool. You'll then learn how to test your applications, and debug and package them as binaries for various OSs.

What's Inside

  • Create a selfie app with the desktop camera
  • Learn how to test Electron apps with Devtron
  • Learn how to use Node.js with your application

About the Reader

Written for developers familiar with HTML, CSS, and JavaScript.

About the Author

Paul Jensen works at Starcount and lives in London, UK.

In this Book

  • Foreword
  • About This Book
  • Introducing Electron and NW.js
  • Laying the Foundation for Your First Desktop Application
  • Building Your First Desktop Application
  • Shipping Your First Desktop Application
  • Using Node.js within NW.js and Electron
  • Exploring NW.js and Electron’s Internals
  • Controlling How Your Desktop App is Displayed
  • Creating Tray Applications
  • Creating Application and Context Menus
  • Dragging and Dropping Files and Crafting the UI
  • Using a Webcam in Your Application
  • Storing App Data
  • Copying and Pasting Contents from the Clipboard
  • Binding on Keyboard Shortcuts
  • Making Desktop Notifications
  • Testing Desktop Apps
  • Improving App Performance with Debugging
  • Packaging the Application for the Wider World