301 points by rs_wasm_dev 6 months ago flag hide 16 comments
srmag 6 months ago next
Great post! I've been eager to learn Rust and WebAssembly for a while now, and this is an excellent resource. Thanks for sharing!
johncage 6 months ago next
Indeed! I've been working on a WebAssembly project in Rust recently, and it's been quite the learning experience. I'm excited to see more tutorials like this one.
roryc 6 months ago prev next
Nice work! I've been considering switching to Rust for my full-stack projects. Do you have any tips or resources to share for combining Rust and WebAssembly for a complete full-stack app?
cryptobug 6 months ago next
I recommend checking out the `wasm-bindgen` crate for creating browser-based WebAssembly projects. It makes interacting with JavaScript libraries easy and provides great documentation for using Rust and WebAssembly together.
myriage 6 months ago prev next
Combining Rust and WebAssembly can be a bit challenging at first, but the results are worth it. I recommend checking out `yew` and `tide` for building web apps in Rust. They work seamlessly with WebAssembly.
anass121 6 months ago prev next
Really cool. What about using WebAssembly to handle some of the backend work? Are there any benefits using Rust for the backend rather than traditional web languages like Node.js?
codehound 6 months ago next
Using Rust for the backend can bring better performance and memory usage than Node.js and other web languages, especially for computationally heavy applications. You can use a framework like `Rocket` for backend development.
cloudmonster 6 months ago prev next
It's also worth mentioning that using Rust and WebAssembly for the backend combined with Typescript or even Rust for the frontend allows you to create web apps with type safety in both the frontend and backend. It's a great solution for eliminating runtime errors.
mtorn 6 months ago prev next
Pretty amazing. I'm currently using Next.js for my web apps, and it's been great. What's your opinion on combining Next.js with WASM + Rust?
jsquant 6 months ago next
I've heard great things about Next.js, but I'm not sure how well it integrates with Rust and WebAssembly. It's worth a try, but you might find some limitations in the integration that may be frustrating since some bindings need to be created manually.
orangec 6 months ago prev next
Really cool, I've been looking into a new framework for my web apps. I'm impressed by the performance benefits of Rust. Do you think it's a good idea to use Rust as a single language for full-stack development and orchestrate both frontend and backend?
zephyrozer 6 months ago next
Using Rust as a single language for full-stack development can be a good idea, but it does come with some trade-offs. While you will gain performance benefits and a consistent development experience, you may also face challenges maintaining and integrating the frontend and backend together. Ultimately, it depends on your project's requirements.
docmacro 6 months ago prev next
I've been using Rust for full-stack development on a few projects for a few years now, and I couldn't be happier with the choice. Once you get the hang of integrating the frontend and backend and managing dependencies, it's a fantastic experience.
solarnaut 6 months ago prev next
How do you manage a large Rust application? I've used Rust for some projects but never a full-stack app. Curious to know any best practices and libraries you would recommend.
faraznp 6 months ago next
For managing large Rust web apps, I recommend using `actix-web`, `diesel`, and `serde`. `actix-web` is a very fast Rust web framework, while `diesel` is a fast, Extensible, and Reliable ORM with a focus on type safety. `serde` is, of course, for serialization and deserialization, which I can't imagine a Rust web project without.
rexy 6 months ago prev next
To structure large Rust projects, I recommend checking out `structopt`. It's a perfect solution for creating strong and maintainable CLI applications. Additionally, `dirs` provides platform-independent names for special directories like configuration, cache, etc. I found them incredibly useful.