i have no dog in this fight and am friends with both but i think this is probably too much leaning into Remix's messaging. i think easier to think about it as "Complex inside" (React) vs "Complex outside" (Remix) - pull up a bunch of equivalent side by side code examples of both to see (this was basically all of react twitter in the month since remix relaunched)
of course React has let the complexity leak and leak and leak over the last 5 years so now the messaging isnt as neat
I gave Remix a serious try some time ago, but the tutorials seemed rushed and the documentation felt incomplete (some of the referenced APIs were seemingly undocumented).
I would love to see something unseat React—I've never liked hooks—but I don't think Remix will pull it off.
As an aside, I wonder what Shopify's app developers think about the move away from React. I know they're all in on React Native.
If they're looking to have a Remix v3 distinct from React Router, they probably shouldn't have
> The latest version of Remix is now React Router v7
at the top of all their docs.
I’m not saying this is wrong, but it’s a very very weird notion of simplicity. It reminds me a bit of how C++ engineers argue that for loops are simpler than comprehensions.
If everyone came from a purescript/fp background the story would be different.
There are so many React websites where I see weird update bugs (e.g. updates for some parts of the page delayed by 3 seconds [not blocking render, the rest of the page is updating], or total wipe of something instead of incremental upgrades - weren't these the very problems React was supposed to solve?).
Mere excessive bloatedness I don't blame React for; all sorts of web dev fails at that.
===
The main question I have for Remix is: does the explicit `.update` trigger immediately, or does it wait so it can coalesce multiple updates?
In react's devs defense, they've said multiple times you should not use it if yours is a website and not really really an app on html, but people keep thinking their website is different and keep producing abominations like the new GitHub.
Plus, Evan You seems like a pretty stable and drama free maintainer.
LOL, if you say so.
Honestly, I don't know how anyone decides to build something on top of the software the react router team puts out. I went through approximately 2 major version upgrades of react router then decided I was done with it unless I had no other choice.
Why do people think being left with huge upgrade tech debt time and time again is worthwhile? There are just so many other choices out there these days. Why you'd choose this "different future" now is beyond me.
They were around when Angular 1 -> Angular 2 right? No one liked that. Angular 2 is good but calling it Angular 2 when it was so different put a bad taste in everyone's mouth.
Google did that because they wanted the Angular userbase, but that alienated a bunch devs and many decided to switch to React (me included) instead.
Seems the remix/react router team is trying to do the same. They built something popular, and they want to use that to launch their new ideas.
They want to have their cake and eat it too, a built in userbase and explore new ideas. I get it, but why not use another name so people don't get confused or frustrated?
It's just exhausting
I'm okay with that, because when it came out I was considered part of the Angular workforce, so I was hired to work with a framework I knew very little about at the time.
These guys are really, really obsessed with download counts. They brag a lot about that in twitter every time they have a chance.
What they want to reuse is the package name.
So now they launch whatever bullshit they are playing with now under the “remix” package and the next day they’ll say “look… we have N thousands downloads per second!!! We are so successful”
They did this multiple times. And will keep doing it because they are obsessed with this.
We’re looking at Tanstack Router when we get around to it.
I tried their "get started" project with the newly typed routes, and it feels too complex, and unintuitive, the purpose of a framework is to make your life easier, and it's sad to see people with this much talent missing the goal, I won't be using react-router for future projects.
Reading the article as a whole feels like it was written by a person, but the moment I see this, the "it's not X, it's Y" pattern matching my brain has developed for LLM speech kicks in and I suddenly feel a negative bias toward the content.
But now TanStack Start is a thing, so they've lost the 'only viable alternative' angle.
Because e.g. 1) defining routes using React components isn't good idea, because then you have to first render the app before you know which routes are defined; 2) It's useful to be able to specify what data a route needs. 3) React moved to hooks because they compose better; Etc. The APIs were reworked (but only a few times over many years) so they could be better. Software design is iterative and that's what the major version number in SemVer is for.
Im pretty sure not many devs will switch to Remix just to work on Shopify Apps…
The tech team there seems to be making some shortsighted decisions in the last couple of years. Lets see if its going to bite them in the long run...
Even when using OpenAPI it’s not as good
GraphQL has validation built in, that’s another big one. For non complex and non-specialized types it validates against the schema quite well.
Query caching is dead simple and quite good
That is… I wouldn’t even think about using it because it’s very likely they will change their mind next year and come up with something totally different. Again.