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