Live data from Hacker News

Using Rust Back End to Serve an SPA

nguyenhuythanh.com

1–10 of 14 posts

Re: Using Rust Back End to Serve an SPA

#4
Are there any approaches which implement server-side rendered SPAs with Rust? In that case Rust would render the HTML for the first load and server JSON APIs for changes in the SPA. Rendering the HTML is performance-intensive in my experience, using Rust could save up quite some computational resources.

Just serving static files from Rust is not that interesting. It definitely does not sound easier to me, since you are coupling deployment of both BE and FE with no resource optimization to get. Also, since built SPAs are essentially static files, their deployment could be just uploading these files to your CDN.

Re: Using Rust Back End to Serve an SPA

#7
Dropping the static files on a CDN (eg. cloudflare pages) is pretty straightforward, cheap (and free), and doesn't impact your backend in terms of complexity or performance.

Your usecase can be useful for "local web applications" where you ship a binary and you get a local webui - but at that point, why not just build a Tauri app? (not electron as you would be shipping an extra browser instead of reusing the system one)

Re: Using Rust Back End to Serve an SPA

#8
post #4

Are there any approaches which implement server-side rendered SPAs with Rust? In that case Rust would render the HTML for the first load and server JSON APIs for changes in the SPA. Rendering the HTML is performance-intensive in my experience, using Rust could save up quite some computational resources. Just serving static files from Rust is not that interesting. It definitely does not sound easier to me, since you a…

> Are there any approaches which implement server-side rendered SPAs with Rust? In that case Rust would render the HTML for the first load and server JSON APIs for changes in the SPA

Yes, frameworks like Dioxus (https://github.com/dioxuslabs/dioxus) implement next.js-like "fullstack" SPAs in Rust (the client-side code compiles to WASM).

> Rendering the HTML is performance-intensive in my experience, using Rust could save up quite some computational resources.

The server-side performance is indeed much better than JS alternatives (client-side performance is more or less the same).

Re: Using Rust Back End to Serve an SPA

#9
post #4

Are there any approaches which implement server-side rendered SPAs with Rust? In that case Rust would render the HTML for the first load and server JSON APIs for changes in the SPA. Rendering the HTML is performance-intensive in my experience, using Rust could save up quite some computational resources. Just serving static files from Rust is not that interesting. It definitely does not sound easier to me, since you a…

I think there is Dioxus and Leptos if you want full-Rust solutions for SPAs. You're right that CDN is another thing that I forgot considering, too. Can you elaborate more on "coupling deployment of both BE and FE with no resource optimization"

Re: Using Rust Back End to Serve an SPA

#10
post #4

Are there any approaches which implement server-side rendered SPAs with Rust? In that case Rust would render the HTML for the first load and server JSON APIs for changes in the SPA. Rendering the HTML is performance-intensive in my experience, using Rust could save up quite some computational resources. Just serving static files from Rust is not that interesting. It definitely does not sound easier to me, since you a…

I think there is Dioxus and Leptos if you want full-Rust solutions for SPAs. You're right that CDN is another thing that I forgot considering, too. Can you elaborate more on "coupling deployment of both BE and FE with no resource optimization"

How would you compare the two (Dioxus and Leptos)?

The link to Leptos is https://github.com/leptos-rs/leptos for those who need it.

Post reply on HN