加入收藏 | 设为首页 | 会员中心 | 我要投稿 大连站长网 (https://www.0411zz.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 编程要点 > 语言 > 正文

Rust不应当开发Web API

发布时间:2021-06-01 19:33:12 所属栏目:语言 来源:互联网
导读:Rust 有大量的 Web 服务框架、数据库连接器和解析器。但搭建身份验证服务方面只有非常低层次的组件。Node.js 有 passport.js,Rails 有 devise,Django 有 开箱即用的身份验证模型,在 Rust 中,你需要学习如何将共享 Vec 转换到底层加密库才能构建这个系

Rust 有大量的 Web 服务框架、数据库连接器和解析器。但搭建身份验证服务方面只有非常低层次的组件。Node.js 有 passport.js,Rails 有 devise,Django 有 开箱即用的身份验证模型,在 Rust 中,你需要学习如何将共享 Vec 转换到底层加密库才能构建这个系统。

译者注,Vec 是一个动态数组,只会自动增长而不会自动收缩。区别于 Array,Vec 具有动态的添加和删除元素的能力,并且能够以 O(1) 的效率进行随机访问。Vec 的所有内容项都是生成在堆空间上的,可以轻易的将 Vec 移出一个栈而不用担心内存拷贝影响执行效率,毕竟只是拷贝栈上的指针。

有些库试图解决这个问题,比如 libreauth,但它才刚刚开始开发。还有很多类似的 Web 框架问题。

SDK 呢?在主流编程语言中,你可以通过一个官方库来接入 Google 云服务、AWS 或 Stripe。这些官方库大都很棒。例如,aws-sdk-js 和 Stripe 库的设计和维护得非常好。

Rust 就不这样,只有少许第三方库,但以这些服务的开发速度,它们真的能够提供高质量的体验吗?

有人会说好吧,X 编程语言太好了,你可以在周末自己写一个 SDK!我必须回答,不。

Rust 的生态系统在其它领域非常丰富。用于构建 CLI、管理并发性、使用二进制数据和底层解析器的 crates 令人印象深刻,非常棒。

Rust 编译器比以前快,但仍然很慢

我一直在看 Nicholas Nethercote 的博客,描述了 Rust 团队如何优化编译器,让它更快!

但与其它编程语言相比,用它构建网站会很慢。它比编译型编程语言 Go 慢得多,也比解释型编程语言 JavaScript、Ruby 和 Python 等慢得多。

一旦代码被编译,一切就变得非常棒了!但在我的情况下,甚至基本 API 功能都不完整,一个不复杂的系统——居然花了 10 多分钟来编译。Google 代码构建 的硬件配置很差,每次都会超时,我啥都编译不了。

只要不重建缓存依赖项,缓存就有意义。也许 减少依赖 会加快 Rust 项目编译。但就像 serde,几乎所有人都使用的 JSON 和其它序列化 / 反序列化程序占用了大量的编译时间。我们是否应该用编译速度更快但缺乏大量文档和生态系统支持的东西来取代 serde?这种取舍非常糟糕。

(编辑:大连站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!