←back to thread

Next.js is infuriating

(blog.meca.sh)
1033 points Bogdanp | 2 comments | | HN request time: 0.001s | source
Show context
YuukiRey ◴[] No.45101009[source]
I 100% agree. I've ran into the same issues, and I would never use Next.js for anything, and I will encourage every team at work to use something else.

In general Next.js has so many layers of abstraction that 99.9999% of projects don't need. And the ones that do are probably better off building a bespoke solution from lower level parts.

Next.js is easily the worst technology I've ever used.

replies(16): >>45101028 #>>45101139 #>>45101375 #>>45101378 #>>45102069 #>>45102103 #>>45102427 #>>45102810 #>>45102903 #>>45103225 #>>45104004 #>>45104045 #>>45105250 #>>45110734 #>>45112201 #>>45126685 #
jimbokun ◴[] No.45102810[source]
Sounds like Javascript's answer to Spring.
replies(2): >>45106059 #>>45106660 #
simpaticoder ◴[] No.45106660[source]
Java Spring is at root a way to combine large software components (singletons) together in a controlled manner (dependency injection). It doesn't really have an opinion on what you do with it, or even if you use it for webapps. In fairness the Servlet API (which predates Spring) was and always has been really good (which is why it's still the foundation of everything webapp in the Java ecosystem). Oddly enough, logging in Java was a mess but became really good when slf4j and logback became the de facto standard. The OP's problem is trivial in Java, Spring, Spring Boot, or Dropwizard.

Java doesn't offer isomorphic React SSR, but in most cases that is a questionable feature. Most SPAs don't need or want search-engine indexing or require instantaneous-seeming load times.

replies(2): >>45106969 #>>45117289 #
1. jimbokun ◴[] No.45117289[source]
Spring Boot pulls in countless dependencies without warning. It can generate classes without you asking it to. It will run code just because you added a dependency, even if you don't explicitly call it. A lot of functionality is action-at-a-distance activated through annotations, which could just as easily be simple method calls which are easier to trace and debug. Version updates are aggressive about making breaking changes, sometimes seemingly for aesthetic reasons.

It just adds a lot of complexity even if you don't explicitly opt in to it or need it.

replies(1): >>45119868 #
2. randder ◴[] No.45119868[source]
Spring Boot is not Spring (Framework). (Yes it makes use of it).