https://nassimsoftware.com/convert-web-games-to-desktop Home The simplest way to convert your web game into a desktop app Nassim 2022-11-13 Making games in JavaScript is often very simple (Assuming you don't use web bundlers). However, packaging those games into desktop apps you can sell is quite complicated. The options you have are usually Electron, Tauri and NW.js. The simplest way I've found to convert my web games to a desktop app available on all three platforms (Windows, MacOS and Linux) is to use Neutralino.js. thumbnail Why? What Neutralino does is to simply use the default web view of your OS instead of shipping a whole chrome browser with your game. The latter is what Electron does. I think Tauri does something similar to Neutralino but is more difficult to set up. If you're making a desktop app Electron's approach might make sense because you want your HTML/CSS to render in the exact same way regardless of the OS. Different browsers might render HTML/CSS differently in some cases. However, for a game which basically uses the canvas element there shouldn't be an issue. As far as I'm concerned the canvas renders the same way regardless of the underlying browser engine. Another advantage of Neutralino is that it doesn't use the npm ecosystem. This might sound bad for desktop apps where you need access to certain libraries but again with a web game you just need the canvas. So, you don't really need the bloat that comes with the npm ecosystem. In conclusion Neutralino is a good choice because it's easy. How to install Neutralino This might sound ironic but to install Neutralino you need to have node and npm installed. That's basically the only time you'll have to do an npm command. The guide to install Neutralino can be found here. Follow step 0 and 1 before reading the next section of this post. You should have the following directory structure in your project : - .github - bin - resources |_icons |_js |_index.html |_styles.css - .gitignore - LICENSE - neutralino.config.json - neeutralinojs.log - README.md The most important folder here is the resources folder which contains your assets but also your js code for your game. You should probably create an assets folder here and put your sprites there. The code itself should be put in the js folder. How to setup Neutralino for your game Let's assume that we want to make our game using p5.js a well know JS graphics library. I would first download the js file for this library from the official website here and drop the file within the js folder. The next step would be to simply include the js file in index.html in the same way you would when developing a website. Here is how my index.html looks like. You should declare the script tags in your code using the same order.