Man, I love Next ... but I also love Vite ... and I hate the Next team, because they focus on fancy new features for 0.1% of their users, at the complete expense of the other 99.9% of the Next community (who they basically ignore).
This gives someone like me everything we want. Better performance is something the Next community has been begging for for years: the Next team ignored them, but not the Cloudflare team. Meanwhile Vite is a better core layer than the garbage the Next people use, but you still get the full Next functionality.
I wish Cloudflare the best of luck with this fork: I hope it succeeds and gets proven so I can use it at my company!
React was originally meant to be the 'V' in MVC. You can still use it that way and React becomes very simple when you only use it for UI. Why do data fetching in a React component?
Rails 8 is surprisingly good nowadays. It absolutely still has its share of problems (e.g. Bundler being slow, the frontend story being crappy without Inertia, lack of types which is a biggie, memory) but it is still a fantastic framework imo.
Why Inertia.js? I quite enjoy not using JS heavy frontends in Rails by leaning on Turbo and light Stimulus JS controllers where needed. My experience going hard into Vue+Rails was full of pain and I've rediscovered why server first makes everything easier to reason about instead of duplicating tons of logic + dealing with constant async issues (particularly around automated testing and complex data loading).
Inertia because it’s a plug-in replacement for ruby html templating aka erb. Try it out, it’s basically the same stuff you get from erb, without the need for Turbo’s web sockets. You get server side rendering, all the great BE stuff like server side validation, but no SPA headache.
I find the best DX with Adonis/nodejs and typescript.
I miss Rails so much when working with any of the top JS frameworks.
Every time I run into an issue that Rails had a standardized solution for a decade ago just proves that most of the JS world spends their days metaphorically digging holes with sharp sticks, rather than using the appropriate tool.
But the industry values overpaying stick-diggers over results, therefore I gotta play along…
Shilling a bit but maybe check out wasp.sh, we are conceptually very similar to "Rails for JS"! Just don't tell Claude to completely copy us hehe (pls)
Nothing personal and I wish you the best of luck with wasp.sh, but the constant churn of new libraries that will revolutionize JS development, but are never quite finished and are eventually abandoned in a semi functional state is exhausting and exactly the main issue I have with the JS ecosystem in general.
At this point, I'm convinced there's a secret global conspiracy to prank JS developers. For example 1 person maintaining 3 similar-but-distinct decimal libraries for Javascript, or the top 3 PDF processing libraries silently producing blank outputs.
I get that people like but I really cannot stand most of the decisions it made. The worst of all is auto imports which every language has rejected: https://bower.sh/on-autoloading
Rails powers nearly 15 percent of the US e-commerce. I love it. Any time I have to use another framework it feels like a huge downgrade. Rails has so many things that make it nice to use
It's terribly painful to go and have to import everything you want to use when you want to use the Elixir console. That alone makes it not worth it to me.
You can find specialized roles than Rails and usually more experienced (understandably) but most companies would be really open if you told them you have a Rails background but want to learn Elixir.
The pool size is less, but the pay is more (depending on your demographics, experience, etc) in my personal experience.
But, honestly I chose it not for the market, it's just a better programming language to build stuff, period.
The basic premise of Next is good, but it definitely has more overhead that in should, has odd "middleware", and is very hard to optimize. I view this mostly as a React problem though since any page requires full hydration and ships everything to the client. RSCs are... not my favorite for sure.
I too have been very frustrated by this, and I made an "Astro for dynamic sites" TypeScript framework called Hyperspan ( https://www.hyperspan.dev ) that aims to fill the gap in the JS ecosystem for a modern fully dynamic option that, similar to Astro, makes dynamic islands easy. I have enjoyed using it in all my own projects. Check it out if you want.
RSC by design does not ship everything to the client. That's one of its basic premises. It ships markup, composed in client interactivity, but you can shed a lot of the code required curate that markup.
I obviously meant traditional React components, not RSC. RSC can eliminate some client code, but they can be very awkward to use in practice, and lines between server and client get blurry really fast. The mental model is difficult for many to fully grok. I say this as someone who has lead engineering teams with folks of varying skill levels. RSCs are not worth the extra complexity and mental overhead they bring.
at my job we have some 7+ year old nextjs apps that don't receive new features but still do their jobs perfectly fine, and they keep changing random shit around for no reason, we've had to waste time on multiple refactors already for major nextjs version bumps once the older ones are no longer supported
Is there any front end framework that doesn't do this? I dropped out of the front end years ago, and it seems to just get worse every year with a profusion of confusion. Doesn't anyone yearn for back when we didn't have to build the front end at all?? Just emit some HTML and serve up some JS files from the backend, and everything just flows from there?
Someone go make an AI rewrite of Apache+Mod-PHP and sell it to zoomers as the hip new thing already please
I know everyone loves to hate Angular but it is in a really good place at the moment. If you don't need SSR and just want to build an SPA, Angular is the way to go imho.
Is there any reason to keep upgrading if the apps keep doing their jobs perfectly fine? Pull in a stable version of the framework and the associated docs and stay there.
I'm moderately hopeful that LLMs will help here because they lack the human motivations to needlessly mess around with stuff and over-complicate things.
Was Linux owned by a large company? Was the maintainer getting paychecks from that company? Was it profit motivated? Was it released as an AI experiment?
If the similarity is "they are both open source projects" then so are about a million others. 99.99% of them don't get any traction beyond the first week.
what if we all move to vinext? I'm asking claude to migrate us in a git worktree using a team of agent, installed the vinext skill to help with that, it did it in 10min
also why do you need support? agents are the support
What is it you love about Next that isn’t tied to Vercel and isn’t available elsewhere? I love Next too but I find the value is inextricably linked to Vercel. I can’t imagine choosing to use Next if I’m not choosing it for Vercel’s fancy stuff.
It is hilarious to me that the industry has reinvented serving HTML to clients, but with many intermediate steps, and this is heralded as groundbreaking.
I still just prefer having a more clear separation of concerns with API routes instead of using server components. I want my frameworks to be way less fancy than what Next is pushing out these days. I get the feeling we're dealing with the consequences of Vercel employees needing to justify their promotions.
React and RSC are not dope they are a kludge and the only reason you’re blind to that fact is because you’re React brained and have no experience with modern alternatives that are actually good like SvelteKit or SolidStart.
Weird, I hate Next and I love Vite. We have a big (I mean _really_ big) production app that runs on Next.js at work and it's the slowest thing I've ever worked on. I had to upgrade my machine to an M4 Pro just to get local dev compile times down from 5-8 minutes to ~30-60 seconds per route. And my hot refreshes are down from ~15-20 seconds to 5-10. It's _bad_. All the Next.js team does is give you the run-around and link to their docs and say here, try these steps, you're probably doing something wrong, etc. Nope. The framework is just slow. They use simple toy apps to demo how fast it is, but nobody tells you how slow it is at scale.
If you are using webpack, see if you can make the switch to turbopack. It cut my build times from ~1 minute to 15 seconds, incremental builds are down from 10 seconds to 2. Memory usage is down a ton as well. But if you rely on webpack plugins this may not be an option for you.
I've been pushing our apps at work in this direction and it's definitely worth it.
If you're relying on webpack plugins heavily, I'd consider that a liability either way. It's going to seriously hamper your portability to other frameworks and build tools and even new versions of the current ones.
You can easily run turbopack for development / preview environments and webpack for production(-like) ones btw. as long as you don't rely on custom magic.
It may be sacrilege to bring it into this conversation, but I've spent the last year building a fairly large community site in Nuxt, vite has been wonderful, though I prefer vue over react. I am a little annoyed I paid for NuxtUI Pro like 3 months before it became free, but whatever.
Yeah, Vercel should have done this with NextJS a while ago. There is a reason why quite literally every other framework uses Vite because it amazing, easy to use, and easy to extend.
I mean you don't want really want to use javascript for the backend anyway... What's the problem with just using vite and any backend of your choosing?
This gives someone like me everything we want. Better performance is something the Next community has been begging for for years: the Next team ignored them, but not the Cloudflare team. Meanwhile Vite is a better core layer than the garbage the Next people use, but you still get the full Next functionality.
I wish Cloudflare the best of luck with this fork: I hope it succeeds and gets proven so I can use it at my company!