本期的每周一庫帶來的是sincere庫,一個輕量級的多線程web框架。
Sincere庫可以快速的搭建一個本地的web服務器,并且支持路由和中間件,操作起來非常像node搭建的web服務器,適合于快速測試和原型搭建。
首先是一些有用的鏈接
Sincere github repoSincere 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文件中添加依賴
代碼語言:JavaScript代碼運行次數:0運行復制
[dependencies]sincere = "0.7.0-alpha.1"
寫入示例代碼
代碼語言:javascript代碼運行次數:0運行復制
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版本。錯誤信息如下:

所以在使用庫的時候最好選擇還在維護,并且關鍵依賴項沒有過期的庫非常重要。