Remix.run Logo
Demiurge 5 days ago

Maybe this is a good place to ask... but I was actually considering Next.js as a replacement for Gatsby.js project that is a few years old, but is growing at a steady pace. Given all the negative sentiments, what are better alternatives? I don't even use any SSR, or GraphQL capabilities. The main thing I liked about gatsby vs previous "bring your oown library(router)" are: very little configuring, nice dev server, easy to use plugins. It just solved many of the boilerplate tasks for me, and let me get on with react.js components, hooks, etc. I use Django backend for API, and static hosting for the frontend.

Potential alternatives I've found:

  * astro
  * remix
  * back to react-router... and there were multiple back when I used it! :(
Update: after some research, I really Tanstack router approach: https://tanstack.com/start/latest
theSIRius 4 days ago | parent | next [-]

We've started a Tanstack Start project at work for a green field project, and it is honestly a mixed bag. It took a lot of trial and error to get the whole project working - the server parts were working without an issue, but there was no client hydration. After some debugging, we have found that there was an error being thrown during data preload which took down the hydration process. No errors were emitted, and the docs weren't were helpful at all.

But once we got that out of the way, it is pretty nice to work with. The FE developer is very happy with how fast the project is and how easy it is to just peek into the BE portion and understand it. Server functions are just so nice to use and everything gels together really well. But it's still early days though. I would only recommend it if you are OK with parsing not-really-great documentation and maybe some relevant GitHub issues from time to time.

Demiurge 4 days ago | parent [-]

Thanks for sharing! :)

mpeg 5 days ago | parent | prev | next [-]

FYI remix doesn't really exist anymore, it was folded into react-router a while back.

Astro I've found to be pretty solid for prototyping, I like that it gives you control over the rendering of client side code islands and that it works with multiple rendering libraries. I don't love some of the direction they've taken lately though, and I worry that it will become bloated with things like astro db

soiltype 5 days ago | parent | prev | next [-]

I've rebuilt multiple gatsby projects in NextJS recently, and mostly it's actually been pretty nice. However, the crazy high level of abstraction and black-boxing does mean occasionally we run into bugs caused by undocumented behavior and have no idea what is the right way to handle them.

Demiurge 5 days ago | parent [-]

Hmmmm, that sounds like it would work, but is also a bit concerning :) I’d rather not have some mystery bugs, and considering all the open issues in GitHub…

hungryhobbit 5 days ago | parent | prev [-]

Say anything negative you could possibly say about Next ... and it will apply a thousandfold to Gatsby.

Likewise React Router is ... the example I use when I want to tell someone about a terribly engineered library. As you said, there are multiple React Routers, because the developer is completely incompetent, and has no idea what he is doing. As a result, he changes the entire library in massive, backwards-incompatible ways ... EVERY. NEW. VERSION.

Astro and Remix are viable options, but there's a reason why Next (despite it's flaws) remains dominant over them.

jakubmazanec 5 days ago | parent | next [-]

React Router v4 was released in was released in March 2017 (more than 8 years ago!). v5 was released in May 2019 with no API changes. v6 was released in November 2021 with a new API based on React hooks (this API was much better than the previous). v7 was released in November 2024 with the "Remix" APIs (most importantly the "framework mode"). So, the gaps are 4 years and 3 years - that's doesn't seem that crazy.

I personally updated Remix v2 project to React Router v7 and because I used various flags to prepare for the upgrade, it was done without any issue and fairly quickly.

> entire library in massive, backwards-incompatible ways ... EVERY. NEW. VERSION

So a new major version has some breaking changes? Why is that surprising?

Demiurge 5 days ago | parent | prev [-]

Any thoughts on the Tanstack libraries? We use their query library, and ironically, it reminds me of ext.js tiny bit, but it's been pretty consistent.