Hacker News new | ask | show | jobs
by legerdemain 1267 days ago
What? No. If you treat Solid/React/Vue as "client frameworks," you miss out on 80% of their purpose, things like server-side rendering, client-server isomorphism and sharing types across a network boundary, server components, smart hydration, and recent novelties like the "island architecture." All of these things rely on having full-stack JS, client and server.

I've used Actix. I'm fine with Actix, and I'm sure it works great for web APIs in production environments. But if you have GUI-based web applications or even just e-commerce in mind, that world has moved on from a simple bright line dividing client and server yeeeeears ago, and it has mostly converged on the kinds of full-stack JS architectures that React/Solid/Vue/whatever are pushing forward.

There is basically no story in the Rust ecosystem for the production story that Next/Remix/etc/etc are enabling. Compiling to WASM or serving WASM payloads, yes, pure web APIs, yes, "modern web apps," no.

2 comments

Again, those are for displaying data on a frontend, even if the content itself is server side rendered. Actix and others are made for API servers, ie authentication of users, accessing the database, performing computations, and returning the resultant JSON. You can return HTML too which is what I suspect you're referring to but most people simply use frameworks like Actix or express as a backend API server which connects to a client-side frontend or something like NextJS.
Solid, Svelte, React and Vue are component frameworks and are client frameworks. In production, you have to bring in Next, Nuxt, SvelteKit, SolidStart, Remix or similar which are the "full-stack" frameworks using the component frameworks.