Rust 是什么?
A language empowering everyone to build reliable and efficient software.
一种使每个人都能建立可靠和高效的软件的语言(系统级编程语言)。
特性
高性能:速度极快且内存效率极高,没有运行时或垃圾收集器,它可以为性能关键的服务提供动力,在嵌入式设备上运行,并容易与其他语言集成。
可靠性:丰富的类型系统和所有权模型保证了内存安全和线程安全(能够在编译时消除许多类错误)。
生产力:Rust 有很棒的文档、一个带有友好错误信息提示的编译器和一流的工具(一个集成的包管理器(cargo)和构建工具、具有自动完成和类型检查的智能多编辑器支持、一个自动格式化程序等等)。
Wiki: 在计算机科学中,垃圾回收(Garbage Collection,简称 GC)是指一种自动的存储器管理[8]机制。当某个程序占用的一部分内存空间不再被这个程序访问时,这个程序会借助垃圾回收算法向操作系统归还这部分内存空间。垃圾回收器可以减轻程序员的负担,也减少程序中的错误。垃圾回收最早起源于 LISP语言。Java、C#、Go和 D 语言都支持垃圾回收器。
生态
Command Line - 利用 Rust 强大的生态系统快速开发出 CLI 工具。Rust 可以帮助你可靠地维护应用程序,并轻松地发布它。
WebAssembly- 使用 Rust 来增强你的 JavaScript,每个 rust crate 都对应一个 js 模块,可以发布到 npm,用前端打包工具(webpack、vite、rollup等)进行捆绑。
Networking - 可预测的性能。小巧的资源占用。稳如磐石的可靠性。Rust是网络服务的最佳选择(构建高性能服务器)。
Embedded- 针对低资源的设备?需要低层次的控制而不放弃高层次的便利?Rust可以满足你的要求(嵌入式开发,内核开发等)。
Rust 助力前端
Rust 因其出色的表现,连续 7 年在 StackOverflow 调查中成为最受欢迎的语言(Stack Overflow Developer Survey 2022)。优秀的特性自然也受到了前端的青睐,很多大神开始基于 Rust 重写前端生态。
个人理解,不准确的地方欢迎讨论:Rust 之所以优秀是因为它借鉴了大量编程语言的优秀特性,通过其自身的类型系统,生命周期,所有权等概念将其统一起来,成为其安全可靠,高性能的重要保证(构建速度暂时不吐槽,毕竟团队也在不断努力提速中)。在编译阶段会对代码进行检查,抛出友好的错误,并给出大量指导性修改建议(很多时候都是编译器在教我写代码),这在别的语言似乎很难看到。
学习教程
Awesome Rust- Rust 代码和资源的精选列表
Rust语言圣经 (Rust Course)- 对标官方文档,对 Rust 语言进行全面且深入的讲解,辅以生动的示例和习题,语言诙谐幽默,值得一看
Rust语言中文社区 - 每天会发布大量和 Rust 生态相关的文章,适合碎片化时间浏览
Node.js ➤ Rust
24 days from node.js to Rust- 24 篇关于 Rust 入门的系列文章,用 Rust 重写常见的 JavaScript 任务(有大量对比示例代码)
Rust for Node developers- 为 Node.js 开发人员介绍 Rust 编程语言
Rust for JavaScript peeps - 了解 JS,想尝试 Rust,但不知道从哪里开始?这个给你!
...
生态
Turbo - Turbo 是用 Rust 编写的一个为 JavaScript 和 TypeScript 优化的增量捆绑器和构建系统(基于 SWC)
SWC (Speedy Web Compiler) - 是一个用 Rust 编写的超快速 TypeScript / JavaScript 编译器
Deno - JavaScript 和 TypeScript 的现代运行时
Rome- 是用于 JavaScript、TypeScript、JSON、HTML、Markdown 和 CSS 的格式化程序、linter、捆绑程序等,用 Rust 编写
Boa- 一个用 Rust 编写的实验性 Javascript 词法分析器、解析器和解释器。目前,它支持部分语言
Parcel- Web 的零配置构建工具
Lightning CSS - 一个非常快速的 CSS 解析器、转换器、捆绑器和压缩器
Lint
deno_lint - 用 Rust 编写的 JavaScript 和 TypeScript 的超快 linter
RSlint- 一个快速、可定制且易于使用的 JavaScript 和 TypeScript linter(处于早期开发阶段,不应在生产中使用)
nvm - Node.js 版本管理
fnm - 快速简单的 Node.js 版本管理器,基于 Rust
Volta- JS Toolchains as Code
wasm-pack- 将 Rust 生成 WebAssembly 的一站式工具(生成可发布的 npm 包)
rsw - wasm-pack 的增强版 CLI,支持同时 watch,build,link 多个 rust crate
vite-plugin-rsw- 基于 Vite 的 wasm-pack 插件(基于 rsw 实现)
Tauri - 构建跨平台桌面应用,目前支持 macOS,Windows,Linux,未来也会支持 iOS/iPadOS 和 Android。后端使用 Rust,前端使用 HTML,CSS 和 JS(为 Electro的替代品)
Tauri 系列 - 中文教程,从零到一搭建一个 Tauri 项目
Yew- 是一个现代 Rust 框架,用于使用 WebAssembly 创建多线程前端 Web 应用程序,以下是 Yew 的替代品:
Percy - 用于使用 Rust + WebAssembly 构建同构 Web 应用程序的模块化工具包
Seed - 用于创建 Web 应用程序的 Rust 框架
Perseus- 一个状态驱动的 Rust 网络开发框架,完全支持服务器端渲染和静态生成
Sycamore- 用于在 Rust 和 WebAssembly 中创建响应式 Web 应用程序的库
dprint-plugin-typescript[53] - TypeScript 和 JavaScript 代码格式化插件。
moon - 用 Rust 编写的用于 Web 生态系统的构建系统和 repo 管理工具
Rustle - 用 Rust 重写的 Svelte 编译器
typed-html - Type checked JSX for Rust
Rolldown - 100% API 兼容的 Rust 版 Rollup,实现正在进行中(似乎停止更新)
Relay- Relay 编译器使用 Rust 重写
...
审核编辑:刘清
-
编译器
+关注
关注
1文章
1634浏览量
49123 -
CLI
+关注
关注
1文章
79浏览量
8543 -
rust语言
+关注
关注
0文章
57浏览量
3009
原文标题:Rust 在前端
文章出处:【微信号:Rust语言中文社区,微信公众号:Rust语言中文社区】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
评论