2个版本
0.0.2 | 2018年12月6日 |
---|---|
0.0.1 | 2018年11月19日 |
#76 in #extensible
29KB
644 行
Rust的Web框架
Web框架
源于一个简单的想法:使开发变得有趣!
为了实现这一点,它试图最大化以下概念
- 生产力
- 乐趣
- 安全性
并尽量减少以下内容
- 常规情况下的广泛配置
- 重复的样板代码
当然,在这种情况下创建一个完美的框架是不可能的,但我们尽力做到最好。
Web框架有很强的观点,如果您希望讨论已经做出的决定,您可以提出问题,但我希望您能理解并非每个建议都可以或应该被实施。
灵感来源
这个框架深受“Ruby on Rails”体验的启发。然而,它并不试图完全复制或一开始就具备完整的功能。然而,整个项目的核心概念在这里也应该引起共鸣。
技术概述
如果您正在寻找文档,您可以在这里查看:文档。在那里您将找到一个教程,或者您也可以查看示例来了解如何使用它。
路由
Web框架试图使路由尽可能简单。为了指定一个单一的“路由条目”,必须指定三件事
- 限制列表(是GET请求吗?是POST请求吗?用户是否已登录?)
- 路径("/about","/tasks/new")
- 路由器或控制器
当请求发送到Web框架时,它首先检查是否匹配路径并传递所有限制。只有在这种情况下,它才会传递到下一个路由器或控制器。
这意味着路由可以看作是一个路由路径的树。每个叶子节点都是一个控制器,而中间的所有节点都是路由器。
贡献
如果您想为项目做出贡献,您可以检查问题,回答那些有疑问的问题,实现一个新功能,或者编写更多的文档。
路线图
目前Web框架仍处于起步阶段,但以下是它近期需要完成的“重大”里程碑
- 完成路由
- 路径匹配与提取项
- 扩展控制器宏以支持从请求中提取参数
- 各种扩展点
- 日志/其他硬编码项的可配置性
- 集成模板
依赖项
~11–20MB
~310K SLoC