【每周一库】 Sincere - a micro web framework for Rust

时间:2022-07-28
本文章向大家介绍【每周一库】 Sincere - a micro web framework for Rust,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

本期的每周一库带来的是Sincere库,一个轻量级的多线程web框架。

Sincere库可以快速的搭建一个本地的web服务器,并且支持路由和中间件,操作起来非常像node搭建的web服务器,适合于快速测试和原型搭建。

首先是一些有用的链接

  • Sincere github repo
  • Sincere crate docs

接下来我们快速试用Sincere库,你会发现非常非常的直观和简单,这里搭建一个简单的返回字符串的web服务器,类似node下的helloworld和python flask的helloworld。

测试环境

  • cargo --version: cargo 1.46.0-nightly (089cbb80b 2020-06-15)
  • rustc --version: rustc 1.46.0-nightly (6bb3dbfc6 2020-06-22)
  • OS: Windows 10

创建工程后首先在Cargo.toml文件中添加依赖

[dependencies]
sincere = "0.7.0-alpha.1"

写入示例代码

extern crate sincere;

use sincere::App;

fn main() {
    let mut app = App::new();

    app.get("/", |context| {
        context.response.from_text("Hello Sincere!").unwrap();
    });

    app.run("127.0.0.1:8000").unwrap();
}

运行效果如下:

访问本地url

写在最后,本期的每周一库测试了两个很久没有维护的rust库,github上显示最后更新均为四年之前。一个名为Rustful,另一个名为Rustless。这两个库都因为长时间没有更新导致依赖项版本脱节,基本处于不可用的状态。

其中Rustful库使用openssl相关的依赖,导致依赖的Opnessl 0.7.14版本过低,无法完成编译,在Windows下进行测试过程中cargo build会出现openssl build失败错误,简要分析原因是因为rustful依赖的openssl版本为0.7.14,版本过于老旧,并不支持openssl 1.0.1版本。错误信息如下:

所以在使用库的时候最好选择还在维护,并且关键依赖项没有过期的库非常重要。

以上就是本期每周一库的内容。