跳转到主要内容

【Rust架构】Rust web框架比较

5星评论
没有投票
Last modified
星期三, 十二月 22, 2021 - 21:52

目录

 

  • 服务器框架
    • 过时的服务器框架
  • 客户框架
    •  过时的客户框架
  • 前端框架(WASM)
  • 补充库
  •           WebSocket
  •          模板
  • 对照
    • 高级框架
    • 低级框架
    • 前端框架
    • 中间件和插件
    • Websocket库
  • 资源
    • 博客文章
    • 演示
    • 使用Rust的真实世界Web项目
    • JS&asm.js&WASM

Server frameworks

使用Rust构建Web应用程序有几个有趣的框架:

如果您需要更低级别的控件,可以在这些库之间进行选择:

过时的服务器框架

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 :)

Supplemental libraries

Websocket

Templating

对照


高级框架

Name rocket iron actix-web nickel gotham rouille Thruster jsonrpc ease
License
Github Stars
Contributors
Server yes yes yes yes yes yes yes no no
Client no no yes no no no no yes yes
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  

 

Low-Level Frameworks

Name hyper h2 tiny-http tk-http
License
Github Stars
Contributors
Server yes yes yes yes
Client yes yes ? yes
HTTPS support yes no yes yes
HTTP/2 support solicit yes ? no
Async yes yes   yes

Frontend Frameworks

Name yew stdweb percy dodrio sauron seed ruukh draco squark willow smithy
License
Github Stars
Contributors
Stable Rust yes yes no ? no yes no yes no no no
Base framework stdweb - wasm-bindgen wasm-bindgen wasm-bindgen wasm-bindgen wasm-bindgen wasm-bindgen wasm-bindgen wasm-bindgen wasm-bindgen
Virtual DOM yes ? 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 tk-http actix-web
License
Github Stars
Contributors
Server yes yes yes yes yes yes
Client yes yes yes yes yes yes
Base framework - / tokio mio tokio - / tokio tokio tokio
Async no / yes yes yes no / yes 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

Article

标签(Tags)

企业架构(35) 数据分析(35) Power BI(32) 微服务(31) 微服务架构(30) Data Analysis(30) 商务智能(30) BI(30) 认证考试(30) 微软认证(30) DA-100(28) 应用安全(27) 考试题(26) 物联网(25) 敏捷(25) Enterprise Architecture(24) 试题(20) 首席架构师(19) 首席架构师推荐(19) 云计算(18) 网络安全(18) 技术架构(17) 机器学习(17) 试卷(17) SAFe(16) 大数据(15) Kafka(15) 规模化敏捷(14) 企业安全架构(14) enterprise security architecture(14) microservice(13) 业务架构(13) 数据架构(13) IOT(13) 前端架构(13) 安全运营(13) 容器云(12) 敏捷建模(12) 数据分析师(12) 数据安全(12) 事件驱动架构(12) 服务网格(12) 区块链(11) 数据湖(11) 应用架构(10) AWS(10) 数据科学(10) 人工智能(10) Kubernetes(10) BI数据分析师(9) NGINX(9) 产品管理(9) machine learning(9) 深度学习(9) 架构师(9) 数字化转型(9) 商务智能分析师(8) CIO(8) 技术选型(8) 安全战略(8) 软件测试(8) ArchiMate(8) PostgreSQL(8) Azure(8) Cloud Computing(8) Big Data(8) API(8) 软件架构(8) MSA(8) MDM(8) 技术趋势(7) 容器云架构(7) 核心实践(7) 无服务器架构(7) JavaScript框架(7) Vue(7) React(7) 参考架构(7) DevOps(7) 数据仓库(7) Data Lake(7) Envoy architecture(7) 容器(7) 主数据架构(7) microservices(7) 技术架构师(7) digital transformation(7) 投资组合管理(6) 安全架构(6) 集成架构(6) 合同测试(6) 工控协议(6) ICS(6) Micro Service Architecture(6) Envoy架构(6) 事件驱动(6) 数字化(6) 微服务架构师(6) strategy(6) 安全工具(6) application security principle(6) Angular(6) Postgresql架构(6) 网络架构(6) agilemodeling(6) 首席架构师精选(6) 高管洞察与创新(6) 云安全(6) Agile(5) 合约测试(5) Event Hub(5) 应用安全原则(5) Enterprise Portfolio Management(5) WAF(5) 编程语言(5) 用户体验(5) API Gateway(5) 项目管理(5) Python(5) IT战略(5) 企业敏捷性(5) 数字化业务(5) Digital business(5) ICP(5) JavaScript Frameworks(5) 工业物联网(5) 工业控制系统(5) 软件架构师(5) Microservice Architecture(5) 数据挖掘(5) Data Architecture(5) 主数据管理(5) 性能(5) Architecture Overview(5) Best Practices(5) Data Warehouse(5) k8s(5) 战略(5) IoT(5) 解决方案(5) 数据科学家(5) Agile Core Practice(4) 敏捷核心实践(4) 敏捷数据(4) 领导力(4) IPS(4) 领域驱动设计(4) DDD(4) 性能调优(4) Vue.js(4) Docker(4) 敏捷模型(4) 程序员(4) 云原生(4) 前端开发(4) 前端开发工程师(4) 容器云架构师(4) 职业发展(4) executive insights and innovation(4) enterprise agility(4) 数据湖架构师(4) 应用组合管理(4) 数据可视化(4) 业务转型(4) RESTful(4) 消费者驱动的合同测试(4) JWT(4) security(4) 企业架构师(4) architecture(4) GDPR(4) blockchain(4) 存储架构(4) 分布式计算(4) Cloud(4) 企业微服务架构(4) 最佳实践(4) 应用架构师(4) 数据湖架构(4) IoT(4) IoT(4) Deep Learning(4) SCADA(4) Event-Driven(4) 解决方案架构师(4) BDD(4) 云原生架构(4) Service Mesh(4) 企业信息管理(3) data science(3) AI(3) Microservice(3) Spark(3) technology(3) 应用现代化(3) 安全(3) NFR(3) EA(3) Big Data(3) EIM(3)