陈天 · Rust 编程第一课
陈天
Tubi TV 研发副总裁
23195 人已学习
新⼈⾸单¥68
登录后,你可以任选4讲全文学习
课程目录
已完结/共 65 讲
基础篇 (21讲)
陈天 · Rust 编程第一课
15
15
1.0x
00:00/00:00
登录|注册

27|生态系统:有哪些常有的Rust库可以为我所用?

小结
机器学习开发
嵌入式开发
WebAssembly 开发
云原生开发
客户端开发
Web 和 Web 服务开发
基础库
Rust 生态系统

该思维导图由 AI 生成,仅供参考

你好,我是陈天。
一门编程语言的能力,语言本身的设计占了四成,围绕着语言打造的生态系统占了六成。
之前我们对比过 Golang 和 Rust,在我看来,Golang 是一门优点和缺点同样突出的语言,Golang 的某些缺点甚至是很严重的,然而,在 Google 的大力加持下,借助微服务和云原生的春风,Golang 构建了一个非常宏大的生态系统。基本上,如果你要做微服务,Golang 完善的第三方库能够满足你几乎所有的需求。
所以,生态可以弥补语言的劣势,编程语言对外展现出来的能力是语言 + 生态的一个合集
举个例子,由于不支持宏编程,Golang 在开发很多项目时不得不引入大量的脚手架代码,这些脚手架代码如果自己写,费时费力,但是社区里会有一大票优秀的框架,帮助你生成这些脚手架代码。
典型的比如 kubebuilder,它直接把开发 Kubernetes 下 operator 的门槛降了一大截,如果没有类似的工具,用 Golang 开发 Kubernetes 并不比 Python 来得容易。反之,承蒙在 data science 和 machine learning 上无比优秀且简洁实用的生态系统,Python 才得以在这两个领域笑傲江湖,独孤求败。
那么,Rust 的生态是什么样子呢?我们可以用 Rust 做些什么事情呢?为什么我说 Rust 生态系统已经不错,且潜力无穷、后劲很足呢?我们就聊聊这个话题。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

Rust生态系统提供了丰富的工具和库,适用于云原生开发、WebAssembly开发、嵌入式开发和机器学习开发等多个领域。在云原生开发方面,Rust的强大宏编程能力和基础库kube、krator以及krustlet的出现,使得开发者能够用更少的代码完成更多功能,降低内存占用。在WebAssembly开发领域,Rust内置了wasm32-unknown-unknown作为编译目标,而wasmtime和wasmer等运行时工具则提供了服务器端WebAssembly代码的沙箱运行环境。此外,Rust在嵌入式开发和机器学习领域也有着潜力和发展空间。总的来说,Rust生态系统在多个领域都有着领先地位和发展潜力,为开发者提供了丰富的工具和支持。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《陈天 · Rust 编程第一课》
新⼈⾸单¥68
立即购买
登录 后留言

全部留言(16)

  • 最新
  • 精选
  • tr1um7h
    老师,rust宏编程能有空讲讲吗?

    作者回复: 看时间吧,先把目前确定的内容讲完。

    2021-10-29
    6
  • 土土人
    “Rust 支持几乎所有主流的数据库,包括但不限于 MySQL、Postgres、Redis、RocksDB、Cassandra、MongoDB、ScyllaDB、CouchDB 等等。” Oracle现在属于非主流了么?发现新的工具,基本不支持。

    作者回复: Rust 有 oracle 的客户端:https://github.com/kubo/rust-oracle。不过,感谢大厂的去 IOE 化,Oracle 这样的需要花钱买授权的数据库在创业公司和主流互联网公司很少使用了。说白了,还是 TCO 的问题。生产环境/staging/测试/开发各来一套,如果做了微服务架构,需要用 db 的服务再各自来一份,那就是 N x 4 份授权。受不了,所以不用了。

    2021-11-04
    5
  • 彭亚伦
    由于这段时间各种路上跑, 只能空闲时间把课程粗略刷了一遍. 不得不说, 这绝对~绝对~是目前最好的rust课程, 没有之一~ 既有深度又有广度~ 准备回到家再精细精读开刷~ 十分期待接下来的内容~~

    作者回复: 谢谢支持!

    2021-10-31
    5
  • pk
    没有提到区块链。貌似 Rust 在区块链也有一席之地?

    作者回复: 对,Rust 一个主要的应用场景是区块链。感兴趣可以看:https://github.com/rust-in-blockchain/awesome-blockchain-rust

    2021-10-29
    3
    5
  • 夏洛克Moriaty
    感谢分享。有个问题平常想要一个功能都是去creates.io上搜索关键词,但是搜索结果总是不尽人意,老师平常是怎么发现这些库的呢

    作者回复: 有一个技巧是平时对于优秀的库或者应用程序,也看看这个库用到了哪些第三方库,它们都是做什么的,对于感兴趣的库看看它的 repo,运行下示例代码体验一下。 crates.io 中往往要精准的关键字才能有斩获。

    2021-10-29
    1
  • 黄智勇
    老师,你关注一些web框架poem,感觉很不错

    作者回复: 嗯,有空我看看。poem 我听说过,但没有尝试。

    2021-10-29
    2
    1
  • LuYoo
    其实目前主要在区块链应用吧,很多人学习rust也是为了这快吧。

    作者回复: 区块链已经不是 Rust 的主战场了

    2021-12-28
  • 记事本
    老师,我直接从在Cargo.toml 写 serde = "1.0.130" ,好像没法用,后来我从你的以前教程看到 serde = { version = "1", features = ["derive"] } 这个才可以编译成功,这个是怎样的一门课啊

    作者回复: 为啥写 "1.0.130" 不能用?编译错误是什么?这个版本没有被 yank,是好的版本,应该能用。我写成 "1",只是为了能随时保持最新的版本。

    2021-10-30
  • 郭士禄
    lib.rs 也是个好网站
    2023-02-26归属地:北京
    2
  • 柱子
    rust 最近有一个 egui 的UI库,非常惊艳
    2022-06-01
    2
收起评论
显示
设置
留言
16
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部