本期的每周一庫帶來的是sincere庫,一個(gè)輕量級(jí)的多線程web框架。
Sincere庫可以快速的搭建一個(gè)本地的web服務(wù)器,并且支持路由和中間件,操作起來非常像node搭建的web服務(wù)器,適合于快速測(cè)試和原型搭建。
首先是一些有用的鏈接
Sincere github repoSincere crate docs
接下來我們快速試用Sincere庫,你會(huì)發(fā)現(xiàn)非常非常的直觀和簡(jiǎn)單,這里搭建一個(gè)簡(jiǎn)單的返回字符串的web服務(wù)器,類似node下的helloworld和python flask的helloworld。
測(cè)試環(huán)境
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
創(chuàng)建工程后首先在Cargo.toml文件中添加依賴
代碼語言:JavaScript代碼運(yùn)行次數(shù):0運(yùn)行復(fù)制
[dependencies]sincere = "0.7.0-alpha.1"
寫入示例代碼
代碼語言:javascript代碼運(yùn)行次數(shù):0運(yùn)行復(fù)制
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();}
運(yùn)行效果如下:

訪問本地url

寫在最后,本期的每周一庫測(cè)試了兩個(gè)很久沒有維護(hù)的rust庫,github上顯示最后更新均為四年之前。一個(gè)名為Rustful,另一個(gè)名為Rustless。這兩個(gè)庫都因?yàn)殚L(zhǎng)時(shí)間沒有更新導(dǎo)致依賴項(xiàng)版本脫節(jié),基本處于不可用的狀態(tài)。
其中Rustful庫使用openssl相關(guān)的依賴,導(dǎo)致依賴的Opnessl 0.7.14版本過低,無法完成編譯,在Windows下進(jìn)行測(cè)試過程中cargo build會(huì)出現(xiàn)openssl build失敗錯(cuò)誤,簡(jiǎn)要分析原因是因?yàn)閞ustful依賴的openssl版本為0.7.14,版本過于老舊,并不支持openssl 1.0.1版本。錯(cuò)誤信息如下:

所以在使用庫的時(shí)候最好選擇還在維護(hù),并且關(guān)鍵依賴項(xiàng)沒有過期的庫非常重要。