Need advice about which tool to choose?Ask the StackShare community!

Electron

11.1K
9.8K
+ 1
148
Photon

28
88
+ 1
0
React Native Desktop

15
205
+ 1
11

Electron vs Photon vs React Native Desktop: What are the differences?

# Introduction

Key differences between Electron, Photon, and React Native Desktop are discussed below.

1. **Programming Language:** Electron uses JavaScript, HTML, and CSS for building desktop apps, Photon uses HTML, CSS, and JavaScript as well but has built-in Atom Shell framework, whereas React Native Desktop uses React and JavaScript to build cross-platform desktop applications.

2. **Wrapping Technology:** Electron wraps Chromium and Node.js, Photon is built on top of the Atom Shell framework which wraps Chromium and Node.js too, whereas React Native Desktop wraps React components to render the user interface natively.

3. **Target Platform:** Electron is mainly focused on building desktop applications, Photon is designed for creating cross-platform desktop applications, similar to Electron but more lightweight, while React Native Desktop is tailored for building desktop applications with a mobile-first approach. 

4. **Community Support:** Electron has a large and active community providing extensive documentation and third-party plugins, Photon has a smaller community but is supported by the Atom team, and React Native Desktop being a newer framework has a growing community with support from the React Native community.

5. **Development Workflow:** Electron allows the use of various front-end frameworks and has a flexible development workflow, Photon has a simpler and more straightforward workflow out of the box, and React Native Desktop leverages the React Native ecosystem and tools for a streamlined development experience. 

6. **Performance:** Electron apps may suffer from performance issues due to bundling Chromium and Node.js, Photon offers a lighter alternative with better performance for smaller-scale applications, while React Native Desktop leverages native APIs for improved performance on cross-platform desktop apps.

In Summary, the key differences among Electron, Photon, and React Native Desktop are evident in their programming languages, wrapping technologies, target platforms, community support, development workflows, and performance.

Get Advice from developers at your company using StackShare Enterprise. Sign up for StackShare Enterprise.
Learn More
Pros of Electron
Pros of Photon
Pros of React Native Desktop
  • 69
    Easy to make rich cross platform desktop applications
  • 53
    Open source
  • 14
    Great looking apps such as Slack and Visual Studio Code
  • 8
    Because it's cross platform
  • 4
    Use Node.js in the Main Process
    Be the first to leave a pro
    • 3
      Pretty awesome
    • 2
      Is native app
    • 2
      Does not include any browser
    • 2
      Memory usage reduced
    • 1
      Quickly convert react.js web app to desktop app
    • 1
      Open source

    Sign up to add or upvote prosMake informed product decisions

    Cons of Electron
    Cons of Photon
    Cons of React Native Desktop
    • 18
      Uses a lot of memory
    • 8
      User experience never as good as a native app
    • 4
      No proper documentation
    • 4
      Does not native
    • 1
      Each app needs to install a new chromium + nodejs
    • 1
      Wrong reference for dom inspection
      Be the first to leave a con
      • 0
        Memory usage reduced

      Sign up to add or upvote consMake informed product decisions

      - No public GitHub repository available -
      - No public GitHub repository available -

      What is Electron?

      With Electron, creating a desktop application for your company or idea is easy. Initially developed for GitHub's Atom editor, Electron has since been used to create applications by companies like Microsoft, Facebook, Slack, and Docker. The Electron framework lets you write cross-platform desktop applications using JavaScript, HTML and CSS. It is based on io.js and Chromium and is used in the Atom editor.

      What is Photon?

      The fastest way to build beautiful Electron apps using simple HTML and CSS. Underneath it all is Electron. Originally built for GitHub's Atom text editor, Electron is the easiest way to build cross-platform desktop applications.

      What is React Native Desktop?

      Build OS X desktop apps using React Native.

      Need advice about which tool to choose?Ask the StackShare community!

      What companies use Electron?
      What companies use Photon?
      What companies use React Native Desktop?
        No companies found

        Sign up to get full access to all the companiesMake informed product decisions

        What tools integrate with Electron?
        What tools integrate with Photon?
        What tools integrate with React Native Desktop?

        Sign up to get full access to all the tool integrationsMake informed product decisions

        Blog Posts

        What are some alternatives to Electron, Photon, and React Native Desktop?
        React Native
        React Native enables you to build world-class application experiences on native platforms using a consistent developer experience based on JavaScript and React. The focus of React Native is on developer efficiency across all the platforms you care about - learn once, write anywhere. Facebook uses React Native in multiple production apps and will continue investing in React Native.
        React
        Lots of people use React as the V in MVC. Since React makes no assumptions about the rest of your technology stack, it's easy to try it out on a small feature in an existing project.
        JavaFX
        It is a set of graphics and media packages that enables developers to design, create, test, debug, and deploy rich client applications that operate consistently across diverse platforms.
        pygame
        It is a cross-platform set of Python modules designed for writing video games. It includes computer graphics and sound libraries designed to be used with the Python programming language.
        Qt5
        It is a full development framework with tools designed to streamline the creation of applications and user interfaces for desktop, embedded, and mobile platforms.
        See all alternatives