0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Rust受欢迎程度肉眼可见

jf_wN0SrCdH 来源:Rust语言中文社区 2023-01-29 11:21 次阅读

如今,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

而带有contrast字样的文档是对照文档,是在英文语句的后面追加了中文翻译语句,实现了英中文并列显示,在不同的 IDE 中有不同的效果。

vscode中,英中文会被合并为一行(没有解决方案):

d47d415e-9f75-11ed-bfe3-dac502259ad0.png

而在JetBrains系列 IDE 中,中英文会并列显示:

d48a437c-9f75-11ed-bfe3-dac502259ad0.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.pngd4a59ae6-9f75-11ed-bfe3-dac502259ad0.png

年终狂欢季,福利没停过

自 11 月 8 日以来,Gitee 企业版已经开启了 「年终狂欢季」 活动,点击文末 阅读原文,三重惊喜福利新老用户均可享受!

新老同享 好礼畅领

现在购买 Gitee 企业版任意版本,即可获得使用时长赠送,最多可享六个月使用时长,且购买任意版本两年及以上即可获赠价值 488 元的办公室好礼一份。

d4b2fd12-9f75-11ed-bfe3-dac502259ad0.png

高阶功能 不限时免

除了项目流水线 Gitee CI/CD 所有企业免费用之外,目前代码扫描引擎 Gitee Scan 已经实现四大升级,助力企业完美实现质量左移。

近期自动化工具 Gitee Automation 也将上线并免费提供给所有企业用户使用。感兴趣的快去 Gitee 企业版试试吧。

d4c1a79a-9f75-11ed-bfe3-dac502259ad0.pngd4d0d968-9f75-11ed-bfe3-dac502259ad0.png

友福同享 荐者有份

同时,Gitee 推荐官计划也将在活动期间火热升级,活动期间奖励提升至 150%,成为推荐官,最高躺赢 45% 现金!

d4e1284a-9f75-11ed-bfe3-dac502259ad0.png

审核编辑 :李倩


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 开源
    +关注

    关注

    3

    文章

    3055

    浏览量

    41834
  • Rust
    +关注

    关注

    1

    文章

    225

    浏览量

    6447

原文标题:Rust 真香却难学?不如先从开源项目试试

文章出处:【微信号:Rust语言中文社区,微信公众号:Rust语言中文社区】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    [鸿蒙]OpenHarmony4.0的Rust开发

    中集成 Rust 代码,并最大程度发挥 Rust 和 OpenHarmony 中原有 C/C++ 代码的交互性,采用 GN 作为统一构建工具,即通过 GN 构建 Rus
    的头像 发表于 02-26 17:28 487次阅读
    [鸿蒙]OpenHarmony4.0的<b class='flag-5'>Rust</b>开发

    一次Rust重写基础软件的实践

    受到2022年“谷歌使用Rust重写Android系统且所有Rust代码的内存安全漏洞为零” [1] 的启发,最近笔者怀着浓厚的兴趣也顺应Rust 的潮流,尝试着将一款C语言开发的基础软件转化
    的头像 发表于 01-25 11:21 356次阅读

    从Rustup出发看Rust编译生态

    从Rustup出发看Rust编译生态 1. Rust和LLVM的关系是怎样的? 2. Rustup中targets是什么,为什么可以安装多个? 3. Rust在windows上为什么需要安装Visual studio?
    的头像 发表于 01-02 11:00 303次阅读

    电力测功机为什么受欢迎

    电力测功机受欢迎的原因有以下几个方面: 首先,电力测功机是一种高效、环保的测功设备,它采用电力驱动,不会产生废气和噪音,对环境没有污染。在当前环保意识日益提高的背景下,这种环保的特点使得电力测功机
    的头像 发表于 12-19 10:26 223次阅读
    电力测功机为什么<b class='flag-5'>受欢迎</b>?

    Rust语言如何与 InfluxDB 集成

    Rust 是一种系统级编程语言,具有高性能和内存安全性。InfluxDB 是一个开源的时间序列数据库,用于存储、查询和可视化大规模数据集。Rust 语言可以与 InfluxDB 集成,提供高效
    的头像 发表于 09-30 16:45 819次阅读

    Rust GUI实践之Rust-Qt模块

    Rust-Qt 是 Rust 语言的一个 Qt 绑定库,它允许 Rust 开发者使用 Qt 框架来创建跨平台的图形界面应用程序。Qt 是一个跨平台的应用程序框架,它提供了一系列的工具和库,可以帮助
    的头像 发表于 09-30 16:43 1194次阅读

    Rust的多线程编程概念和使用方法

    Rust是一种强类型、高性能的系统编程语言,其官方文档中强调了Rust的标准库具有良好的并发编程支持。Thread是Rust中的一种并发编程方式,本文将介绍Rust中thread的相关
    的头像 发表于 09-20 11:15 640次阅读

    如何在Rust中读写文件

    Rust是一种系统级编程语言,它的设计目标是提供安全、并发和高性能的编程体验。Rust的特点在于其内存安全性和线程安全性,它采用了一些创新性的技术,如所有权系统和生命周期,来解决C和C++中常
    的头像 发表于 09-20 10:57 1469次阅读

    Rust的 match 语句用法

    Rust 是一门现代化的系统编程语言,它拥有高性能、内存安全和并发性等特点。Rust 的语法设计非常优秀,其中 match 语句是一种非常强大的语言特性。match 语句可以让我们根据不同的匹配模式
    的头像 发表于 09-19 17:08 718次阅读

    如何在Rust中使用Memcached

    Memcached是一种高性能、分布式的内存对象缓存系统,可用于加速动态Web应用程序。Rust是一种系统级编程语言,具有内存安全、高性能和并发性等特点。Rust语言的Memcached库提供了
    的头像 发表于 09-19 16:30 974次阅读

    如何使用Rust语言操作Chrome浏览器的SQLite数据库

    Rust是一种高性能、可靠性强的系统编程语言,它的出现为开发者提供了一种新的选择。Rust的安全性和性能优势使得它成为了许多项目的首选语言,包括Web浏览器的开发。Chrome浏览器是一款广受欢迎
    的头像 发表于 09-19 16:28 1871次阅读

    如何使用Rust连接Redis

    Redis是一款快速、开源、键值存储数据库,被广泛应用于缓存、发布/订阅系统、定时任务等场景中。Rust提供了很多Redis的客户端库,本教程将会介绍如何使用Rust连接Redis,以及如何通过
    的头像 发表于 09-19 16:22 1647次阅读

    基于Rust的Log日志库介绍

    Rust是一门系统级编程语言,因其安全性、高性能和并发性而备受欢迎。在Rust应用程序中,日志记录是一项非常重要的任务,因为它可以帮助开发人员了解应用程序的运行情况并解决问题。Rust
    的头像 发表于 09-19 14:49 2640次阅读

    如何在Rust中高效地操作文件

    Rust语言是一种系统级、高性能的编程语言,其设计目标是确保安全和并发性。 Rust语言以C和C++为基础,但是对于安全性和并发性做出了很大的改进。 在Rust语言中,操作文件是非常重要的一个功能
    的头像 发表于 09-19 11:51 1685次阅读

    2023年受欢迎8款编程语言排名:Python 第二

    根据DevJobsScanner发布的报告,2023年度(从2022年1月到2023年5月)需求量最大的编程语言数据显示,JavaScript、Python和Java仍然是职场上备受欢迎的编程语言。
    的头像 发表于 07-28 17:57 4808次阅读