A comparison of some web frameworks written in Rust.
This overview only contains frameworks that work on stable Rust.
- Rust web framework comparison
- Table of Contents
- Frontend frameworks (WASM)
- Server frameworks
- Client frameworks
- Supplemental libraries
- Resources
- Blog posts
- Demos
- Real-world web projects using Rust
- [JS & asm.js & WASM](#js--asmjs--wasm)
Since WASM support is available in most browsers we can use Rust to build web applications :)
Name | Repo | Docs | License | Version | Stars | Contributors | Activity | Virtual DOM | SSR |
---|---|---|---|---|---|---|---|---|---|
yew | yes | no | |||||||
Seed | yes | no | |||||||
sauron | yes | yes | |||||||
mogwai | no | yes | |||||||
dominator | no | no | |||||||
Sycamore | no | yes | |||||||
Dioxus | yes | yes | |||||||
MoonZoon | no | ||||||||
Silkenweb | no | yes | |||||||
percy | yes | yes | |||||||
frender | yes | no |
Name | Repo | Docs | License | Version | Stars | Contributors | Activity | Virtual DOM | SSR |
---|---|---|---|---|---|---|---|---|---|
dodrio | |||||||||
draco | |||||||||
dumle | |||||||||
mika | |||||||||
ruukh | |||||||||
smithy | |||||||||
squark | |||||||||
stdweb | |||||||||
willow |
This overview only contains frameworks that support async execution.
- actix-web (homepage / repository / documentation / examples)
- axum ( / repository / documentation / examples )
- gotham (homepage / repository / documentation / examples)
- rocket (homepage / repository / documentation)
- Thruster ( - / repository / documentation / examples)
- Tide ( - / repository / documentation / examples)
- warp ( - / repository / documentation / examples)
- salvo ( - / repository / documentation / examples)
- trillium (homepage / repository / documentation / user guide)
- Poem ( - / repository / documentation / examples)
Name | Repo | Docs | License | Version | Stars | Contributors | Activity | Async | HTTPS | HTTP/2 | Client |
---|---|---|---|---|---|---|---|---|---|---|---|
hyper | yes | yes | yes | yes | |||||||
tiny-http | no | yes | no | no | |||||||
actix-http | yes | yes | yes | yes |
- civet
- conduit
- cargonaouts
- hydrogen
- iron
- kinglet
- nickel
- rouille
- rustless
- rustful
- shio
- sappers
- solicit
- tower-web
- tk-http
To build web clients with Rust, you can choose between these libraries:
- reqwest (- / repository / documentation)
- awc (- / repository / api docs)
- hyper (homepage / repository / documentation)
- jsonrpc (- / repository / documentation)
Name | Repo | Docs | License | Version | Stars | Contributors | Activity |
---|---|---|---|---|---|---|---|
sailfish | |||||||
tera | |||||||
mustache | |||||||
liquid | |||||||
handlebars | |||||||
horrorshow | |||||||
maud | |||||||
askama | |||||||
stpl | |||||||
ructe | |||||||
typed-html |
- websocket (homepage / repository / documentation)
- ws-rs (homepage / repository / documentation)
- tungstenite ( - / repository / documentation)
- tokio-tungstenite ( - / repository / documentation)
- actix-web (homepage / repository / documentation)
- Lessons learned on writing web applications completely in Rust
- Introducing Ruukh Framework
- Baby’s First Rust+WebAssembly module: Say hi to JSConf EU!
- Mix Rust Code (WebAssembly) with Vue Component
- Wicked Fast Web Servers in Rust
- Migrating to Actix Web from Rocket for Stability
- Creating a Rusty Rocket fuelled with Diesel
- Dose Response ported to WebAssembly!
- Rust and the case for WebAssembly in 2018
- wasm32-unknown-unknown landed & enabled
- How to Deploy a Rocket Application to Heroku
- Rust to WebAssembly, Made Easy
- Rust for the web
- Rocket on Fedora
- Announcing Gotham - A flexible web framework for stable Rust that does not sacrifice safety, security or speed.
- Announcing cargonauts - A Rust async web framework
- Writing a GitHub webhook with Rust! Part 1: Rocket
- Hello, Botket! (Rocket)
- Launching a URL Shortener in Rust using Rocket
- Rocket + sodiumoxide = ♥
- The Path to Rust on the Web
- Rendering Vector Map Tiles (Rust + asm.js demo)
- Compiling to the web with Rust and emscripten
- Basic 2FA in Rocket
- Building high performance REST APIs with Rust and Rocket
- Rocket Rocks! Using FromFormValue Traits to protect your website
- Building an Asynchronous Hyper Server
- JWT & Access Roles in Rocket
- Writing a basic JSON response web server in Rust using Iron
- Diesel Powered Rocket
- Using Stainless with Rocket
- Integration testing a service written in Rust and Iron
- Actually using Iron: A grumpy introduction to web development in Rust
- Using Rust for Webdev as a Hobby Programmer
- My adventures in Rust webdev
- Rust’s Iron Framework: First impressions
- Rust for Node.js developers
- A Rust-powered public web page in 5 minutes
- Rust and Rest
- Shipping forgettable microservices with Rust
- Writing a simple REST app in Rust
- Getting started with Rust
- Let's Build a Web Server in Rust
- Creating a basic webservice in Rust
- Iron on uWSGI
- Deploying a Rust App to Google App Engine
- async hyper
- Trying Rust for web services
- Are we web yet?
- Reimplementing ashurbanipal.web in Rust
- A web app with Nickel: From first line to Heroku deployment
- What features Iron does not have compared to a web server like nginx?
- Build an API in Rust with JWT Authentication using Nickel.rs
- Selective Middleware for Iron
- Rust for the Web - RESTful API in Rust, impressions
- Rust for Node developers
- rust-auth-demo - Rocket on Kubernetes with bells and whistles
- exoskeleton - Iron
- Example webapp using React + Webpack - Iron
- rustwebapp - Iron and Postgres (r2d2)
- webrust - Iron and Postgres (r2d2)
- httptest - Iron
- nickel-todo-backend - Nickel and Postgres (r2d2)
- rust-playground - Iron
- rust-web-example - Iron + Diesel (r2d2) + Serde
- websocket chat - Actix: Browser Websocket + tcp chat
- diesel - Actix + Diesel
- json - Actix + serde_json or json_rust
- Lemmy - Actix + Diesel
- paste.rs - Rocket
- realworld-rust-rocket - Rocket + Diesel, medium.com clone example
- Portier - Iron and Redis
- yaus - Iron and SQLite
- racerd - Iron
- rust-passivetotal - Hyper
- mars - Hyper
- openfairdb - Rocket and SQLite (diesel + r2d2)
- ruma - Iron and Posgres (diesel + r2d2)
- html2pdf - Iron
- Hagrid (keys.openpgp.org) - Rocket
- hellorust.com - a website with news, resources and demos
- rust-webapp-template - Template project for Rust web app using stdweb
- rust-todomvc - an example application build with webplatform
- wasm-experiments - experiments with
wasm32-unknown-unknown
- TechEmpower Web Framework Benchmarks
- web-frameworks - Measuring response times (routing times) for each framework (middleware). Each framework has to have two features; routing and parsing path parameters.