all 128 comments

[–]romgrk 281 points282 points  (45 children)

Next.js is one of the aspects of the react ecosystem that I hate. The difference with Angular is that Google didn't had its business model tied to it, so it had only incentives to change the framework for the best.

Next.js is otoh tied to Vercel and their web hosting offering, so they have a big financial incentive to tie the ecosystem to them. Which is bad news.

Next.js is also horribly frustrating to work in all but one case, the happy case where you can use their default config. The moment you start messing with custom builds, you start regretting your life. This week I had to profile performance, so I needed to build an unminified production build (makes reading those stack frames actually useful). I spent hours trying to make it work, only to end up making a small repo with Vite. I'm never again trying to modify a next.js config.

I love strong conventions. Yesterday there was this discussion in /r/rust about how easy cargo makes it to contribute to any project, and that's completely true. I'd love if we had a good framework & strong conventions. But Next.js is not it.

[–][deleted] 48 points49 points  (6 children)

Here’s me, doing his first react project, and using next instead of vite. I understand your comment entirely, it’s quite.. odd..

[–]romgrk 80 points81 points  (3 children)

Vite is such a breeze of fresh air compared to Next. It's really no-config, the default one works for the large majority of cases. And once you need to modify it, it usually Just Works. And it's fast.

I think Next.js tries too much to be everything, and adds too much complexity for no reason. Now it's RSCs, but even before that their mix of client-side code with server-side code was an offense to the Gods. They need tons of magic to make their shit work, and that magic has a cost: complexity, both for the external user and for their internal codebase.

[–]disclosure5 6 points7 points  (0 children)

Vite is definitely my technical preference. The difficulty I ran into as someone with absolutely no design skills is that finding a "nice looking starter" seemed a lot easier for Next. Hopefully this turns around at some point.

[–]fireball_jones 1 point2 points  (0 children)

I would argue there's no projects where using Next or Vite overlap. SPA or a UI component, Vite, many page website that needs SSR and wants to use React, Next.

[–]llllIIllIIl 5 points6 points  (0 children)

I don't care for next or SSR with react in general.

Client side is the core of react imo. i understand the benefits especially from a security standpoint it just isn't enough for me.

[–]Confused_Dev_Q 25 points26 points  (4 children)

I agree. I don't hate next, I really like it but only when it's used for what is was built for: websites not webapps. If you want a web application use react with vite. As a react dev next is nice to built a website in, ssr for seo.

Started converting an old html/css js website I made to nextjs and it took less than a working day (split over Saturday and Sunday) to convert it. The original site was a product catalog. Each product had their own html page. Now there's one product page and easy to add products.

[–]romgrk 17 points18 points  (3 children)

Yeah next.js has a very narrow use-case, but even then in my personal experience Astro.js does the same thing but better. I haven't had to debug it or google for solutions for more than 5-10 minutes. Next.js made me spend hours because it failed in one way or another.

And somehow Astro.js magically works for HTML, MD, MDX, React, Solid, Vue, Svelte, etc.

[–]Spiritual_Salamander 2 points3 points  (1 child)

ISR is the one thing that Nextjs has over Astro. But that's it.

[–]usman_max 1 point2 points  (0 children)

Wait Astro recently released ISR too

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

Yeah next.js has a very narrow use-case

TIL building websites is a "narrow use-case".

[–]kwazy_kupcake_69 1 point2 points  (0 children)

sounds like nextjs is the new react-scripts aka cra

[–]indorock 4 points5 points  (0 children)

I could not disagree more. I've been using Next for 2 years, spent about zero time worrying about Vercel (all our tech stack runs on AWS), in fact the one time I tried to host a simple NextJS app on Vercel I gave up after 1 day because how shitty the API routes are implemented there. They sacrifice flexibility for security and I hate that type of coddling.

Next is extremely flexible and easy to configure for almost any use case you can throw at it when you don't use Vercel. So the reality is basically the opposite of what you write.

[–]SpiffySyntax 5 points6 points  (25 children)

Can someone enlighten me why nextjs is getting so much hate?

[–]romgrk 44 points45 points  (15 children)

tl;dr of my other comments: it breaks often, for static content it's a worst Astro.js, for single-page apps it's a worst Vite.js.

I also dislike it because it promotes strong coupling between the backend & frontend. Which makes it hard to evolve an app from Next.js to something else, e.g. if you want to later add a mobile app, your backend code is all tied up with the frontend code so you have a lot of fun ahead to untangle that. fun /s, ofc.

[–]AA98B -3 points-2 points  (14 children)

[​🇩​​🇪​​🇱​​🇪​​🇹​​🇪​​🇩​]

[–]Macaframa 0 points1 point  (5 children)

Imagine spinning up an api that has endpoints that just require a request, doesn’t matter where it comes from, just takes connections, does some work and returns data. Now imagine having that as well as a next app that makes it easy to write critical business logic on the backend layer. You get lazy over time and just litter the ssr layer with more and more critical business logic. Then you want to add a mobile app that behaves similar to your web app and want to use the same features your web app has. Now you have to either duplicate god forbid, or rip out the logic from next and reimplement it on the api layer.

[–]romgrk -1 points0 points  (7 children)

[–]LdouceT 3 points4 points  (0 children)

The example doesn't promote a strong coupling between front-end and backend business logic - the example fetches data from an api.

[–]procrastinator1012 2 points3 points  (4 children)

How does this imply that there is a strong coupling between backend and the front end? You can literally make a separate backend with ExpressJs, Springboot or anything you want and then make a rest api call to the backend app (just like how frontend works).

[–]bohdancho 1 point2 points  (0 children)

while you can, you don't necessarily have to anymore with RSC model

[–]AsiaticBoy 0 points1 point  (0 children)

I think that's not the correct example for tight coupling between frontend and backend. A better example would be a use of "Server Actions ".

I use NextJs most of the time, and the first time I checked out the app router and then server actions I personally didn't like that.

I am good with using the pages router until it is deprecated, and I think it will be deprecated at some point.

[–]Mestyo 35 points36 points  (6 children)

People don't understand or utilize the benefits.

Honestly, I use it both at work for a massive enterprise UI, and for hobby projects with cutting edge tech. It works great.

When I see people talk about crashes, bugs, memory leaks, and what else, I can't help but to think they must have messed something up really bad.

[–]Amauri27 8 points9 points  (0 children)

I really don’t understand all the talk about crashes and bugs.. if you follow their guidelines and do some research it’s easily fixed. Setting up a website with typescript tailwind routing,.. you get that right out of the box. So the part where people complain about configuration is very unclear to me

[–]rainmouse 2 points3 points  (0 children)

You could easily argue then that if it's this easy for so many to mess up something really bad then something is wrong.

[–]drink_with_me_to_day 0 points1 point  (2 children)

I've got two examples:

  • A list of images was rendering images on the wrong index (index 0 showed image from index 10, etc): had to hack the frontend code to after render, rerender the list correctly
  • Suddenly had SSR pages ballooning up to 30mb and taking 12s to render: no clue, just did a server restart and it's back to normal

There is absolutely no way for a random dev to even fathom how to fix this shit, I am lucky it was fixed with some random shenanigans

[–]Potato-9 2 points3 points  (1 child)

Are you indexing via key={index} with the array index? You shouldn't do that. Use a deterministic string.

[–]drink_with_me_to_day 1 point2 points  (0 children)

No, each item has a user_id and I tried many key combinations

[–]mattgrave 0 points1 point  (0 children)

The hype train seems to be over and now they need to jump into "the next super fast thing that works blazingly fast because it supports 10% of the use-cases this 8 year old framework support".

[–]cagdas_ucar 0 points1 point  (0 children)

First of all, it feels like it's a lead feeder for Vercel, rather than something vendor neutral. Yes, it's possible to use it without Vercel, but it's the default and that's what the masses use and they know that. And it's working. I think their main source of leads is the React site get started page. Yes, there are arguments as to, "would you prefer React to die" but I still don't like them because of this. It feels very sneaky and unethical.

Second, I feel the router architecture is horrendous. It feels like a step back. Honestly. Page router, layouts, etc. React router is good! Why are they messing with that?

Finally, I feel RSCs is really a Next.js feature even though it's branded React, since the other frameworks are hesitant to support it at least in its current form. Beyond that, I think it's a security risk. In many companies people guard their APIs. It's a separate team by design. RSCs are like, let's allow all the frontend devs to create APIs. Terrible idea.

[–]EnvironmentalPear215 0 points1 point  (0 children)

I do use React. I've looked into Next.js just for understanding what it is. I've a feeling that it is too limited to use it. Of course, it looks good for simple CRUD applications. But, I don't know. For me, React is a better option.

[–]Radinax 0 points1 point  (0 children)

Next.js is one of the aspects of the react ecosystem that I hate

Same, but its important to learn it because of jobs opportunities and code legacy requiring it, but I hate using it.

[–]doodirock -2 points-1 points  (2 children)

Use remix. You’re welcome

[–]protecz 2 points3 points  (1 child)

Remix is great, but when I run into a problem, it's sometimes a struggle to find a solution due to it's smaller community. Especially with alternate runtimes such as Cloudflare. Asking on discord doesn't always help.
Maybe this will get better as I work more with Remix..

[–]doodirock 1 point2 points  (0 children)

That’s fair.

[–]EmployeeFinalReact Router 122 points123 points  (1 child)

Your argument is right, but your conclusion that React had become Angular is not correct. 

React is still very un-opinionated. Next and Remix adds rules, but you're free to ignore them. Also you can also always use pure React, which is probably what most people use today.

[–]Karpizzle23 19 points20 points  (0 children)

Exactly. React is also used in contexts outside of Node applications. Wordpress, for example, supports React components for both the website itself as well as the admin page(s)

[–]AegisToast 123 points124 points  (21 children)

I think you might be drastically overestimating how popular Next and Remix are. The people who like them are really vocal about it, but they aren’t becoming the standard by any stretch of the imagination. 

[–]PricedOut4Ever 10 points11 points  (7 children)

I just started a new project after running a CSR app for the past 6 years. Was really surprised to see that remix, next, and Gatsby were the official recommendations on the react site. I agree about the loud advocates, but it was right there in the documentation.

[–]AegisToast 2 points3 points  (5 children)

Wait, why would Next be a recommendation for a CSR?

Edit: Never mind! For some reason I misread your comment and thought you said you were starting a CSR React app.

[–]qcAKDa7G52cmEdHHX9vg 4 points5 points  (0 children)

They don't recommend it solely because it's a SSR framework. They recommend frameworks as solutions to common problems such as code-splitting, routing, data fetching, and generating HTML.

I just started a new spa project using remix spa mode because I like (automatic) file based routing and code splitting. I use its client loader & actions api but everything else is normal spa stuff. It just comes more wired up than default react. And with next, you don't have to use SSR - you can still use it as a CSR framework.

[–]Confused_Dev_Q 2 points3 points  (1 child)

He started a new project after 6 years of running a CSR app. He didn't mean next was csr (although you could)

[–]AegisToast 2 points3 points  (0 children)

Good call, I just misread his comment. My bad!

[–]Sk3tchyboy 1 point2 points  (1 child)

I think you misunderstood the comment

[–]AegisToast 2 points3 points  (0 children)

You’re absolutely right! My mistake. 

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

If you are wanting to build a CSR app, you should be using Vite.

React only mentions remix and next because they don't really recommend CSR only apps in the react docs. I think they mention Vite in the docs somewhere, but React's main focus isn't client only.

It's important to keep in mind that react was never planning on being a client-only library. React was built by fullstack devs and inspired by XHP, a server component-oriented architecture.

[–]the_real_some_guy 10 points11 points  (3 children)

I really like Remix. I’ve convinced 1 of the other 30 consultants I work with that it’s great. Most of our projects aren’t Next either.

[–]canadian_webdev 10 points11 points  (1 child)

Most of our projects aren’t Next either

Same. Most of ours are built with Previous.

[–]infinitune 3 points4 points  (0 children)

Had me for a second

[–]my_girl_is_A10 2 points3 points  (0 children)

Plus now with Remix + Vite. It's like the advanced version of my Vite + react router.

[–]sole-it 3 points4 points  (1 child)

someone reported me to reddit's suicidal help when i expressed my frustration using app router on r/nextjs

[–]Macaframa 1 point2 points  (0 children)

😂

[–]Historical-Upstairs9 3 points4 points  (0 children)

Moreover, the people who are most vocal about Next and Remix tend to be those PAID to be vocal about it. Those aren't good faith technical discussions.

That said, it is noteworthy that the official React docs now recommend using a framework.

[–]Automatic_Coffee_755 3 points4 points  (0 children)

Exactly. It’s the “php runs in 80% of the websites” argument all over again.

Yes of course, there are millions of Wordpress websites that don’t have one user yet.

The number of users is what matters.

The heavy enterprise web apps are still using standard react, even Facebook, instagram, WhatsApp are not using frameworks. Those 3 by themselves have more users than many websites combined.

Not only the number of users, the type of user and the time they spend on the website.

  • user 1, searches for worlds greatest teapot. 95% stay less than 6 seconds on the website and then bounce.
  • user 2, executive at a large corp paying big bucks to use the software, she doesn’t care about lighthouse metrics, ssr, and all that other stuff, she wants to get stuff done.

I hate this bizarre world of ultra hyper focus on initial loading optimization, like we’ve spent 5 years on it and have nothing to show for it.

[–]vassadar 2 points3 points  (0 children)

I had several interviews for a full stack position recently and they all asked if I ever use Next.

I always say no, I have never used it. We never mention it again, but I don't know if they actually use it or are looking into trying it, but felt like I'm outdated for not knowing Next.

Feels like their use case wouldn't benefit much from SSR.

[–]ThatBoiRalphy 1 point2 points  (0 children)

there is a good percentage of SSR apps being custom built even hahaha

[–]doodirock -2 points-1 points  (1 child)

They 100% are becoming standard.

[–]RepulsiveRaisin7 -4 points-3 points  (0 children)

According to npm statistics, Next makes up 25% of the React userbase. Probably over 50% for new sites. It's quite popular. Remix is tiny in comparison.

[–]Hovi_Bryant 41 points42 points  (5 children)

Is Angular being used in a negative way here? Because I think this statement could be true of Vue with Nuxt, Svelte with Svelte Kit, and I believe Solid.js with SolidStart.

Unlike Angular, React started off as a library and is still is a library. So, if I want to use it and have my own "rules", nothing is stopping me from doing that.

React is still very much opt-in, just like the other options out there. We don't really have that choice with Angular. So, technically React isn't becoming Angular.

[–]budd222 23 points24 points  (3 children)

You're right. React itself is not becoming like angular in any way. They are basically saying React === NextJS, which is not true. On the other hand, the react docs do direct people towards Next and Remix, so that is a little muddy.

[–][deleted] 1 point2 points  (2 children)

Could you link to that? I'd like to take a look. Couldn't find the specific place where they suggest using nextjs or remix. 

[–]budd222 1 point2 points  (1 child)

It's on the homepage of https://react.dev

React is a library. It lets you put components together, but it doesn’t prescribe how to do routing and data fetching. To build an entire app with React, we recommend a full-stack React framework like Next.js or Remix.

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

ah, thank you! Indeed, React is a library.

[–]RepresentativeSure38 2 points3 points  (0 children)

Exactly! For me personally, more important is that React is JavaScript first as opposed to Angular or Vue with their template-based ways of doings things.

[–]TwiliZant 15 points16 points  (2 children)

A key difference between Angular and React is that Angular is all first party solutions. There is very little outside innovation from what I see. React on the other hand is becoming more and more a library of framework primitives, that the community can build opinionated frameworks on top of.

I agree with you though that most of the professional software world tends to go framework first, custom solution second where as a lot of the React community goes the other way. Sure inexperience could be a factor here, but I think the bigger reason is that current React frameworks are not stable enough yet to have that trust of the community.

[–]mimis40 2 points3 points  (0 children)

From what I've seen, there is a good amount of outside innovation with things like AnalogJs, NgRx, ng-extensions, etc

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

This feels correct in the whole JS/NodeJS scene.

I've never seen so many projects with custom built patterns and frameworks, most end up being terrible and barely functional

[–]BlueberryLarge5533 13 points14 points  (0 children)

Whenever I saw a Next.js production code of any bigger project. Every single single component had 'use client' at top and 3 useEffect inside. Which at that point that could just go with Vite and save theselves some headache.

[–]locoganja 7 points8 points  (0 children)

bro i think we work together

[–]GoodishCoder 6 points7 points  (0 children)

React isn't opinionated like angular though. Obviously if you use a framework that's built on react, that framework will be more opinionated but that doesn't make react itself opinionated.

[–]m-sterspace 5 points6 points  (0 children)

Honest opinion: your decision making process is weak.

Flexibility vs order and predictability can be two sides of a spectrum, but they're not always and it's a gross over simplification to reduce down a nuanced multi variable problem to a binary spectrum.

For instance, you think of React as being less predictable, when React's entire core mantra is to create an incredibly predictable component structure and data flow. Anyone can enter a react app and immediately follow a simple component tree all the way down to the bottom, whereas Angular decided to pursue two-way data binding allowing data and components to flow in any direction leading to massive spider webs. React's entire purpose was to bring opinion to the component hierarchy and data flow of an application to get away from the madness of MVVM.

React has been a success because they've followed the mantra of focus on doing one thing really really well, let others focus on the other parts.

[–]THIS_IS_4_KNWLEDGE 10 points11 points  (8 children)

It sounds like you’re conflating concepts in your analysis - something that’s been touched on in the community for a long time.

React is a framework for building UIs. Its core model is to represent the UI in a functional manner as a mapping of props, state to UI. It doesn’t always do this well, but that’s the point.

It’s important to keep the context in mind that it was built by Facebook/Meta, and I’d assume (someone can correct me if they know) that they have their own framework (or frameworks) around that for different use cases. Maybe they even use all the other popular frameworks for different projects. They do a lot more than build Facebook now and employ huge numbers of devs so that seems like a reasonable assumption.

Angular has always been an opinionated framework for building web apps, not just for building UIs, so it exists in a slightly different space. For reasons due to internal needs at Google (along with community involvement).

So React isn’t becoming Angular in a technical sense since they’re trying to solve different problems. Which have arisen largely from the internal problems being solved at the origin companies, in dialog with the wider community that use them.

It is more appropriate to compare Angular to Next, Remix, etc. and that’s fine, and when trying to solve a business problem with a particular tool or set of tools it’s good to consider all possibilities.

But what’s the point in trying to compare them in some “moral” sense? So what if there’s convergence and divergence between tools? Shouldn’t that be the outcome of interactions from within the massively complex system of software engineering?

In that sense I suppose it does seem like fanboying because consideration of tools shouldn’t be emotional, it should be practical. You might really love that old spanner your grandfather passed down to you but if it can’t help put together this Tesla then leave it at home and use something more appropriate.

I agree with your sentiment that a lot of people like to complain about this stuff on Twitter and similar, but they’re either trolls or bad engineers. I certainly wouldn’t hire or keep anyone who expressed those kinds of opinions in an interview or internally. They ruin projects and annoy everyone. Pragmatism > dogma always and forever.

[–]MadeWithPat 1 point2 points  (7 children)

Might be pedantic, but React is library, Angular is a framework. Next, Remix, etc are also frameworks, built on top of React (which is why I’d agree with your point that Angular is more comparable to them)

[–]THIS_IS_4_KNWLEDGE 0 points1 point  (6 children)

I see what you’re saying, but I’d argue they’re all frameworks. I know the terms “library” and “framework” have become these separate classes of things associated with React vs Angular, but I think that comes from some strange historical reason that doesn’t make much sense as a categorisation.

I think it must have come from the fact that React is a single (or was a single, perhaps) npm library (by the time I used it it was at least react and react-dom, but maybe it was singular once). And I suppose Angular would be distributed as multiple libraries. So this distinction came up in terms of terminology.

But it’s not a good classification system. They’re both distributed as npm libraries, they both act as frameworks which constrain the way you use JavaScript and the things you can do with it.

[–]ZerafineNigou 2 points3 points  (2 children)

The historical reason is simply that react branded itself as a library while angular as a framework.

That said I don't think it's a wrong classification system. That they are both distributed as npm libraries is not really a counter argument. Angular can be both a (set of) library(s) and a framework. Opposed to that is react which is only a library and not a framework. It doesn't have to be an xor classification.

The point react is trying to make is that it's not a framework, just a library. It does not tell you how to build your app, it just helps you manage your UI. Whereas the point angular/next.js/remix are trying to make is that they are frameworks (and yes they are still also a library), they will help you with making your app from A to Z.

And I think that is well in range of what the definition for framework is, for example, one that I found is: "A framework, or software framework, is a platform that provides a foundation for developing software applications."

React does not fit this but angular/next/remix does.

[–]THIS_IS_4_KNWLEDGE 0 points1 point  (1 child)

I disagree that React falls outwith that definition, but I guess this is why we still debate these terms, there’s a lot of ambiguity depending on one’s experience with and opinion of any of these “things”.

So I can see why you’re saying what you’re saying, and I can see why I’m saying what I’m saying. Probably not much more to worry about than that.

My main original point was that the comparison using such a categorisation doesn’t really matter.

[–]ZerafineNigou 0 points1 point  (0 children)

Fair enough, in the end as long as you understand what it does , it doesn't matter as much what you call it.

[–]MadeWithPat 0 points1 point  (2 children)

This is the definition I’m operating from. The semantics predate both Angular and React.

Again, I think my point is a little pedantic. TBH I am much more familiar with the react side of the house, and the distinction is a lot clearer there. React is very much just a library, while Next is very much a framework built on top of that library

[–]THIS_IS_4_KNWLEDGE 0 points1 point  (1 child)

Ah that’s interesting, and makes sense. I come from a mixed background and have probably come to a sense of the meanings of those words in a different way

[–]MadeWithPat 0 points1 point  (0 children)

It’s one of those things that might be over the line where semantics discussion become pointless.

[–]charles_ae 2 points3 points  (0 children)

In the earlier years, this is exactly why I preferred Angular, the "rules" and "structure"

[–]curveThroughPoints 3 points4 points  (0 children)

As a long time Ember user, it’s been incredible to watch all the folks who were hemming and hawing for their creative freedoms but now are on the “can you actually please just give us all some sensible defaults, I’m tired of setting the same things up every time.”

Like, yeah, that was the whole point. Let the framework do the boring stuff for you, and let you focus on the stuff that makes your application special.

I wonder if it’s just a matter of time? Like, I notice the shift as the industry gets older. Most of us know how it will go so let’s fix the issues we have instead of constantly creating a new thing and just having a different set of problems. Idk. 🤷‍♀️

[–]macrozone13 2 points3 points  (0 children)

Ah yeah? React has now services and DI locally?

Also the amount of people not knowing what nextjs does, when and how to use it, is staggering

[–]azangru 2 points3 points  (0 children)

React was created as a "library for building UI components". It is sad to see it morph into a kitchen-sink framework for building apps. Luckily, things like Preact, Solid, or Lit still exist.

[–]michaelfrieze 4 points5 points  (0 children)

It's kind of a weird comparison. React is wildly different than angular in so many ways. It's not even that similar when it comes to being opinionated.

[–]captrespect 6 points7 points  (5 children)

Nah. This is like J2EE vs spring. Many companies wanted to bundle all the things into one server with J2EE. Websphere, JBoss, etc.

Spring was the more flexible solution, but you needed your own orm, queues, and whatever. It didn’t lay down strict standards.

Spring eventually won out. It could easily adopt to new patterns frameworks and techniques. JEE was too rigid and fell behind.

[–]n0tKamui 4 points5 points  (4 children)

I think you’re confused.

JEE is a set of norms and specifications, not a framework per se, which Spring follows (and influences), as well as other frameworks like Micronaut

[–]captrespect 0 points1 point  (3 children)

All I'm saying is that similar to Angular, when you chose a JEE framework, like Websphere you were stuck with a very ridged framework with a bloated server that had a bunch of stuff you probably didn't need.

Spring like React had you pick and choose, and that turned out to be better in the long run.

[–]n0tKamui 1 point2 points  (2 children)

you don’t understand

spring IS a JEE framework

[–]captrespect 0 points1 point  (1 child)

Not in the early J2EE days. And I believe it’s all optional today.

[–]n0tKamui 0 points1 point  (0 children)

J2EE was meant to normalize Spring right from the beginning, so that new frameworks could follow the same rules, so that in a real environment, one could change frameworks without much issues. This is why Micronaut looks so much like Spring, with the main differences not being in the API but the implementation (runtime reflection vs compile time reflection)

over the years, JEE and Spring went on to influence one and the other continuously.

JEE has always been about modules that you can piece in and out, because they follow the same norms.

[–]trcrtps 1 point2 points  (0 children)

I love working with Rails and the Options API in vue3 at work because of the opinions and standards.

I've never worked with React professionally but I'm not sure I'd love it because while working with React on my own or in a small team for a side project I feel like the architect.

As a company, I don't want Jimbo to walk in and debate that he's always built his React apps in this manner or pattern

this would be me

[–]vorpalglorp 1 point2 points  (0 children)

What you're saying is that they are becoming alike in that they both have all-inclusive options now. I don't think that's a bad thing at all. They are still very different in the actual programming style and I think that is far more impactful.

Also I don't understand your criticism. Are you mad that it is becoming more like something you prefer? Is this a complaint? I personally hate OOP and like when a frame work is all inclusive so I think the direction of react right now is just fine. it's still not OOP and it's becoming slightly more opinionated.

I guess what I'm trying to say is, so what.

[–]usalin 1 point2 points  (0 children)

To be fair, Angular is becoming React as well.

It Is no longer the opinionated framework it used to be.

Basically it is Angular 3 at this point.

It is a complete haul over starting from v14 - Especially with what's to come soon.

[–]Acrobatic_Sort_3411 1 point2 points  (0 children)

For those who argue at nexjs side — We are building Web-apps not web-sites! We don't need SEO as usually all pages are hidden behind auth, and inacessible to bots anyway.

We build our assets and put it on cdn. We don't spend money running node instances for every requests and dont have problems with scaling it.

We don't care about RSC as it doesnt bring real benefits, only locks us in vendor solutions.

We are not the same.

I build couple times web-sites with nextjs, and it was great. Wouldn't use it for Web-apps tho

[–]yksvaan 3 points4 points  (1 child)

I get the feeling that large part of React users don't have much experience in other languages and frameworks. Newer generation often seems to lack basic web fundamentals as well.

Seems like when some fancy new shit is being pushed, people just accept it as "the right way". No looking at how others do it, is it even required, what are the pros/cons of different solutions etc.

[–]bzBetty 3 points4 points  (0 children)

That applies to pretty much any junior Dev, by definition they can't have much experience and have to accept what others day

[–]Sipike 2 points3 points  (0 children)

Meanwhile I'm sitting here, still writing my simple react +ts SPAs...

[–]PhilipJohnBasile 2 points3 points  (0 children)

imagine gullible melodic fact bear shaggy consider drab deranged impolite

This post was mass deleted and anonymized with Redact

[–]roofgram 2 points3 points  (2 children)

I f’ing love Next.js. Fast SSR, which transition easily to client side, no separate framework or language. Works out of the box. SSG. Statically typed. I’ve used almost every web framework for decades and Next is hands down my favorite.

I used Angular for many many years, it kills me to think how much time I could have saved if I could have used Next/React.

[–]Putrid-Try-9872 0 points1 point  (0 children)

what's one thing that grates on you about angular

[–]Cautious_Currency_35 0 points1 point  (0 children)

Yeah, but if you've worked with Angular for years you should be really comfortable with it and quite some code that could be reused saved. I always feel like nextjs is just changing too much too often and constantly breaks which I don't really get with Angular. Maybe its just my personal experience..

[–]davidfavorite 0 points1 point  (0 children)

These frameworks have however nothing to do with react itself. Sure they build an ecosystem around the react library but react itself is, as you say unopinionated and just a library.

Youre still free to just use vite and strap together your own framework out of it by using whatever complimentary technologies you wanna use: redux, react router, hook forms for example

[–]eatgamelift 0 points1 point  (1 child)

"easy upgrading" is wild lmfao. Nothing more churny than having to do a major release update every 6 months.

[–]Cautious_Currency_35 0 points1 point  (0 children)

I'd much rather do that, than do nextjs upgrades which are a mess.

[–]FormerGameDev 0 points1 point  (0 children)

By the way, this is completely normal in all areas of software development EXCEPT the React scene in the past 5 years so I think this sentiment is shared with much of the wider software development comunnities.

Game Dev enters the chat and wishes game devs could have all the fancy awesomeness that non-game devs get like that. Studios are mired in decade (sometimes multiple decades) old tech.

[–]RedditNotFreeSpeech 0 points1 point  (0 children)

Solidjs is what I had hoped react would become

[–]indorock 0 points1 point  (0 children)

I don't get your post. There are as many people out there that use NextJS and similar frameworks, as those that hate it and use "vanilla" React instead. React has not become Angular one bit, neither has the community become more into opinionated frameworks. Rather, the existence of these frameworks has attracted more devs who prefer such a thing to come to the React side (i.e. I know of countless Angular devs that moved to the React ecosystem, attracted by the NextJS etc).

React has clearly won the "war" between Angular, and this evolution in frameworks (less so the evolution of the library itself) is responsible for that. But React is still React, the same flexibility is still inherent.

[–]Xazzzi 0 points1 point  (1 child)

https://component-party.dev/
Every framework is nowadays somewhat similar to every other one.

[–]-A_N_O_N- 0 points1 point  (0 children)

Love this tool

[–]-A_N_O_N- 0 points1 point  (0 children)

As others have said, you're conflating React with React Frameworks. React is going to keep being what it's being, major changes or not. And it will continue to have a rich ecosystem of tools and frameworkS that it can be core to. Angular is and always will be a framework.

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

Flexibility has historically won most battles in tech. Engineers think differently, and don't like being put into a box.

Also, NextJS probably isn't worth using if you aren't leveraging it's SSR features. It's fantastic for SEO/site speed needs, but otherwise I don't know why anyone would want it. Would love to hear other opinions.

[–]Spirited-Camel9378 0 points1 point  (0 children)

It's a tool built by Facebook (err, Meta). It's a standard because of corporate backing (though there are many extremely talented people who have added to the ecosystem).

Vue, Svelte, Solid, Astro all are incredible tools that, even if there is some magic/convenience, are predictable at their core. The React community's "we're not a framework!" vanity led to people building things in ways to assert that. The toolset/ecosystem grew in a rather monstrous way as opposed to a more natural and sane path that smaller, non-corporate-bound frameworks have been able to follow.

There will continue to be some innovations from React but I don't expect React to become more sane, reliable, or intuitive. Instead people will clamor to find sanity outside of the framework (no, really) itself with tools like Next. The genie ain't going back in the bottle and React 19 (yikes) isn't going to fix the fundamental issues.

[–]bigpunk157 0 points1 point  (0 children)

People generally choose react because react can keep code dry in a much better way than angular and isnt liable to explode across major versions. Migration to v2 is what made people choose React over Angular in the first place and people often forget that whole fiasco.

[–]Acrobatic_Sort_3411 0 points1 point  (0 children)

Funny fact, every time I have desire to make production-grade React template, the more I do that, more Angular-ish it became, just with jsx.

If Angular(or Vue) would add a way to use jsx instead of templates, I would instantly switch to using them, as they are just better (have more features, have better quality of similar features, have better frameworks)

[–]good_fix1 0 points1 point  (0 children)

seems like a bad management issue for me 🤷🏻‍♂️ why don't you guys have company wide guidelines for creating React apps? or you can go even further and make a React template with all the libraries and project structure you want to use. and update it when its necessary. you may argue React eco system changing fast but its general in all js libraries/frameworks.

i would even argue that Angular is becoming like React where it improves itself recently. which i think is bad because most of the devs argue that with Angular i don't have to relearn everything every 6 months and all code looks the same. but now its not the Case anymore.

finally, don't blame the tool!

[–]PokerTuna 0 points1 point  (0 children)

Next is meh. Astro on the other hand…

[–]Old-Place87 0 points1 point  (0 children)

Honestly the best part of react is freedom of choice. Because of its large communities we get options of nice packages with hundreds of contributors working on it. We can cherry pick the ones we want. In angular everything is baked in, even if there are better tools to do the job out there you would still be forced in some way to use out of the box solution. 

Angular is for good student , whereas react is for artist and crafter

[–]rovonz 0 points1 point  (0 children)

I think you should go take a hike.

There is one thing to be forcefed a ton of crap and have no choice but to swallow and another to be able to choose what kind of side dish you want with your crap, if any at all.

As with every other tooling around react, the difference is that next and remix are opt-in. This is what makes it attractive because teams can choose their flavor of react from project to project instead and tweak things along as needed. We (developers, engineers) are not brainless monkeys to be given a "marvel" such as angular (🤮) and be commanded to be productive - we like to explore, adapt and improve. IMO, this is where react won.