TurboWarp / packager

Converts Scratch projects into HTML files, zip archives, or executable programs for Windows, macOS, and Linux.
https://packager.turbowarp.org/
Mozilla Public License 2.0
236 stars 147 forks source link

Tauri #577

Open echoless3484 opened 2 years ago

echoless3484 commented 2 years ago

Hey, Electron isn't really the best thing to use, but a lot of people don't know how to use others so this is one of their only options, might I recommend adding a Tauri or Arc option for compiling in the Packager?

This would be absolutely amazing to see, as it can let you do so much more than Electron, including: Self Updating Self Bundling (Installer) Way better Security Way smaller File Size Easy to manage Plugins

echoless3484 commented 2 years ago

Tauri will also allow way less memory usage.

GarboMuffin commented 2 years ago

I'm still not entirely convinced that Tauri is ready for production use, but yes this is something to consider working on eventually. The file size benefit is very real and very significant.

Electron does still present some advantages:

and on macOS we already have a WKWebView option which is similar to what Tauri would do

Self Updating Self Bundling (Installer)

are possible with electron, we just don't do them because they're not easy to do properly, especially in a web app. Tauri won't change that.

Easy to manage Plugins

You probably won't be able to use custom plugins as we ship pre-built binaries

Way better Security

The way we use electron is very secure (nodeIntegration: false, contextIsolation: true, sandbox: true, no IPC at all)

less memory usage

Tauri memory usage isn't going to be as much less than Electron as their benchmarks would imply as the benchmarks run on Linux so they're comparing Chrome vs WebKit memory usage. Most users are on Windows where Tauri uses the same engine as Electron. It'll probably be a less, but probably not by a whole lot (?).

GarboMuffin commented 2 years ago

Another Tauri advantage is that generating a single standalone .EXE may be more viable without very bad performance because the app won't have to unpack all of Chromium each time it starts