Chapter 4. Using native file dialog boxes and facilitating interprocess communication

 

This chapter covers

  • Implementing a native open file dialog box using Electron’s dialog module
  • Facilitating communication between the main process and a renderer process
  • Exposing functionality from the main process to renderer processes
  • Importing functionality from the main process into the renderer process using Electron’s remote module
  • Sending information from the main process to a renderer process using the webContents module and setting up a listener for messages from the main process using the ipcRenderer module

In the previous chapter, we laid the foundation for our first Electron project, a notes application that takes Markdown from the left pane and renders it as HTML in the right pane. We set up our main process and configured it to spawn a renderer. We set up package.json, installed the necessary dependencies, created the main and renderer processes, and laid out the UI. We also explored ways we can make our application feel like a desktop application, but we haven’t added a feature that is far outside the scope of what a traditional web application could do yet.

Right now, the application allows the user to write in the Markdown view. When the user presses a key in the Markdown view, the application automatically renders the Markdown to HTML and displays it in the HTML view.

4.1. Triggering native file dialog boxes

4.2. Reading files using Node

4.3. Facilitating interprocess communication

4.4. Triggering the Open File function using interprocess communication

4.5. Sending content from the main process to the renderer process

Summary

sitemap