本期的每周一庫(kù)帶來(lái)的是sincere庫(kù),一個(gè)輕量級(jí)的多線程web框架。
Sincere庫(kù)可以快速的搭建一個(gè)本地的web服務(wù)器,并且支持路由和中間件,操作起來(lái)非常像node搭建的web服務(wù)器,適合于快速測(cè)試和原型搭建。
首先是一些有用的鏈接
Sincere github repoSincere crate docs
接下來(lái)我們快速試用Sincere庫(kù),你會(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文件中添加依賴
代碼語(yǔ)言:JavaScript代碼運(yùn)行次數(shù):0運(yùn)行復(fù)制
[dependencies]sincere = "0.7.0-alpha.1"
寫(xiě)入示例代碼
代碼語(yǔ)言: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)行效果如下:

訪問(wèn)本地url

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

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