Writing Cross-Platform Cloud Apps with Electron and Firebase

Electron-Firebase is a quickstart framework for building cross-platform cloud-connected personal computer applications using Electron and Firebase. With a few configuration settings you can include a complete authentication workflow into your app that can use email/password, phone number, google, facebook, or many other identity providers. Electron-Firebase is unusual in being both an NPM module and an example application framework, and it spans both worlds of the Browser JavaScript environment and the host node.js environment.

Filling a gap in our software tools

Cross-platform development tools have been around for eons, but with the emergence of Electron, developers finally have true portability, access to the operating system and network, and a great UI front end. But Electron is only for the host environment, and building a custom scalable cloud back-end could be a complex and costly process.

What Electron-Firebase provides for you

  • An authentication workflow within an application context for many identity providers, including phone and email
  • Authentication persistence, so that a user can launch your app at any time without signing in again
  • Security and privacy throughout the authentication sign-in and persistence processes
  • True cross-platform cloud-connected application building across MacOS, Windows, and Linux
  • Methods for communication between the Electron Browser and Main processes
  • Authorized user access to database and cloud storage with Firebase security rules
  • API access to Firebase Cloud Storage, which is not supported in node.js
  • Firebase Cloud Storage listing and searching capability
  • Persistence of window positions on the screen automagically when the user changes them
  • An example application for a quick start in writing your own application

What you need and how to get started

The Electron-Firebase framework works for JavaScript coders, because the presentation layer executes on the Chrome Browser and so is written in HTML, CSS, and JavaScript, or whatever front-end framework that you like. The system code that interfaces to Firebase and the operating system, and any other services, is a node.js process and can support either JavaScript or TypeScript. The only prerequisites on the development platform are node.js and npm.