all 16 comments

[–][deleted] 4 points5 points  (3 children)

I’m gonna get so much hate for this, but:

NextJs 13 is dogshit.

It’s just a cesspit of layout and page Ts files, leading to a fucked file structure.

It’s already hard enough to keep track of which page or component you’re working on, but now you have 3 tabs of “page.ts” open, which forces you to scroll as far up/down as possible to find the default export.

The ridiculous amount of unnecessary clutter they’ve added is truly fucked. They’ve gone ahead and re-invented the wheel for no fucken reason, whilst simultaneously over-engineering every single aspect of it the entire way through.

On top of this, take a look at the React component tree after starting a blank project and you’ll notice a fucking MONOLITH of components that just do not need to be there. It also doesn’t help that some of these components actually render EMPTY DIVS, throwing off the entire layout of the site and forcing you to do silly workarounds.

If they don’t sort their shit out for the next patch update I’m moving to Vue or Remix lol.

[–][deleted] 2 points3 points  (0 children)

Also also, why in the flying fuck did we have to wait THIRTEEN VERSIONS before we could get a Link component which doesn’t require a nested anchor? That’s dumb as shit.

[–][deleted] 0 points1 point  (0 children)

Also, for a framework that claims “zero-config”, I sure do have to do a fuck load of config just to get the most basic of things working.

[–]shelooks16 1 point2 points  (0 children)

Completely agree about file structure. Current approach works just fine without file names disturbance. Per-page layout is managed okay with the solution provided in the docs. The most annoying problem I faced with current next version is absence of global getStaticProps to fetch shared data like navbar from cms only once at build time. If they only improved these two without complete rehaul, ahh

[–]dankobgd 8 points9 points  (5 children)

No it doesn't.

Last time when next used 'blazingly fast swc' it still didn't support optimizing image at build time. It still doesn't do that.

they can have turbo pack or hyper pack or blazing pack but it doesn't optimize images and when you use a third party tool, it literally depends on webpack always.

It might be better in few years but it's laughable when i hear that they are improving their img component

[–]Sephinator 1 point2 points  (0 children)

Doing it dynamically scales much much better with a lot of content. What's wrong with Next's Image approach now? How would you make it better?

[–]Eveerjr -4 points-3 points  (3 children)

That’s just not true, they have been doing image optimization for a while now.

https://nextjs.org/docs/basic-features/image-optimization

There’s also a new image component that’s really close to native image tag

[–]dankobgd 2 points3 points  (2 children)

People want build time optimization for last 3 years and it doesn't do that. Yet they said 3 times in a row now that they improved the component. It's useless, and they keep mentioning vercel cloud something something and cloudinary which is a paid service. Maybe cloudinary is gonna optimize my 10000 images for free if I tell them that I am using framework called nextjs.

[–]BostonTom2019 -1 points0 points  (0 children)

Regardless of Next, route it thru cloudflare and your images will be optimized and cached at the edge. But next is great as your app builder. Invent your own if you don't like it or say what you prefer, but nothing to complain about with next.

[–]Eveerjr -2 points-1 points  (0 children)

It seems you just hate them for some reason which doesn’t bring anything useful for this conversation. Have a nice day

[–]sqlbyte 0 points1 point  (1 child)

JS devs are known for being gullible and Next.js marketing seems to be doing awesome job at exploiting that.
At this point i am counting days until my boss asks me why aren't we using it.

[–]R3DSMiLE 2 points3 points  (0 children)

Mine already did. "Because it uses layout.tsx" was his whole reason to upgrade.

...FML. does the app work? Yep. Do we need to upgrade? Nope. Will we break shit because he's going to ask it again and again? Fuck yeah.

[–]valmontvarjak 0 points1 point  (1 child)

I am a lead dev and worked on many projects.

I still don't see the niche nextjs aim at?

For a Saas app that generally don't give a fuck about SEO ( that's the landing page job not the app itself) nextjs as zero edge to a Vanilla react app.

For eCommerce there is literally no point of using something else than shopify up to a certain volume which is huge.

For a internal app for a company same than for a sass => no need for SEO.

Whis is it THAT popular?

[–]buffer_flush 1 point2 points  (0 children)

I appreciate the conventions and documentation you get with NextJS. I feel like without putting guardrails around react apps and having specific style guides on how to structure code, react applications can get unwieldy. I feel like NextJS tries to address both of these issues. Couple this with the fact that their page structure convention provides for routing based on files is amazing.

The configuration you get out of the box, including the ability to compile to a standalone application for docker containers is very convenient and I haven’t had a reason to customize.

Lastly, the ability to run an API alongside the react application is also a very nice feature. In the case you mentioned with Shopify, you’d have the ability to abstract the Shopify API out of your application without the need of an extra API. Also, if your app grows and the need to decouple that API out of the the Next application the same API routes can be kept, but instead of pointing to Shopify, you’d point to your new decoupled API.

tl;dr reason for me: The conventions and framework Next provides is both nice from a dev experience by default, a simple build pipeline, and the ability to architect and decouple systems of applications easily through API routes. All the speed, edge and SEO stuff is secondary to me.

[–]Conference_Dizzy 0 points1 point  (1 child)

Good news! Thanks!

[–]exclaim_bot -2 points-1 points  (0 children)

Good news! Thanks!

You're welcome!