栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Go语言

【Rust 日报】2021-02-26 《Rust用于web开发的2年后感悟》

Go语言 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【Rust 日报】2021-02-26 《Rust用于web开发的2年后感悟》

昨天,《Rust语言中文》社区推送的一篇公众号关于:Rust for web development: 2 years later的文章。可以理解为作者使用了两年Rust后的一些感悟,在此翻译中文。

《Rust用于web开发的2年后感悟》

大约2年前,我开始使用Rust开发Web服务(JSON API),我认为是时候可以摆脱先入为主的观念并分享我学到的知识了。

偏见
  • Rust代码很丑陋:Rust是显式的。不可否认。但是,当我编写代码时,我的IDE可以帮到我很多,而不必按下那么多键。当我阅读代码时,这种明确性真是太棒了!没有隐藏的惊喜,没有奇怪的事情。

  • 内存管理令人分心:实际上呢,没有。我没有使用那么多的词法生命周期,而是使用了智能指针。是的,因此我理解了Box,Rc和Arc之间的差异,与之同时和Node.JS、Golang语言相比,我的生产率没有因此受到影响。

  • 编译器很麻烦:一开始是的。但是几个月后,我能够立即理解错误,并能立刻解决这些错误。今天,我真的没有花太多时间在编译器上。相反,它成为了我最好的朋友,尤其是在重构大部分代码或升级依赖项时。

  • 缓慢的编译时间:我给这个说明。在Node.JS或Golang中,一个中等大小的服务的Docker image大约需要3到10分钟来构建和部署,在Rust中大约需要30分钟。

  • 生态系统还不存在:不可否认,的确是这样。缺少一些组件,例如官方的Stripe和AWS开发工具包,但是社区确实很活跃,并构建了所有这些缺少的组件。

我特别值得点赞的几件事
  • 静态链接非常简单:创建小的Docker images 一件令人愉快的事情。。

  • Rust会让你成为一个更好的程序员:Rust很复杂,如果你不了解它的详细工作原理,它不会放过你。掌握它需要时间和耐心,但是一旦你这样做了,你就会学到很多你永远不会像以前那样接近编程的东西。在学习Tokio的工作原理时,我了解了Golang的运行时是如何工作的。(心智模型学习)

  • 一旦它编译,通常它就可以正常工作:这是关于Rust我最喜欢的地方。当我的程序编译时,它按我的计划工作。注意:只要记住不要阻塞事件循环,编译器就会处理剩下的事情。您不再需要花时间为语言的怪癖编写测试。

  • Rust具有很高的生产力:由于Rust是多种范式,因此在编写复杂的业务逻辑时,由于其功能方面,它的确非常出色。

当前我正在使用的一些crates
  • actix-web 用于HTTP层.

  • sqlx 用于数据库PostgreSQL.

  • rusoto AWS接口服务(S3、SQS、SES)

  • tera 用于电子邮件模板

  • thiserror 用于错误类型处理

  • sentry 用于错误监控

结论

Rust非常适合用于web开发,在此我强烈建议尝试一下。

取得成功是一次漫长的旅程,但完全值得,即使您不是每天都在使用它,也一定会通过学习它而成为一名更好的程序员,如果失去了,那就重新去发现编程的乐趣????

一句话总结:Rust生而平静。凌晨3点不再有不好的惊喜,因为依赖项更新了它的API使得不再有bug。没有更多恼人的配置自动缩放或什么。而且响应时间非常短,您的用户因此会爱上您的产品。

原文地址:https://kerkour.com/blog/rust-for-web-development-2-years-later/


From 日报小组 大闸蟹

社区学习交流平台订阅:

  • Rustcc论坛: 支持rss

  • 微信公众号:Rust语言中文社区

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/945520.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号