Most ideas that could be desktop apps would be just as good as web apps or browser extensions.
For myself Ive been using libui-ng.github.io/libui-ng/ for a few projects lately
I disagree. They might be "better" from the point of view of the developer, but from the user's perspective, web apps are often much worse.
- Needlessly ties the app to the web / Internet connectivity in order to work (a disadvantage unless the application's purpose involves queries over the Internet).
- The application can change on you without warning and without you taking a deliberate step to update, including adding unwanted functionality and removing wanted functionality.
- You can be denied access to the application remotely (this is also true for native applications that require an account to work).
- Look and feel inconsistent with the rest of your applications / operating system.
I'm not talking about USB/hardware apps, games, or anything demanding.
What I have in mind is the majority of Electron/Tauri/Flutter apps I've seen on GitHub could have been just as good as web apps.
(Not trying to dunk on them, most are probably experiments for learning.)
First, compiling and releasing for OSX/Linux/Windows is a nightmare. It's way easier to deploy a web app. Not only for yourself but it's better for users. People get weirded out when they need to run an exe. And for Macs you need to go into settings and allow your unauthenticated app to run, unless you can sign the app yourself.
And for Linux some people don't know they need to mark an AppImage executable to run it.
And if you choose a bulky toolkit like Electron/Tauri/Flutter and in some cases Qt, your app will probably eat up more memory than a web app. And also the final binary users need to download will be big.
So I recommend making a web app if you can, unless your idea fundamentally requires demanding hardware/IO usage/graphics/etc.
- Needlessly ties the app to the web / Internet connectivity in order to work (a disadvantage unless the application's purpose involves queries over the Internet).
- The application can change on you without warning and without you taking a deliberate step to update, including adding unwanted functionality and removing wanted functionality.
- You can be denied access to the application remotely (this is also true for native applications that require an account to work).
- Look and feel inconsistent with the rest of your applications / operating system.
- Performance tends to be worse for web apps.