HACKER Q&A
📣 Pxtl

Is there a good unified end-to-end stack?


This may be a dumb question. I'm a full stack C#/DevOps guy with a bit of a dated skillset, but I want to get into some hobby projects... but the more I look into it, the more I remember all the various layers of glue that we have to roll ourselves on every platform.

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.


  👤 PaulHoule Accepted Answer ✓
Some of the friction in developing web apps is more a feature than a bug. That is, if you design a bunch of REST calls you are thinking out about how the front end and back end interact and might get reasonable performance.

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.


👤 chenxi9649
I empathize with how you're feeling... There's a constant argument about which frontend framework is the best(react? vue? svelt?), which CSS solution(tailwind? bootstrap? MUI?), which DB scheme, which host, "can I just go serverless? If so, which service do I use?", "what about edge function!?". And of course, startups come along here and there with an attempt to unify the options(RedwoodJS, NextJs~), but eventually, new disruptive tech comes and breaks it apart now the cycle starts again.

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)


👤 likortera
The closest thing I can think of to what you're asking for is https://tallstack.dev/. You have everything you might need there and you will have to take zero decisions tech stack related.

There are also those "no code" tools, but I've never used them and I'm pretty skeptical about it.