Live data from Hacker News

Developing a Modern Full-Stack Application: Choosing the Right Tech Stack

isultan.bearblog.dev

61–70 of 117 posts

Re: Developing a Modern Full-Stack Application: Choosing the Right Tech Stack

#61
post #18

Earlier quoted context omitted.

Nodejs backends are not "as performant as you build them" nodejs is slow! This is an undeniable fact. If you ever have to do anything computationally intensive, which every backend at some point will nodejs will become the bottleneck.

Nodejs is slooooooooooooooooooooooooooooow. [0] [0] - https://www.techempower.com/benchmarks/#hw=ph&test=composite...

What do you think about how well uWebSockets.js performed in the TechEmpower benchmark? Just js is admittedly experimental, but it has the fourth highest score, and the highest score of any non-Rust framework as well which I found interesting. Elysia (a Bun framework) did pretty well too.

Deno would have probably scored well too (it uses Rust's Hyper crate under the hood), but they're only running a single instance of the server despite Deno supporting the Linux SO_REUSEPORT socket option, which is important because the test is run on three servers with Intel Xeon Gold 5120 Processors that have 14 cores and 28 hyperthreads [0].

[0] https://github.com/TechEmpower/FrameworkBenchmarks/tree/9f0c...

Re: Developing a Modern Full-Stack Application: Choosing the Right Tech Stack

#63
post #31

PocketBase + Go + HTMX

Pocketbase is just superb. I am using pocketbase together with scalajs and svelte. It saved me so much time setting up the basics and you won't regret it once the project grows. Anything works with pocketbase but go or any js based stack has an easy onboarding.

Do you eventually have to move off pocketbase? Looks like it only supports SQLite, and therefor obviously can only run a single server instance. How do you plan to migrate off it in the case that you have higher availability or traffic needs?

Re: Developing a Modern Full-Stack Application: Choosing the Right Tech Stack

#64
post #31

Earlier quoted context omitted.

Pocketbase is just superb. I am using pocketbase together with scalajs and svelte. It saved me so much time setting up the basics and you won't regret it once the project grows. Anything works with pocketbase but go or any js based stack has an easy onboarding.

Do you eventually have to move off pocketbase? Looks like it only supports SQLite, and therefor obviously can only run a single server instance. How do you plan to migrate off it in the case that you have higher availability or traffic needs?

use a bigger server until the revenue is big enough to justify the migration.

Re: Developing a Modern Full-Stack Application: Choosing the Right Tech Stack

#65

PocketBase + Go + HTMX

PocketBase is not ready to be used for production yet

Unless you are very lucky, odds are your app is never going to be hitting "production" workloads. If it ever does, then you can pivot to something else (and by that point you'll presumably have the revenue to do so).

Re: Developing a Modern Full-Stack Application: Choosing the Right Tech Stack

#66
post #20

I call my stack GETHAS: Golang + Echo + Templ + HTMX + Alpine.js + Supabase

Why Templ? What are the advantages over html/template? It seems to just recreate JSX in Go. I should add, I'm someone who heavily dislikes JSX and prefers SFCs.

Templ gives you type checking and LSP support in your templates.

Re: Developing a Modern Full-Stack Application: Choosing the Right Tech Stack

#67
post #55

Earlier quoted context omitted.

I only use TS on the frontend, so less opinionated about some of this. I’d love to see some of the codebases where people complain about performance so I could profile them myself. Would put money on being able to improve the situation by orders of magnitude without switching stack. We use Python on the backend of our web app for realtime image recognition and it’s fine because we’ve been thoughtful about data struct…

>> We use Python on the backend of our web app for realtime image recognition I have no qualms with python. But Python is the high fructose corn syrup of programing languages... It's in everything. It's dead easy to write out c bindings so from ML to Math to big data tasks it forms the glue to a lot of things. My question is: is your real time image processing IN python or in C that python calls out to?

There’s numpy in the middle, so bits are outside python. The vast majority of the code is Python though and the performance gains come from being strategic about the architecture.

My point is that for most usecases you can go a lot further by looking at the code that’s running rather than the language that’s running it.

Re: Developing a Modern Full-Stack Application: Choosing the Right Tech Stack

#68
post #42

Earlier quoted context omitted.

> typescript is only sort of static typing Can you elaborate on this?

It's progressively typed because it has to coexist with untyped Javascript code and libraries.

Sure, but you can enable TypeScript options and institute lint rules prohibiting use of untyped code.

Re: Developing a Modern Full-Stack Application: Choosing the Right Tech Stack

#69
post #19

Earlier quoted context omitted.

I do agree with this, but I'd argue the developer experience of nodejs with Typescript is far worse than that of rust/go

Agree. JS/TS is not a good environment for large software projects maintained over a long period of time. I'm not 100% convinced Rust is either, yet. cargo seems to be a dumpster fire. Build tools generate TB of mystery disk bloat. Obsession with async... hopefully these issues can be resolved.

> Build tools generate TB of mystery disk bloat.

No, it's not TB, it's a few GB for small projects, and tens of GB for large projects. Rarely does a project ever get over 30-40GB.

> Obsession with async...

If you're going to want any amount of decent performance, you're going to have to deal with async. That's just the nature of IO bound applications.

Re: Developing a Modern Full-Stack Application: Choosing the Right Tech Stack

#70
Fascinating discussion. What I'm looking for in a tech stack for my web app: CRUD - simple requirements at first but could be developed over time to include more social/community functions. Good dev experience, I'm a relative newbie and will be learning on the go. Inexpensive to host, no unexpected bills.

My tech stack should have the potential to scale nicely, in case it ever needs it.

So I'm not looking for much, just Easy - Powerful - Future Proof

Sounds like the OP's stack is not it.

Post reply on HN