话说 Rust 本身确实是一门学习曲线陡峭的语言, 一时半会驾驭不了它. 相比于 Rust, 同期的 Go 语言似乎更受欢迎. Go 你随便花上两天就能追到手, 可是 Rust 你可能要花上两个月, 然后还不能流畅地书写. 感觉 Go 就是一个青楼女子的模样, 人人可上手. 而 Rust 像啥? 大家闺秀? 感觉更像性冷淡, 对你的追求也是视而不见. 不过呢, 你如果足够用心, 你会发现, 她是你的好妻子, 上得厅堂, 下得厨房. 啥事都能做, 而且运行速度快, 占用资源少. 在安全方面尤其地安全, 相比之下其他的语言多少有点浪, 放家里总觉得有那么点不安全, 而 Rust 的性冷淡特性决定了她非常安全, 完全不用胆小有西门庆上门搞出点啥个事情来.
废话说得有点多, 回归正题, 如何用 Rust 搞一个网站后端服务? 说实话, 相比 Golang 等语言下面的五颜六色的框架来说, Rust 下可供选择的网站后端框架有点寒碜. 现在最主流的解决方案是使用 Actix-web 和 Rocket 两个比较成熟的框架. 我感觉可能是我比较愚笨, Actix-web 觉得好难, Rocket 似乎也不能满足我需求, 也不觉得好用. 于是就有了 Salvo.
做 Salvo 这个框架的初衷就是简单, 尤其是路由要够好用. 我并不希望框架帮我干很多的事情, 比如, 像 Rocket 等会直接把传来的数据映射为本地的数据结构, 但是我并不想那么干, 我觉得这个是使用者自己的事情, 映射本身很简单, 而且我更希望在映射出错时提供自定义的错误提醒.