6 ms·
React and Remix choose different futures
- linkage 11mo agoWhat is the value proposition of Remix 3 then? If it's going to be incompatible with the official React ecosystem, why use Remix instead of more performant alternatives like Solid/SolidStart that don't have React's baggage?
- tacker2000 11mo agoYea, or Vue or Svelte?
- davey48016 11mo agoI haven't followed Remix 3 closely. What baggage are they taking from React apart from JSX?
- postalrat 11mo agoWhy use Solid when the developer experience of Remix 3 is so much better?
- 0xblinq 11mo agoThat’s subjective
- davedx 11mo ago> Breaking backward compatibility isn't collateral damage, it's the point. 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.
- dimal 11mo agoI went through the same pain with React Router. I would never consider using Remix or anything else from this team. It doesn't matter how great it might be or how much I might agree with the architectural principles. Who knows what shiny new idea they'll be chasing in Remix 4? I'd have to be crazy to trust them.
- 0x3f 11mo agoHonestly, it was often that I just hated NextJS enough to deal with the schlep of the Remix/RR churn. But now TanStack Start is a thing, so they've lost the 'only viable alternative' angle.
- codinhood 11mo agoIt's kinda wild to take something people really like and just keep re-writing it while keeping the same name. 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
- politelemon 11mo agoIt seems angular learned from it early on because upgrades have been a quiet affair since then. React seem to be set on repeatedly learning it.
- aloha2436 11mo agoReact itself is still the same fundamental product, not something you can say for Remix or Angular.
- Tade0 11mo ago
- epgui 11mo ago> Simplicity (explicitly control when things update) 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.
- o11c 11mo agoI have no real knowledge of React from the developer side, but as an ordinary user who occasionally pokes around in dev tools to assign blame, React clearly is failing at Simplicity. 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?
- epolanski 11mo agoReact is a mess, Ivy league engineers building messy, slow, sloppy, inaccessible, full of memory leak websites should be a clear sign this is not a technology that fits most use cases. 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.
- badbotty 11mo agoI'm a React dev and have been mentoring a junior. React's hooks, when and why they run, is very unintiuative for them. Skill issue is part of it, but React's immutable prop diffing forces the use of hooks and understanding how the framework uses them. Moving to a re-render model which always rebuilds the vdom tree allows callbacks, state to be defined outside of the render method without framework abstractions wrapping them. I'm not familiar with what Remix is doing but it looks a lot like Mithril.js, and working with Mithril is really enjoyable after working with React for as long as I have.
- swyx 11mo ago> Remix 3 chose Simplicity 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
- lefrenchy 11mo agoIt seems like they need the self-awareness to say "if we have gotten it so wrong that we needed to drastically lift and change the foundation multiple times, then maybe we need to rethink our first principles"
- tacker2000 11mo agoWell I hope Shopify will have enough third party app developers in the future, now that they have moved everything to GraphQL and Remix (and killed all the other SDKs, like PHP for example), and now that we willhave a non-React Remix soon. Im pretty sure not many devs will switch to Remix just to work on Shopify Apps…
- theturtletalks 11mo agoI'm convinced Shopify only bought Remix since so many Shopify shops started using Next.js as an external storefront. Shopify realized their moat was dissapearing and if users could roll their own storefront, they were one step closer to rolling their own backend.
- jadbox 11mo agoGraphQL is such a pain. The SDKs are usually bloated. Debugging is a nightmare. Documentation on those APIs feeling adhoc. Outside of rare use-cases, I feel like 99% of the time GraphQL is engineering overkill than a simple resource-based REST interface.
- tacker2000 11mo agoYea, i also dont like GraphQL. Why they needed to replace the good old REST interface, which was working perfectly, I will never understand. 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...
- 0x3f 11mo agoThe funniest thing about GraphQL is when it's set up to only allow specific whitelisted queries. Incredible.
- no_wizard 11mo agoAutomatic type a client generation that is extremely mature. 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
- hitekker 11mo agoI’ve been enjoying Vue recently. Its API so far feels like an acceptable cognitive overhead over the raw DOM. Plus, Evan You seems like a pretty stable and drama free maintainer.
- d13z 11mo agoI love the idea of converge with the web and also like the simplicity of being able to see what is happening. I've also experienced the despair or having to debug the internals of a library or a wrapper of a wrapper of a wrapper somebody thought was a good idea to make. But I wonder how the future in a LLM powered world could look like. Will LLMs privilege code that require less tokens to read and to write? Will verbosity become a monetary problem? Will short implicit Frameworks take the lead? I wonder if frameworks will start to optimize for machines or people.
- jakubmazanec 11mo agoThis is what they should have done: what is now React Router v7 should have been Remix v3, and what is now Remix v3 should have had a new name - it's a new framework that ostensibly makes different choices, new name is a must! They told us for years that Remix is just React Router with additional framework features. That made sense.
- dcre 11mo agoI think absorbing into React Router makes more sense when you consider that a) most of Remix was just RR, and b) Remix had at most 5-10% the users that RR has[0] (probably fewer). I think the "modes" distinction[1] within React Router is easier to understand and explain than a separate framework wrapping RR. [0]: https://npmtrends.com/@remix-run/react-vs-react-router https://npmtrends.com/@remix-run/react-vs-react-router [1]: https://reactrouter.com/start/modes https://reactrouter.com/start/modes
- JSR_FDED 11mo agoIt mystifies me why Mithril isn’t used more - this sounds more and more like Mithril
- simplify 11mo agoYeah, Mithril got this right over 10 years ago. Still good to see at least one big player finally catching up. React's state model has always been a pain to work with.
- kevinfiol 11mo agoHaha I said the same thing when I saw it. `this.update` is essentially Mithril's `m.redraw`, which has been around for almost 10 years at this point, and Mithril was already popular for allowing you to use regular `let` variables as state. Everything old is new again!
- bsimpson 11mo agoI didn't know there was a new version of Remix distinct from React Router until I read this post. I thought React Router v7 was Remix merging back in, and that the Remix brand was dead. 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.
- dcre 11mo agoI am excited about Remix 3 and I've been following all their work for years, but I agree about the naming — when Ryan said at React Conf 2024 that Remix wasn't going away, but just "taking a nap", they should have taken the universal confusion that ensued as a sign that they should pick a new name.
- tills13 11mo agoWhy does every blog nowadays read this way -- quick, witty, sentences "x wasn't the problem, it was the point" (or whatever) and have these section headers that are full thoughts? Or is this just more AI slop?
- stack_framer 11mo agoI really like the ideas touted by the Remix team, particularly (1) use the platform, (2) favor simplicity, and (3) make code more explicit; however, their implementation has always felt ... loosey goosey ... for lack of a better way of saying it. Their plodding approach to announcing v3 at Remix Jam had the same feel—lacking any real wow factor other than, "we're done with React." 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.
- 0xblinq 11mo agoWhat terrifies me about Remix 3 is Remix 4. 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.