Surely there must be something off-the-shelf that will get me a nice mobile/web GUI and an online persistance layer, right?
I mean, I know how to put things all together using .NET Core and EF and SQL Server or Postgres and Xamarin Forms for mobile and Razor templates for web and oData for restful stuff and a pile of powershell scripts for deployment and EF for migrations.
I know all that stuff. And I can do it again. But even the simplest "hello world" application in that architecture represents a crapload of work.
But I also know that these are solved problems and that I'm not opinionated. I'm more than willing to try a new platform, I don't care how exactly a GUI looks as long as it has the widgets I need, I'd rather it look native than perfectly match a .psd mockup. Sql, NOSQL, ORM, whatever.
Surely this exists, right? An end-to-end stack where I don't have to worry about every layer of leaky abstraction, about passing every message from Javascript to REST to server objects to SQL and back again? If I'm willing to put up with restrictive abstractions?
Because I want to get back into coding for myself, and I want to make full server client programs, but the idea of figuring out what's the "right" way to set up Auth these days just exhausts me when there are thoroughly well-known Best Practices and I would very much like to not have to think about them.
If you built out a completely general protocol you might not find performance and reliability were acceptable.
As for auth I remember reading
https://philip.greenspun.com/panda/
and looking at Yahoo and deciding that "user management" was a pivotal function for web site so I developed a rather sophisticated user management framework in 2001 and found that people were indifferent to it. There was a lot of interest in languages like ColdFusion and PHP, and even in "lots of random junk w/ an emphasis on junk" systems like PHPNuke, but I felt remarkably alone when it came to "use a world-class user management system to stick together world-class applications to make a portal".
I didn't really see "user management" become a category of software that people would reuse (as opposed to write something half-baked in a hurry) until 2013 or so when it got fashionable to log in with Google, Facebook, etc.
But really you should be looking at "low code" tools because, if the idea is realized properly, it's exactly what you want in terms of automatically generating a lot of the tedious stuff.
I think as engineers, we are trained to do things the best way, the right way, or the most efficient way. But when it comes to hobby projects that don't quite have a hard deadline, that mentality can get us trapped in the research phase for way too long.
I think the antidote here is the good'ol Nike slogan... "just do it". Understand that you'll never have complete information and that ultimately you're making a bet with your decision to go with one solution or another. With side projects, almost all of your decisions are *reversible and have low consequences. So just keep moving, and if you make the wrong move, take a step back. Or just start over!
(personally, with simple web apps, I'm a fan of the t3 stack. TS, React, Next-Auth, tRPC, Prisma)
There are also those "no code" tools, but I've never used them and I'm pretty skeptical about it.