You can use a v1 folder for your v1 functions. The server identifies functions by path and name of the action. Similar to a url. So like a url if you want a new one, you'd create actionNew, and if you move the location of the function it would break old versions without a redirect.
I get what you’re saying, but you can use React without RSC just fine. Next.js might be pushing RSC, but using Vite and normal React is fine. Hell, even the pages directory still works in Next.js and it has no RSC.
I would argue that unless your need SEO there is no reason to reach for Next.js or any other react framework. The default should be vite and client only. Everything else only serves corporate interests.
The default should be SSR / SSG. Client only is a recipe for a slow web. Client loading is mainly appropriate for long running apps, like GMail, where users tolerate a slow initial load because they're keeping the tab open for a long time. There's a reason the Jamstack mascot is a loading spinner.
“I installed some third-party PHP software and didn’t turn on auto-updates for that software, and then my server got hacked” is a hit on your server admin skills, not PHP.
The attack vector was directly through php. Everything was upgraded to the latest. It was the theme that was hacked. How that is related to admin skills makes no sense.
If it was the theme that was hacked then it wasn't PHP it was the design of wordpress and the theme specifically. Almost all hacks of wordpress are not due to workpress itself but due to the themes and extentions.
If it was written in another language you'd have the same problems with the same architecture.
Wordpress gets exploited because it's popular, not because it's written in PHP
I would argue that unless your need SEO there is no reason to reach for Next.js or any other react framework. The default should be vite and client only. Everything else only serves corporate interests.
The default should be SSR / SSG. Client only is a recipe for a slow web. Client loading is mainly appropriate for long running apps, like GMail, where users tolerate a slow initial load because they're keeping the tab open for a long time. There's a reason the Jamstack mascot is a loading spinner.
Maybe for public facing sites with minimal interactivity. But at that point just use something more basic. For web apps, client only is the way to go and way simpler to maintain. It’s not even close.
I would argue that unless your need SEO there is no reason to reach for Next.js or any other react framework. The default should be vite and client only. Everything else only serves corporate interests.
What if I don’t like preloaders and content flashes?
I build web apps without loaders. There’s maybe a brief flash before content loads but it’s less than 1s ttl. People just want to slap loaders in front of everything because they have been duped into believing react-query is the state mgmt solution for react. It isn’t, it’s lazy programming.
The default should be SSR / SSG. Client only is a recipe for a slow web. Client loading is mainly appropriate for long running apps, like GMail, where users tolerate a slow initial load because they're keeping the tab open for a long time. There's a reason the Jamstack mascot is a loading spinner.
Maybe for public facing sites with minimal interactivity. But at that point just use something more basic. For web apps, client only is the way to go and way simpler to maintain. It’s not even close.
I agree, client only is choosing DX over UX. Slow loads, bad for mobile, loading spinners, flashing content. Which is why Next.js is awesome, it abstracts all of that away for you, so you still get fast sites without sacrificing DX.