Are we web yet?

Yes! And it's freaking fast!

Rust has mature and production ready frameworks in Actix Web and Rocket, and newer ones like Warp and Tide. These provide everything you’d expect from a web framework, from routing and middleware, to templating, and JSON/form handling. There are crates for everything, and more! For databases, there’s:

There are many integrations to third-party services , such as:

And of course, there is plenty of support for basic web needs, like logging , authorization , templating , and email .

Can I replace my Rails/Django/Laravel app already?

Rust does not have a dominant framework at the level of Django or Rails. Most Rust frameworks are smaller and modular, similar to Flask or Sinatra. Rust does have a diverse package ecosystem, but you generally have to wire everything up yourself. Expect to put in a little bit of extra set up work to get started. If you are expecting everything bundled up for you, then Rust might not be for you just yet.

WebAssembly???

Rust can run on the browser by compiling to WebAssembly . This means that you can take advantage of the amazing Rust ecosystem on the browser! Rust and WebAssembly integrate with existing Javascript tooling like NPM, Webpack, and ECMAScript modules! There are some awesome Rust and WebAssembly projects out there. For example, Yew and Seed let you create front-end web apps with Rust in a way that feels almost like React.js.

For more information about Rust and WebAssembly, check out the Rust and WebAssembly Book.

Getting started

After you’ve set up your Rust and worked yourself through “The Book”, you might want to check any of these resources:

There are also some real world examples that can be looked at for reference:

If you find yourself stuck and looking for help, you can check out the official Rust forum, the Rust tag on Stackoverflow, or the Rust Discord server where you are welcome to post your questions and will find excellent help.

In detail

Learn more about the state of web development in Rust by topic: