当前位置:嗨网首页>书籍在线阅读

06-Web框架

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

13.2.3 Web框架

在我们开始介绍actix-web之前,首先需要了解一下为何需要使用Web框架。众所周知,网络是一个复杂的、不断发展的空间,编写Web应用程序时需要注意很多细节,例如设置路由规则和身份验证策略。最重要的是,随着应用程序的发展,如果不采用Web框架,用户就必须重复实现某些最佳实践和类似的模式。

每次想要构建Web应用程序时,重复构造Web应用程序的这些基本属性是相当烦琐的。一个具体的例子是当你在应用该程序时提供不同的路由。在从头开始构建的Web应用程序中,你必须从请求中解析资源路径,对其进行一些匹配,并根据请求进行操作。Web框架通过提供DSL来自动匹配路由和路由处理程序,以允许用户以更简洁的方式配置路由规则。Web框架还抽象了构建Web应用程序的所有最佳实践、常见模式及习惯用法,并为开发人员提供了一个良好的基础,使他们能够专注于业务逻辑,而不是为已经解决过的问题重新构建解决方案。

Rust社区已经出现了很多实用的Web框架,例如最近出现的Tower、Tide、Rocket、actix-web及Gotham等。在编写本书时,功能最丰富且最活跃的框架是Rocket和actix-web。虽然Rocket非常简洁并且是一个优秀的框架,但它需要用到夜间版Rust编译器。不过这一限制很快就会被解除,因为Rocket所依赖的API会变得稳定。目前它的直接竞争对手是actix-web,它运行在稳定版的Rust上面,并且非常接近Rocket框架提供的人机交互接口。接下来,我们将介绍actix-web。