调查:2024年生产环境中使用的Rust框架
Rust生态系统持续快速发展,为实际项目选择Web框架的问题仍然是最热门的话题之一。pythonlib.ru团队分析了近期在主要Rust社区(Discord、Reddit、Rust Users Forum)进行的一项调查结果。超过1500名在商业开发中使用Rust的开发者参与了此次调查。我们整理了关键数据和趋势,帮助您做出明智的选择。
调查方法
受访者被要求选择一个或多个他们当前在生产环境中使用的框架。仅考虑那些产生收入或服务真实用户的项目。个人爱好项目和学习任务不计入在内。
生产环境Rust框架前五名
- Axum (43%) — 绝对领先者。由Tokio团队开发,以模块化和与async生态系统的出色集成而著称。开发者称赞其从其他框架迁移简单,以及开箱即用的高性能。
- Actix Web (31%) — 第二受欢迎。尽管过去经历波折(分叉、维护者更换),Actix仍然是高负载API的可靠选择。受访者称赞其速度和生态系统的成熟度。
- Rocket (12%) — 小众但因其符合人体工学的语法和宏而备受喜爱。最常用于初创公司和内部工具,这些场景更看重开发速度而非绝对性能。
- Warp (8%) — 注重过滤器和组合的框架。在重视声明式方法的开发者中很受欢迎。然而,由于调试困难,在大型项目中使用较少。
- Salvo (4%) — 一个新兴但快速增长的框架。因其开箱即用支持WebSocket和SSE而受到关注。目前主要用于与实时应用相关的初创公司。
趋势与观察
调查的主要结论是——Rust生态系统正在围绕Tokio整合。基于Tokio构建的框架(Axum、Warp、Salvo)已占据超过55%的市场份额。开发者越来越倾向于选择“最受支持”的工具,而非“最快”的工具。
另一个显著趋势是Rocket份额的下降。尽管Rocket 0.5已发布,许多受访者表示他们已转向Axum,因为后者与异步库的兼容性更好。
新手该如何选择?
如果您刚开始学习Rust进行Web开发,我们建议从Axum开始。它拥有最活跃的文档、大量的示例以及平缓的学习曲线。对于高负载微服务,Actix Web仍然是不错的选择;而对于原型开发,Rocket则更合适。
完整的调查结果(原始数据、按Rust版本分布、项目类型)可在我们的Telegram频道中获取。请关注pythonlib.ru的更新——我们将持续关注Rust和Python的世界。