rust-web-framework-comparison

A comparison of some web frameworks and libs written in Rust

Github星跟蹤圖

Rust web framework comparison

A comparison of some web frameworks written in Rust.

Table of Contents

Server frameworks

There are several interesting frameworks to build web applications with Rust:

If you need a more low level control you can choose between these libraries:

Outdated server frameworks

Client frameworks

To build web clients with Rust, you can choose between these libraries:

Outdated client frameworks

Frontend frameworks (WASM)

Since WASM support is available in most browsers we can use Rust to build web applications :)

Outdated frontend frameworks

Supplemental libraries

Websocket

Templating

Comparison

High-Level Frameworks, Name, rocket, iron, actix-web, nickel, gotham, rouille, Thruster, jsonrpc, tide, ---, ---, ---, ---, ---, ---, ---, ---, ---, ---, License, Rocket license, Iron license, Actix-web license, Nickel license, Gotham license, Rouille license, Thruster license, Jsonrpc license, Tide license, Version, Rocket version, Iron version, Actix-web version, Nickel version, Gotham version, Rouille version, Thruster version, Jsonrpc version, Tide version, Github Stars, Rocket stars, Iron stars, Actix-web stars, Nickel stars, Gotham stars, Rouille stars, Thruster stars, Jsonrpc stars, Tide stars, Contributors, Rocket contributors, Iron contributors, Actix-web contributors, Nickel contributors, Gotham contributors, Rouille contributors, Thruster contributors, Jsonrpc contributors, Tide contributors, Activity, Rocket activity, Iron activity, Actix-web activity, Nickel activity, Gotham activity, Rouille activity, Thruster activity, Jsonrpc activity, Tide activity, Server, yes, yes, yes, yes, yes, yes, yes, no, yes, Client, no, no, yes, no, no, no, no, yes, no, Base framework, hyper, hyper, tokio, hyper, hyper, tiny-http, tokio, hyper, hyper, HTTPS support, yes, yes, no, yes, ?, -, HTTP/2 support, ?, yes, ?, no, ?, ?, Async, no, yes, yes, yes, yes, Stable Rust, no, yes, ### Low-Level Frameworks, Name, hyper, h2, tiny-http, ---, ---, ---, ---, License, Hyper license, H2 license, Tiny-http license, Version, Hyper version, H2 version, Tiny-http version, Github Stars, Hyper stars, H2 stars, Tiny-http stars, Contributors, Hyper contributors, H2 contributors, Tiny-http contributors, Activity, Hyper activity, H2 activity, Tiny-http activity, Server, yes, yes, yes, Client, yes, yes, ?, HTTPS support, yes, no, yes, HTTP/2 support, solicit, yes, ?, Async, yes, yes, ### Frontend Frameworks, Name, yew, stdweb, percy, dodrio, seed, draco, squark, willow, smithy, ---, ---, ---, ---, ---, ---, ---, ---, ---, ---, License, Yew license, Stdweb license, Percy license, Dodrio license, Seed license, Draco license, Squark license, Willow license, Smithy license, Version, Yew version, Stdweb version, Percy version, Dodrio version, Seed version, Draco version, Squark version, no, Smithy version, Github Stars, Yew stars, Stdweb stars, Percy stars, Dodrio stars, Seed stars, Draco stars, Squark stars, Willow stars, Smithy stars, Contributors, Yew contributors, Stdweb contributors, Percy contributors, Dodrio contributors, Seed contributors, Draco contributors, Squark contributors, Willow contributors, Smithy contributors, Activity, Yew activity, Stdweb activity, Percy activity, Dodrio activity, Seed activity, Draco activity, Squark activity, Willow activity, Smithy activity, Stable Rust, yes, yes, no, ?, yes, yes, no, no, no, Base framework, stdweb, -, wasm-bindgen, wasm-bindgen, wasm-bindgen, wasm-bindgen, wasm-bindgen, wasm-bindgen, wasm-bindgen, Virtual DOM, yes, ?, yes, yes, yes, yes, yes, ?, yes, ### Middleware & Plugins, Name, iron, gotham, nickel, rouille, actix-web, -------------------------, ------------------------------------------, ------, -----------------------------------------------------, -------, -----------------------------------------------------------------------, Static File Serving, yes, no^, yes, n/a, yes, Mounting, yes, yes, yes, n/a, yes, Logging, yes, yes, no, n/a, yes, JSON-Body-Parsing, yes, yes, yes, n/a, yes, Sessions, yes, yes, ?, n/a, yes, Cookies, yes, yes, ?, n/a, yes, PostgreSQL middleware, ?, no^, yes, n/a, yes, SQLite middleware, ?, no^, yes, n/a, yes, Redis middleware, ?, no^, yes, n/a, yes, MySQL middleware, ?, no^, yes, n/a, yes, (^ Planned in current roadmap)

Websocket Libraries, Name, websocket, ws-rs, twist, tungstenite, actix-web, ---, ---, ---, ---, ---, ---, License, Websocket license, Ws-rs license, Twist license, Tungstenite license, Actix-web license, Version, Websocket version, Ws-rs version, Twist version, Tungstenite version, Actix-web version, Github Stars, Websocket stars, Ws-rs stars, Twist stars, Tungstenite stars, Actix-web stars, Contributors, Websocket contributors, Ws-rs contributors, Twist contributors, Tungstenite contributors, Actix-web contributors, Activity, Websocket activity, Ws-rs activity, Twist activity, Tungstenite activity, Actix-web activity, Server, yes, yes, yes, yes, yes, Client, yes, yes, yes, yes, yes, Base framework, - / tokio, mio, tokio, - / tokio, tokio, Async, no / yes, yes, yes, no / yes, yes, ## Examples

To compile or run the examples use Cargo.
First clone this repo

git clone https://github.com/flosse/rust-web-framework-comparison
cd rust-web-framework-comparison/

and change to the desired frameworkd directory (e.g. cd iron/) and type

cargo run --example hello_world

Then visit http://localhost:3000 to see the result.

Resources

Blog posts

2018

Until 2017

Demos

Real-world web projects using Rust

JS & asm.js & WASM

Examples

Benchmark

主要指標

概覽
名稱與所有者flosse/rust-web-framework-comparison
主編程語言Rust
編程語言Rust (語言數: 1)
平台
許可證
所有者活动
創建於2015-08-16 11:42:44
推送於2025-03-19 08:11:18
最后一次提交2025-03-19 03:11:18
發布數0
用户参与
星數5.4k
關注者數165
派生數212
提交數408
已啟用問題?
問題數55
打開的問題數5
拉請求數116
打開的拉請求數1
關閉的拉請求數9
项目设置
已啟用Wiki?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?