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文章
1636瀏覽量
49173 -
CLI
+關注
關注
1文章
79瀏覽量
8572 -
rust語言
+關注
關注
0文章
57瀏覽量
3015
原文標題:Rust 在前端
文章出處:【微信號:Rust語言中文社區,微信公眾號:Rust語言中文社區】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論