如今,Rust 受歡迎程度肉眼可見(jiàn)。
時(shí)間線拉到最近:TIOBE 十一月編程語(yǔ)言榜單中,Rust 的“大爆發(fā)”(在 TIOBE 編程語(yǔ)言排名 Top 20站住了腳)成為了開(kāi)發(fā)者們的期待之中,意料之外。
TIOBE CEO Paul Jansen 對(duì)此表示:多年來(lái),我們一直期待著 Kotlin、Dart、Julia 等語(yǔ)言進(jìn)入 TIOBE 前 20 名,但他們都沒(méi)有成功,而唯一的例外似乎是 Rust。
除了 TIOBE 之外,知名開(kāi)發(fā)者調(diào)查分析公司 SlashData 近期發(fā)布的《2022開(kāi)發(fā)者報(bào)告(第23版)》也顯示出 Rust 語(yǔ)言社區(qū)增長(zhǎng)速度很快。
這里有一組調(diào)查數(shù)據(jù):過(guò)去兩年里, Rust 社區(qū)的開(kāi)發(fā)者從 2020年 Q3 的 80 萬(wàn)增長(zhǎng)到 2022 年 Q3 的 280 萬(wàn)人。這個(gè)誕生于 2015 年的新編程語(yǔ)言以銳不可當(dāng)之勢(shì)成為大多數(shù)開(kāi)發(fā)者心中的編程語(yǔ)言“黑馬”。
實(shí)際上,圍繞著 Rust 的描述有很多,有人說(shuō)它沒(méi)有歷史包袱,能夠?qū)⒈磉_(dá)力、高性能、內(nèi)存安全集于一身,甚至說(shuō)掌握了 Rust 就掌握了許多語(yǔ)言精髓。這種說(shuō)法不無(wú)道理,畢竟現(xiàn)在有人用 Rust 替代 Python 去寫(xiě)機(jī)器學(xué)習(xí)相關(guān)的應(yīng)用,有人拿它寫(xiě)前端 UI,有人用它去實(shí)現(xiàn)區(qū)塊鏈,有人拿它重建技術(shù)棧,甚至于 Linux 官方還接受 Rust 作為除 C 語(yǔ)言之外唯一可以進(jìn)行內(nèi)核開(kāi)發(fā)的語(yǔ)言。
種種外在加持皆可看出 Rust 正處于一個(gè)態(tài)勢(shì)漸佳的發(fā)展局面。高性能與安全性吸引開(kāi)發(fā)者入門,然而 Rust 從語(yǔ)法到特性的復(fù)雜程度卻又勸退不少人。
都說(shuō)實(shí)踐中見(jiàn)真知,比起悶著頭看文檔,不如從一些小工具上親自上手,看看 Rust 是如何應(yīng)用在不同領(lǐng)域的?;诖?,今天我們給大家梳理 5 個(gè)用 Rust 編寫(xiě)的開(kāi)源項(xiàng)目,雖不能面面俱到,但是希望以此拋磚引玉,讓大家對(duì) Rust 實(shí)現(xiàn)的應(yīng)用有所認(rèn)識(shí)。如果你有更簡(jiǎn)單易用的 Rust 開(kāi)源項(xiàng)目,歡迎推薦給我們,或者前往 Gitee 分享你的實(shí)踐成果。
salvo
項(xiàng)目作者:salvo-rs
開(kāi)源許可證:Apache-2.0
項(xiàng)目地址:
https://gitee.com/salvo-rs/salvo
Salvo是一個(gè)簡(jiǎn)單易用的 Rust Web 后端框架,開(kāi)發(fā)后端服務(wù)只需要基本的 Rust 知識(shí)。
如何安裝?
1.新建一個(gè)全新的項(xiàng)目
cargonewhello_salvo--bin
2.添加Cargo.toml
[dependencies]
salvo="*"
tokio={version="1",features=["macros"]}
3.創(chuàng)建一個(gè)簡(jiǎn)單的函數(shù)處理程序main.rs
文件
usesalvo::*;
#[handler]
asyncfnhello(res:&mutResponse){
res.render(Text::Plain("HelloWorld"));
}
4.創(chuàng)建一個(gè)根路由器及服務(wù)器,調(diào)用 bind 函數(shù)
usesalvo::*;
#[handler]
asyncfnhello()->&'staticstr{
"HelloWorld"
}
#[tokio::main]
asyncfnmain(){
letrouter=Router::new().get(hello);
letacceptor=TcpListener::new("127.0.0.1:7878").bind().await;
Server::new(acceptor).serve(router).await;
}
恭喜你的一個(gè) Salvo 程序已經(jīng)完成. 只需要在命令行下運(yùn)行 cargo run, 然后在瀏覽器里打開(kāi) http://127.0.0.1:7878
即可。
rust-library-chinese
項(xiàng)目作者:wtklbm
開(kāi)源許可證:Apache-2.0
項(xiàng)目地址:
https://gitee.com/wtklbm/rust-library-chinese
這是一個(gè) Rust 核心庫(kù)和標(biāo)準(zhǔn)庫(kù)中文翻譯,它將作為 IDE 工具的智能提示,生成本地 API 文檔。
如何通過(guò)腳本安裝
Windows
#在`Powershell`中執(zhí)行
#該腳本會(huì)請(qǐng)求并執(zhí)行當(dāng)前項(xiàng)目下的`bin/install.ps1`
powershell.exe-encodedCommand([Convert]::ToBase64String([System.Text.Encoding]::Unicode.GetBytes((Invoke-WebRequest-Uri"https://gitee.com/wtklbm/rust-library-chinese/raw/main/bin/install.ps1").Content)))
macOS 或 Linux
#在終端中執(zhí)行
#該腳本會(huì)請(qǐng)求并執(zhí)行當(dāng)前項(xiàng)目下的`bin/install.sh`
bash<(curl?-fsSLk?https://gitee.com/wtklbm/rust-library-chinese/raw/main/bin/install.sh)
效果顯示
在dist
目錄下一共提供了兩個(gè)文件,它們都是構(gòu)建好的中文文檔,其中一個(gè)文件的后綴是帶有contrast
字樣。這兩個(gè)文件有一些區(qū)別:
不帶有contrast
字樣的文檔是純中文文檔,英文內(nèi)容都被直接替換為中文了,且在任何 IDE 下都可以得到相同的效果。
![d46c8670-9f75-11ed-bfe3-dac502259ad0.png](https://file1.elecfans.com//web2/M00/A0/16/wKgaomToKYqAOVNeAAAagI23v_8157.png)
而帶有contrast
字樣的文檔是對(duì)照文檔,是在英文語(yǔ)句的后面追加了中文翻譯語(yǔ)句,實(shí)現(xiàn)了英中文并列顯示,在不同的 IDE 中有不同的效果。
在vscode
中,英中文會(huì)被合并為一行(沒(méi)有解決方案):
![d47d415e-9f75-11ed-bfe3-dac502259ad0.png](https://file1.elecfans.com//web2/M00/A0/16/wKgaomToKYqAbDoxAABpEBxzexc422.png)
而在JetBrains
系列 IDE 中,中英文會(huì)并列顯示:
![d48a437c-9f75-11ed-bfe3-dac502259ad0.png](https://file1.elecfans.com//web2/M00/A0/16/wKgaomToKYqAcGuJAAAgsmn0i0Y829.png)
wechat-rs
項(xiàng)目作者:Neil-鵬
開(kāi)源許可證:MIT
項(xiàng)目地址:
https://gitee.com/shaipe/wechat-rs
Wechat-rs 是采用 Rust 語(yǔ)言的對(duì)接實(shí)現(xiàn)接口對(duì)接的 SDK ,支持微信公眾號(hào)、開(kāi)放平臺(tái)、小程序、小商店、微信支付等接口,方便使用 Rust 語(yǔ)言進(jìn)行微信開(kāi)發(fā)的同學(xué)開(kāi)箱即用。
如何操作
項(xiàng)目作者針對(duì)每個(gè)子模塊進(jìn)行整體性說(shuō)明,子模塊采用 features 的方式進(jìn)行設(shè)計(jì)規(guī)劃,可以整體使用也可以獨(dú)立使用按項(xiàng)目的需要進(jìn)行引入。
例如:使用微信小程序模塊時(shí),在cargo.toml
中引入時(shí)添加 features
wechat={version="0.1.0",features=["weapp"]}
tailmond
項(xiàng)目作者:Tailmon-EDR
開(kāi)源許可證:Apache-2.0
項(xiàng)目地址:
https://gitee.com/tailmon-edr/tailmond
Tailmond 的 Linux 終端主程序采用 Rust 開(kāi)發(fā),旨在為企業(yè)/個(gè)人站長(zhǎng)構(gòu)建網(wǎng)絡(luò)安全檢測(cè)與防御體系,主要功能包括:網(wǎng)絡(luò)攻擊防護(hù)、病毒查殺、漏洞檢測(cè)、惡意進(jìn)程監(jiān)控、應(yīng)用資產(chǎn)管理等。
如何安裝?
下載安裝包
tarzxvftailmond-0.1.2-alpha-linux-x86_64-centos7.tar.gz
cdtailmond-0.1.2
修改配置
vimconfig/tailmond.toml
主要修改 Web 界面端口號(hào)、用戶名、密碼和網(wǎng)卡名稱
#Web界面端口號(hào)
port=8080
#Web界面登錄用戶名
username="admin"
#Web界面登錄密碼
password="修改為你的密碼"
#監(jiān)控網(wǎng)卡
monitor-eth="eth0"
啟動(dòng)
bin/tailmon-edrstart
停止
bin/tailmon-edrstop
通過(guò)瀏覽器訪問(wèn):
http://你的IP地址:8080
注意:
目前該項(xiàng)目只在阿里云 CentOS7 上測(cè)試通過(guò),且處于非常早期開(kāi)發(fā)階段,暫不能用于生產(chǎn)環(huán)境部署。
chimes-rust
項(xiàng)目作者:poethxp
開(kāi)源許可證:Apache-2.0
項(xiàng)目地址:
https://gitee.com/poethxp/chimes-rust
chimes-rust 主要實(shí)現(xiàn)了 eladmin 中的系統(tǒng)管理功能,以及登錄和用戶中心。其中,應(yīng)用后臺(tái)管理程序使用 Rust 實(shí)現(xiàn),前端則是采用最新的eladmin 前端,經(jīng)過(guò)少量修改實(shí)現(xiàn)。主要修改是API路徑的,以及表格或表單的字段綁定(因?yàn)镽ust的命名規(guī)范的要求進(jìn)行了一些字段的修改)。
如何安裝?
1.創(chuàng)建數(shù)據(jù)chimesrust
,并導(dǎo)入數(shù)據(jù) sql/chimesrust.sql
;
2.編譯 backend/chimes-rust
,可以進(jìn)入該目錄后,直接執(zhí)行cargo r
;
3.打包前端 frontend/eladmin-web
;
4.后端的一些配置可以修改backend/chimes-rust/conf/app.yml
效果顯示
![d497c7e0-9f75-11ed-bfe3-dac502259ad0.png](https://file1.elecfans.com//web2/M00/A0/16/wKgaomToKYqAT2NyAAExKBsBIAU477.png)
![d4a59ae6-9f75-11ed-bfe3-dac502259ad0.png](https://file1.elecfans.com//web2/M00/A0/16/wKgaomToKYqAZkDvAADC899uxbU752.png)
年終狂歡季,福利沒(méi)停過(guò)
自 11 月 8 日以來(lái),Gitee 企業(yè)版已經(jīng)開(kāi)啟了 「年終狂歡季」 活動(dòng),點(diǎn)擊文末 閱讀原文,三重驚喜福利新老用戶均可享受!
新老同享 好禮暢領(lǐng)
現(xiàn)在購(gòu)買 Gitee 企業(yè)版任意版本,即可獲得使用時(shí)長(zhǎng)贈(zèng)送,最多可享六個(gè)月使用時(shí)長(zhǎng),且購(gòu)買任意版本兩年及以上即可獲贈(zèng)價(jià)值 488 元的辦公室好禮一份。
![d4b2fd12-9f75-11ed-bfe3-dac502259ad0.png](https://file1.elecfans.com//web2/M00/A0/16/wKgaomToKYqAOeUsAAFlGaxTers143.png)
高階功能 不限時(shí)免
除了項(xiàng)目流水線 Gitee CI/CD 所有企業(yè)免費(fèi)用之外,目前代碼掃描引擎 Gitee Scan 已經(jīng)實(shí)現(xiàn)四大升級(jí),助力企業(yè)完美實(shí)現(xiàn)質(zhì)量左移。
近期自動(dòng)化工具 Gitee Automation 也將上線并免費(fèi)提供給所有企業(yè)用戶使用。感興趣的快去 Gitee 企業(yè)版試試吧。
![d4c1a79a-9f75-11ed-bfe3-dac502259ad0.png](https://file1.elecfans.com//web2/M00/A0/16/wKgaomToKYqAA4zJAAFyJLOPuy8639.png)
![d4d0d968-9f75-11ed-bfe3-dac502259ad0.png](https://file1.elecfans.com//web2/M00/A0/16/wKgaomToKYuAZvkBAAGRK8_hjc4772.png)
友福同享 薦者有份
同時(shí),Gitee 推薦官計(jì)劃也將在活動(dòng)期間火熱升級(jí),活動(dòng)期間獎(jiǎng)勵(lì)提升至 150%,成為推薦官,最高躺贏 45% 現(xiàn)金!
![d4e1284a-9f75-11ed-bfe3-dac502259ad0.png](https://file1.elecfans.com//web2/M00/A0/16/wKgaomToKYuAakJ_AACim3Q7aqo905.png)
審核編輯 :李倩
-
開(kāi)源
+關(guān)注
關(guān)注
3文章
3415瀏覽量
42752 -
Rust
+關(guān)注
關(guān)注
1文章
230瀏覽量
6676
原文標(biāo)題:Rust 真香卻難學(xué)?不如先從開(kāi)源項(xiàng)目試試
文章出處:【微信號(hào):Rust語(yǔ)言中文社區(qū),微信公眾號(hào):Rust語(yǔ)言中文社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
JavaScript與Rust和WebAssembly集成
![JavaScript與<b class='flag-5'>Rust</b>和WebAssembly集成](https://file1.elecfans.com//web1/M00/F3/A9/wKgaoWca_oGAG2WoAABI3bDn3FU446.png)
比亞迪超越豐田,成為新加坡最受歡迎汽車品牌
戴爾科技PowerFlex為什么受歡迎
如何用Rust編寫(xiě)一個(gè)ChatGPT桌面應(yīng)用(保姆級(jí)教程)
![如何用<b class='flag-5'>Rust</b>編寫(xiě)一個(gè)ChatGPT桌面應(yīng)用(保姆級(jí)教程)](https://file1.elecfans.com//web2/M00/07/E1/wKgZombzgUyAERszAAIgF_o0toY379.png)
未來(lái)嵌入式系統(tǒng)的黃金搭檔 MCX N947遇上Rust
![未來(lái)嵌入式系統(tǒng)的黃金搭檔 MCX N947遇上<b class='flag-5'>Rust</b>](https://file1.elecfans.com/web2/M00/FF/3C/wKgaomahp3uAVWG7AABriNd0Qms299.png)
Vector和HighTec推出基于Rust和AUTOSAR Classic實(shí)現(xiàn)安全應(yīng)用的解決方案
![Vector和HighTec推出基于<b class='flag-5'>Rust</b>和AUTOSAR Classic實(shí)現(xiàn)安全應(yīng)用的解決方案](https://file1.elecfans.com/web2/M00/FD/E7/wKgaomaXaHqAAnKuAABBePv_wtM873.png)
FC-135是一款受歡迎的32.768kHz晶振
![FC-135是一款<b class='flag-5'>受歡迎</b>的32.768kHz晶振](https://file1.elecfans.com/web2/M00/EC/65/wKgZomZigwuAEbgdAABpoCf8AYc213.png)
esp32s3開(kāi)發(fā)時(shí),每次改動(dòng),rust編譯的時(shí)間都很長(zhǎng)為什么?
Linux 6.10集成RISC-V更新,支持Rust編程語(yǔ)言
在Aurix Tc375Lk上使用Rust編程語(yǔ)言可以嗎?
環(huán)保又高效:365nm固化燈為何如此受歡迎?
![環(huán)保又高效:365nm固化燈為何如此<b class='flag-5'>受歡迎</b>?](https://file1.elecfans.com/web2/M00/E5/BA/wKgZomZEKaaAKLkfAAFK6nhU1dA942.png)
鴻蒙OpenHarmony開(kāi)發(fā)板解析:【Rust模塊配置規(guī)則和指導(dǎo)】
![鴻蒙OpenHarmony開(kāi)發(fā)板解析:【<b class='flag-5'>Rust</b>模塊配置規(guī)則和指導(dǎo)】](https://file1.elecfans.com/web2/M00/E4/89/wKgaomY814aAXIR1AAA01VxEKNI913.jpg)
AMR智能倉(cāng)儲(chǔ)機(jī)器人為什么會(huì)越來(lái)越受歡迎?
[鴻蒙]OpenHarmony4.0的Rust開(kāi)發(fā)
![[鴻蒙]OpenHarmony4.0的<b class='flag-5'>Rust</b>開(kāi)發(fā)](https://file1.elecfans.com/web2/M00/C1/DB/wKgaomXbKX-AAe6rAADEW5Pyw8c913.png)
評(píng)論