I wouldn't be surprised if there were a lot more web devs than native devs, too.
And finally, if you have something you want centralized, it's generally a lot easier to just have a web server than setting up some kind of system to sync the data between different computers. For finances, I could see wanting to use it on both mobile and desktop on a daily basis. That makes web a lot more desirable.
If you want to be able to check your finances on the phone you have to put it on a 3rd party server along with your data. Might as well go with SaaS like Mint. I don't.
You do lose some cross-platform capabilities when you do desktop apps, that is true, but there are some toolsets available (eg Qt).
So I guess it comes down to what people are used to work with, which is Web-first.
Electron has great documentation and we have a great variety of ready-to-use js widgets.
I really don't like this pattern either, but every time I've gone to trying to build a desktop app I get stuck in the mud. (I used JavaFX last time and got far enough to be usable, but I'd go to Electron if I wanted to have something to distribute.)
If you plan on sharing this data with other users, then sure, it makes perfect sense, you can't share stuff from desktop app (without standing up API or smth). But if it's some personal stuff, like finances, personal notes, etc etc why move it out to the open?
I tried Mint awhile ago and it offered seamless integration with most of the financial institutions I deal with. Like I can get all my CC transactions data, checking accounts, savings accounts, 401K and (almost) everything else. Wonderful. I just need to provide all credentials to Mint so that it can authenticate with these institutions.
My cell phone provider has been hacked 3 times in the last 5 years, with at least one time stuff like SSN numbers and physical addresses got taken. If anything remotely similar to that happens at the SaaS that has my credentials, that's not just my credit card and bad loans, that's my life savings that can disappear. That's just... a non-starter for me.
But I'm old and I guess younger folks don't care that much about life savings. To each their own :)
Additionally, even if you use a third party host, it seems less likely they'd be snooping through your application data, as it would provide no benefit to their business of selling you hosting infrastructure. The providers of a budgeting app, on the other hand, have many reasons, benign and possibly not so benign, to be looking at your data.
Says you.
I'm sorry, but that just isn't how that works. It would be no more "wasteful" than running a native app. 1 user or 10, it doesn't matter.
Besides, most self-hosters have servers that are running many apps, so this is just one more. Not a big deal.
Sure, many people seem to be running their Web apps on the local Web servers because Web development is all they know, I'm just pointing out how it's less efficient that native apps.
1) People learned to build web apps for other reasons - their job, other projects that were multi-user, etc. Now they're comfortable working in that language and deployment model
2) They can access it from multiple places. I can view it whether I'm on my desktop, laptop, phone, tablet, etc.
3) If their laptop gets stolen or destroyed, they don't have to worry about having lost the data. (3rd party syncing solutions put you back in the 'my financial data is now on someone else's server)
4) If you have other self-hosted apps, you can double (triple, etc.) up on things running on your web server, database, etc.
5) I can back up all my self-hosted apps by backing up my database and config files, instead of worrying about how each individual app stores the information, etc. I know I can dump or replicate a database. It's something I've been doing for decades.
6) If I need something to be highly available, this is something well understood for web apps. I know how to set up multiple databases and handle failovers. I've been doing it for decades.
7) I understand how to model performance in web applications. I know well how to tune nginx, php-fpm, postgres, etc. I know how to trace requests through them. I know how to debug issues with them. This is all heavily standardized. The same can't be said for desktop applications.
I'm sure there's a dozen more I'm not thinking of off the top of my head, too.
I'm not just talking about this particular one, just in general on the idea of replacing SaaS (like Mint) with self-hosted. What is self-hosting buying here? If it's installed on the local, it's a waste of resources and development time, if it's hosted on a third party hoster we're back to somebody holding user's data.
Is this simply because people are so used to building Web apps that they use them everywhere?
(Yes you can file it under "old man yelling a the sky" category, I'm still on Quicken 2016 personally :) )