Live data from Hacker News

Next.js is infuriating

blog.meca.sh

41–50 of 602 posts

Re: Next.js is infuriating

#41
post #13

When they transitioned to the app router it was like they'd given some bootcamp graduates a crack at "improving" on the express apis - which are mature and roughly align with the composable russion doll approach taken in servlets, rack, plug and any other server interface I've ever seen. Aside from the abysmal middleware api you also have the dubious decision to replace having a request parameter with global function…

I believe the obsession with streaming is a major factor in the new constraints. Together with supporting the lowest common denominator, edge runtimes.

And the reason they're all in on streaming to begin with is because they're sending massive amounts of data back and forth all the time. Like Sean Goedecke said in his API design writeup [0], a technically poor product can make it nearly impossible to build an elegant API. I believe we're seeing the same thing with Next.js, all of these wonky interfaces derive from the underlying architectural issues.

[0] https://www.seangoedecke.com/good-api-design/

Re: Next.js is infuriating

#42
the interesting web problems (collaborative tools, creative software, scientific computing) have to fight against a framework ecosystem designed for the blandest landing pages.

Nextjs and most web frameworks assume you're building an e-commerce site that has to only differentiate on loading speeds.

Re: Next.js is infuriating

#44
Anyone who is running back-end code in Next.js has no idea what they are doing. It could be acceptable if it is a toy project and you want to get something quickly but even for a small operation or MVP, the whole thing is not coherent.

I've wrote previously about nextjs: https://omarabid.com/nextjs-vercel My opinion remains the same: Most of the issues in Nextjs are not a bug but a feature. A feature that only functions and locks you in Vercel platform.

Since their routing/SEO/content features are also now less functional, there is really very little reason to use Nextjs especially with React Server Components.

Re: Next.js is infuriating

#45

Similar to Meteor.js, they've tried to abstract things that aren't really abstractable (is this even a word?). It handles edge-cases extremely poorly, and when you have those scenarios, you either need to find a workaround (so code becomes ugly and painful to maintain) or give up. I've worked with it for a project, gladly never again. I'll extend my feedback about Node.JS backend. Look how many flavors: deno, bun...…

>is this even a word

Everything can be a word if you know what you're trying to say. Don't let anyone tell you otherwise. If they try, say: фakdelengiчpolis!

Even though I'm a fan of looking for underlying motivations to what people do, I'd be wary of pointing out "only" reasons for anything. I know it's a rhetorical exaggeration, but still.

For example, I've found Node to do what Python does, only better. For example, Node does dependency resolution without involving the OS package manager. And ultimately, people end up using whatever they become comfortable with.

Which is not an exact science and people resist it being made into one. (Maybe if it was, it'd be much easier to sell people on working with the "least worst" tooling that is not actually good for anything.)

But the important thing is that on the backend they're all different. The baseline is the CPU, and you get to choose between real tools with real histories of real tradeoffs. Even if the tradeoff is "run JS" or "be written in C++" or smth else.

On the frontend, the baseline is JS, and whatever the browsers bolt to JS, and as us few sane keep pointing out, JS land is already such an "OS-within-an-OS" that there is very little point to building entire freaking frameworks between that and the application, just for the sake of having to swim through someone else's moat instead of invoking the APIs directly (which are also better designed for the most part).

So, in order to differentiate the market, one would need to build at least 1 "layer of layers" on top of JS, some products in which are gonna more pointless, while others are gonna be less pointless (all of this to all different people of course). That way the user gets to choose between what sucks more vs what sucks less, and one gets to feed on the attention paid to the choice of lesser evil; or -- if insufficient attention is paid -- to entirely direct the choice in whatever direction. It's a win-win.

Re: Next.js is infuriating

#46
Modern development in a nutshell.

You want to use something full of abstractions to the point you have no idea how it actually worked.

You did this to save time.

Then when issues occur it's someone else's fault.

That said, let me pass in a flag to get my dev logs in prod. That's ultimately what the author wants.

Re: Next.js is infuriating

#47
post #18
post #2

I don't get these kind of complaints, coming from Java and .NET web frameworks, Next,js is the only sane frontend framework followed by Angular. Saying this as someone doing Web related development since 1998, glory days of Perl and CGIs.

Angular is absolutely not a sane framework. I'd argue it used to be, but you can't build trust in anything after being rugpulled with 4+ major breaking refactors over the years. If you get it that wrong that many times, I start to wonder what the actual purpose of the framework is.

In consulting we don't do upgrades, we come, we deliver, and we leave, with maintenance contracts for existing deployed versions.

For an upgrade someone has to pay for it anyway, so whatever pains there are, they are reflected on project budget anyway.

More devs should do the math of work hours to money.

Re: Next.js is infuriating

#48
I didn’t fully read the post, but pretty sure they have a good point. I inherited next.js on a project it is the absolute worst framework.

I don’t need/want to elaborate.

Re: Next.js is infuriating

#49
post #6
post #2

I don't get these kind of complaints, coming from Java and .NET web frameworks, Next,js is the only sane frontend framework followed by Angular. Saying this as someone doing Web related development since 1998, glory days of Perl and CGIs.

I don't think the post is an unreasonable complaint. The fact that you have to even think about how to get logs out of your application is insane, never mind all the hoops you need here. Logging should be a first class citizen in anything that goes to production.

Interesting, because that is hardly so in most frameworks, logging requires additional libraries and configuration almost everywhere.

Re: Next.js is infuriating

#50

Modern development in a nutshell. You want to use something full of abstractions to the point you have no idea how it actually worked. You did this to save time. Then when issues occur it's someone else's fault. That said, let me pass in a flag to get my dev logs in prod. That's ultimately what the author wants.

reminds me of this talk https://www.youtube.com/watch?v=SxdOUGdseq4 :)
Post reply on HN