Web development

Rust's async I/O system allows you to build highly concurrent server applications, its WebAssembly compiler target makes it possible to write applications that run within the browser, and the crates.io library repository provides reusable libraries for most web standards and framework needs.

History
Rust was first publicly announced to the world as part of "Project Servo," a research project at Mozilla, the non-profit behind the Firefox web browser. Servo is a research project to design and implement a web browser for highly multithreaded computers, and is implemented primarily in Rust. Rust and Servo were mostly designed and implemented together up until Rust's 1.0 release, and both of them provide feedback for each other. Some well-isolated parts of Servo, like its implementation of CSS, are now being used in Firefox.

After Rust's stability plan was announced and crates.io was set up, the stage was set for a more well-rounded set of libraries to be developed. The first tagged release of Hyper, the most popular implementation of HTTP in Rust, was made in January 2015, a few months before Rust 1.0's release in May. Crates.io itself initially relied on bindings to a C library called civet for its HTTP server, though they are now working on migrating to hyper.

Many of Rust's web libraries are maintained by Mozilla under the Servo organization, such as the url crate. Others, like hyper, are independent projects. There are also frameworks and wrappers that use the lower-level libraries behind an easy-to-use facade for developing applications.

WebAssembly
Tutorial: Compiling from Rust to WebAssembly on MDN

Other web development crates
- GraphQL server library

- HTML sanitizer

- DOM manipulation library for HTML and XML

- DOM manipulation library for HTML and XML