๐Ÿ–ฅ Desktop

If you want to release your web game on Windows, Mac, or Linux, there are a few options available.

First, if you simply want users to be able to launch the game from a desktop icon and play it in a standalone window instead of a browser, you can make it installable as a ๐ŸŒ Progressive Web App. Thatโ€™s the easiest way to turn your web game into a desktop game. By the way, you can also customize the title bar of a PWA on desktop!

But if you want to distribute full executables for users to download, or if you need a deeper OS integration than what a browser page can do, you will need to package your game with a desktop framework.

Desktop frameworks

  • Stars
    NPM
    TS
    Maintained
  • Electron
    109k
    623k/w
    TypeScript
    โ€“ Chromium and Node.js
    109k623k/w
    TypeScript
  • Tauri
    80k
    20k/w
    TypeScript
    โ€“ OS-native web views and Rust
    80k20k/w
    TypeScript
  • NW.js
    40k
    /w
    JavaScript
    โ€“ Chromium and Node.js
    40kN/A
    JavaScript
  • Neutralinojs
    7k
    400/w
    JavaScript
    โ€“ OS-native web views and JavaScript
    7k400/w
    JavaScript
  • Wails
    18k
    /w
    โ€“ WebKit web view and Go
    18kN/A
  • Gluon
    3k
    30/w
    TypeScript
    โ€“ User-installed browsers (Chromium or Firefox) and Node.js
    3k30/w
    TypeScript
  • NodeGui
    9k
    400/w
    TypeScript
    โ€“ Make native apps in Node and CSS (not for WebGL games)
    9k400/w
    TypeScript

Read this great in-depth Web to Desktop framework comparison for more details.

Tauri, Neutralino, and Wails use lightweight OS web views that have a small memory footprint and build size. While that may sound appealing, WebKit web views (which you would get on Mac or Linux with Tauri for instance) are not as performant as Chromium when it comes to graphics. So if you want the most performant cross-platform experience, go for Electron or NW.js (or look into Gluon). Note that Electron and NW.js are also the only desktop frameworks officially supported by the two main libraries that help distribute games on Steam.

Electron

Steam