RUST和WEBASSEMBLY在WEB开发中的兴起

RUST和WEBASSEMBLY在WEB开发中的兴起

Rust 由于 WebAssembly、新的 Rust IDE 和其他开发工具以及注重性能的用例而越来越受到 Web 开发人员的欢迎。

译自The Rise of Rust and WebAssembly in Web Development,作者 Richard MacManus。

随着支持WebAssembly的Rust开发者Web框架出现,值得关注的是Rust目前在Web开发中的使用频率、开发者使用的工具以及Rust和Wasm未来的适用场景。

在2024年JetBrains开发者生态系统报告中,35%的Rust开发者表示他们已经使用Rust进行Web开发工作。这与系统编程(同样为35%)并列第二,仅次于CLI工具(44%)——这两个项目通常被认为适合Rust,因为它们也适合C++开发者(Rust最具威胁的编程语言)。

在JetBrains报告的其他地方,19%的Web开发者表示他们部署到WebAssembly,而部署到Linux的比例为77%,部署到『Windows』的比例为43%,部署到MacOS的比例为36%。因此,虽然Wasm在Web开发中的使用相当普遍,但仍有很大的增长空间。还值得一提的是,Rust拥有一些最好的编译到Wasm的工具链,例如:

  • Wasm-bindgen:连接Rust和Java。
  • Wasm-pack:简化Rust的npm打包。
  • Cargo-generate:描述为“一个开发者工具,通过利用预先存在的git仓库作为模板,帮助你快速启动一个新的Rust项目。”
Rust IDE

在最新的Stack Overflow调查中,所有专业开发者在过去12个月中最有可能使用的集成开发环境(IDE)是Visual Studio Code,74%的受访者使用过它。当查看过去12个月使用过Rust的专业开发者时,这个百分比保持不变(75%)。因此,VS Code显然是Rust开发者的顶级IDE。

也就是说,有一个IDE似乎在Rust开发者中特别受欢迎——因为它没有被其他开发者广泛使用。36%的专业Rust开发者表示他们使用Neovim,而没有使用Rust的专业开发者仅为13%。这意味着Neovim是Rust开发者中第二受欢迎的IDE,仅次于VS Code。

有趣的是,Neovim的赞助商之一是Warp,一个基于Rust的终端,The New Stack的David Eastman将其描述为“你经常假设会拥有的命令行IDE,但你从未真正拥有过”。

在IDE方面,Rust开发者还有许多其他选择。JetBrains提供了一个名为RustRover的专用Rust IDE,以及IntelliJ IDEA和CLion的Rust插件。其他流行的IDE也支持Rust;例如Emacs和相对较新的Zed。

RustRover于2023年9月发布,JetBrains对Rust开发者的未来充满信心。去年二月,JetBrains开发者布道者Vitaly Bragilevsky指出,Rust不仅仅被用作“内存不安全”语言(如C++和C)的替代品。

……许多人从其他[编程语言]转向Rust。 JetBrains开发者布道者 Vitaly Bragilevsky

他说:“我们实际看到的是,许多人从其他编程语言转向Rust,他们也带来了全新的想法来用Rust实现一些东西。”例如Web应用程序的想法。

在之前接受The New Stack的采访中,Bragilevsky表示许多开发者从Java和Python社区转向Rust。“这些人可能对他们之前的编程语言有点不满,”他说。“也许他们的性能不够,而他们可以用Rust获得这种性能。有时他们缺乏安全性,而Rust肯定能提供这一点。”

至于Rust开发者在他们的IDE中想要什么,根据JetBrains开发者调查,12%的人表示他们想要更多Web框架支持。因此,这对现有的Rust IDE或新的开发工具产品来说是一个机会。

最适合Rust和Wasm的应用程序类型?

去年十一月,软件『工程师』Trevor I. Lasn撰写的文章指出,“WebAssembly 擅长将成熟的 C/C++ 或 Rust 库引入 Web”。他以 PDF 生成为例。“与其用 Java 重复发明复杂的字体渲染和布局算法,不如使用经过实战检验的 C++ 库,”他解释道。

Rust 越来越被视为一种用于复杂数据处理的语言。

同样的原则也适用于 Rust 库——虽然这些库可能不如 C++ 库那样“经过实战检验”,但 Rust 越来越被视为一种用于复杂数据处理的语言。而且由于 Rust 可以高效地编译成 WebAssembly,这意味着可以直接在 Web 浏览器或边缘环境中进行高性能数据处理。

Rust 在 Web 开发中的其他用例包括实时数据可视化、图像和视频处理以及游戏引擎。

尽管如此,Rust 不会很快取代 Java——Web 应用中的业务逻辑仍然最好由 JS 处理,并且 Wasm 的 DOM 操作能力有限。此外,如果不仔细操作,Wasm 可能会迅速使事情变得过于复杂。正如 Lasn 所观察到的那样,“如果你不是在进行大量的计算或使用其他语言的现有库,WebAssembly 可能会增加不必要的复杂性。”

无论如何,Web 开发正日益成为 Rust 开发人员的用例。因此,我们可以预期围绕 Rust 的开发工具生态系统将相应地发展。

本文在云云众生(https://yylives.cc/)首发,欢迎大家访问。

特别声明:[RUST和WEBASSEMBLY在WEB开发中的兴起] 该文观点仅代表作者本人,今日霍州系信息发布平台,霍州网仅提供信息存储空间服务。

猜你喜欢

电影欢迎来到我身边:『于适』摘掉“巴太”滤镜,咋这么普通了?(电影欢迎来到东莫村免费观看)

后来,陈小舟遇到了美食博主冯佳楠(王影璐饰),发现和她在一起时,这个怪病就会奇迹般地痊愈。 说实话,看了电影的预告片和各种花絮,感觉『于适』在这里一点也不惊艳,没有了『长发』和骑马的加持,就很普通,就是普通人里长得…

电影欢迎来到我身边:『于适』摘掉“巴太”滤镜,咋这么普通了?(电影欢迎来到东莫村免费观看)

心悸心肌缺血吃什么药💊(心悸心肌缺血吃点养心丸行吗)

心悸伴心肌缺血的患者可以遵医嘱使用单硝酸异山梨酯缓释片、琥珀酸美托洛尔缓释片、阿托伐他汀钙片、盐酸曲美他嗪片、复方丹参滴丸等药物。心肌缺血通常与冠状动脉狭窄、动脉粥样硬化等因素有关,常见症状包括胸闷和胸痛

心悸心肌缺血吃什么药💊(心悸心肌缺血吃点养心丸行吗)

内娱『明星』️把“半永久妆造”焊脸上、『成毅』成了"男版『鞠婧祎』"

就连观众都忍不住吐槽,这个团队也太不专业了吧,白费了『成毅』那么好的演技。 但也正是因为暂缓播出了,被吊着胃口的粉丝们也对此剧都充满了兴趣。 而大家在剧中看到的『成毅』是聪慧勇敢的,但是现实中的『成毅』可和剧中的样子一…

内娱『明星』️把“半永久妆造”焊脸上、『成毅』成了"男版『鞠婧祎』"

狂野时代》导演毕赣为浙青周加油助威(《狂野时代》导演是谁)

《<strong>狂野时代</strong>》导演毕赣为浙青周加油助威(《<strong>狂野时代</strong>》导演是谁)

广东要求海上作业渔船全部回港避风 全力保障民众安全(广东海上平台倾斜)

广东省防汛防旱防风总指挥部办公室于9月17日发布通知,要求各地各部门做好当前热带低压的防御工作,确保人民群众生命财产安全。预计该热带低压将进入南海并加强为今年第17号台风,未来将对广东带来严重的风雨影响

广东要求海上作业渔船全部回港避风 全力保障民众安全(广东海上平台倾斜)