Rust 是什么?
A language empowering everyone to build reliable and efficient software.
一種使每個人都能建立可靠和高效的軟件的語言(系統(tǒng)級編程語言)。
特性
高性能:速度極快且內(nèi)存效率極高,沒有運行時或垃圾收集器,它可以為性能關(guān)鍵的服務(wù)提供動力,在嵌入式設(shè)備上運行,并容易與其他語言集成。
可靠性:豐富的類型系統(tǒng)和所有權(quán)模型保證了內(nèi)存安全和線程安全(能夠在編譯時消除許多類錯誤)。
生產(chǎn)力:Rust 有很棒的文檔、一個帶有友好錯誤信息提示的編譯器和一流的工具(一個集成的包管理器(cargo)和構(gòu)建工具、具有自動完成和類型檢查的智能多編輯器支持、一個自動格式化程序等等)。
Wiki: 在計算機科學(xué)中,垃圾回收(Garbage Collection,簡稱 GC)是指一種自動的存儲器管理[8]機制。當(dāng)某個程序占用的一部分內(nèi)存空間不再被這個程序訪問時,這個程序會借助垃圾回收算法向操作系統(tǒng)歸還這部分內(nèi)存空間。垃圾回收器可以減輕程序員的負擔(dān),也減少程序中的錯誤。垃圾回收最早起源于 LISP語言。Java、C#、Go和 D 語言都支持垃圾回收器。
生態(tài)
Command Line - 利用 Rust 強大的生態(tài)系統(tǒng)快速開發(fā)出 CLI 工具。Rust 可以幫助你可靠地維護應(yīng)用程序,并輕松地發(fā)布它。
WebAssembly- 使用 Rust 來增強你的 JavaScript,每個 rust crate 都對應(yīng)一個 js 模塊,可以發(fā)布到 npm,用前端打包工具(webpack、vite、rollup等)進行捆綁。
Networking - 可預(yù)測的性能。小巧的資源占用。穩(wěn)如磐石的可靠性。Rust是網(wǎng)絡(luò)服務(wù)的最佳選擇(構(gòu)建高性能服務(wù)器)。
Embedded- 針對低資源的設(shè)備?需要低層次的控制而不放棄高層次的便利?Rust可以滿足你的要求(嵌入式開發(fā),內(nèi)核開發(fā)等)。
Rust 助力前端
Rust 因其出色的表現(xiàn),連續(xù) 7 年在 StackOverflow 調(diào)查中成為最受歡迎的語言(Stack Overflow Developer Survey 2022)。優(yōu)秀的特性自然也受到了前端的青睞,很多大神開始基于 Rust 重寫前端生態(tài)。
個人理解,不準確的地方歡迎討論:Rust 之所以優(yōu)秀是因為它借鑒了大量編程語言的優(yōu)秀特性,通過其自身的類型系統(tǒng),生命周期,所有權(quán)等概念將其統(tǒng)一起來,成為其安全可靠,高性能的重要保證(構(gòu)建速度暫時不吐槽,畢竟團隊也在不斷努力提速中)。在編譯階段會對代碼進行檢查,拋出友好的錯誤,并給出大量指導(dǎo)性修改建議(很多時候都是編譯器在教我寫代碼),這在別的語言似乎很難看到。
學(xué)習(xí)教程
Awesome Rust- Rust 代碼和資源的精選列表
Rust語言圣經(jīng) (Rust Course)- 對標(biāo)官方文檔,對 Rust 語言進行全面且深入的講解,輔以生動的示例和習(xí)題,語言詼諧幽默,值得一看
Rust語言中文社區(qū) - 每天會發(fā)布大量和 Rust 生態(tài)相關(guān)的文章,適合碎片化時間瀏覽
Node.js ? Rust
24 days from node.js to Rust- 24 篇關(guān)于 Rust 入門的系列文章,用 Rust 重寫常見的 JavaScript 任務(wù)(有大量對比示例代碼)
Rust for Node developers- 為 Node.js 開發(fā)人員介紹 Rust 編程語言
Rust for JavaScript peeps - 了解 JS,想嘗試 Rust,但不知道從哪里開始?這個給你!
...
生態(tài)
Turbo - Turbo 是用 Rust 編寫的一個為 JavaScript 和 TypeScript 優(yōu)化的增量捆綁器和構(gòu)建系統(tǒng)(基于 SWC)
SWC (Speedy Web Compiler) - 是一個用 Rust 編寫的超快速 TypeScript / JavaScript 編譯器
Deno - JavaScript 和 TypeScript 的現(xiàn)代運行時
Rome- 是用于 JavaScript、TypeScript、JSON、HTML、Markdown 和 CSS 的格式化程序、linter、捆綁程序等,用 Rust 編寫
Boa- 一個用 Rust 編寫的實驗性 Javascript 詞法分析器、解析器和解釋器。目前,它支持部分語言
Parcel- Web 的零配置構(gòu)建工具
Lightning CSS - 一個非常快速的 CSS 解析器、轉(zhuǎn)換器、捆綁器和壓縮器
Lint
deno_lint - 用 Rust 編寫的 JavaScript 和 TypeScript 的超快 linter
RSlint- 一個快速、可定制且易于使用的 JavaScript 和 TypeScript linter(處于早期開發(fā)階段,不應(yīng)在生產(chǎn)中使用)
nvm - Node.js 版本管理
fnm - 快速簡單的 Node.js 版本管理器,基于 Rust
Volta- JS Toolchains as Code
wasm-pack- 將 Rust 生成 WebAssembly 的一站式工具(生成可發(fā)布的 npm 包)
rsw - wasm-pack 的增強版 CLI,支持同時 watch,build,link 多個 rust crate
vite-plugin-rsw- 基于 Vite 的 wasm-pack 插件(基于 rsw 實現(xiàn))
Tauri - 構(gòu)建跨平臺桌面應(yīng)用,目前支持 macOS,Windows,Linux,未來也會支持 iOS/iPadOS 和 Android。后端使用 Rust,前端使用 HTML,CSS 和 JS(為 Electro的替代品)
Tauri 系列 - 中文教程,從零到一搭建一個 Tauri 項目
Yew- 是一個現(xiàn)代 Rust 框架,用于使用 WebAssembly 創(chuàng)建多線程前端 Web 應(yīng)用程序,以下是 Yew 的替代品:
Percy - 用于使用 Rust + WebAssembly 構(gòu)建同構(gòu) Web 應(yīng)用程序的模塊化工具包
Seed - 用于創(chuàng)建 Web 應(yīng)用程序的 Rust 框架
Perseus- 一個狀態(tài)驅(qū)動的 Rust 網(wǎng)絡(luò)開發(fā)框架,完全支持服務(wù)器端渲染和靜態(tài)生成
Sycamore- 用于在 Rust 和 WebAssembly 中創(chuàng)建響應(yīng)式 Web 應(yīng)用程序的庫
dprint-plugin-typescript[53] - TypeScript 和 JavaScript 代碼格式化插件。
moon - 用 Rust 編寫的用于 Web 生態(tài)系統(tǒng)的構(gòu)建系統(tǒng)和 repo 管理工具
Rustle - 用 Rust 重寫的 Svelte 編譯器
typed-html - Type checked JSX for Rust
Rolldown - 100% API 兼容的 Rust 版 Rollup,實現(xiàn)正在進行中(似乎停止更新)
Relay- Relay 編譯器使用 Rust 重寫
...
審核編輯:劉清
-
編譯器
+關(guān)注
關(guān)注
1文章
1636瀏覽量
49173 -
CLI
+關(guān)注
關(guān)注
1文章
79瀏覽量
8572 -
rust語言
+關(guān)注
關(guān)注
0文章
57瀏覽量
3015
原文標(biāo)題:Rust 在前端
文章出處:【微信號:Rust語言中文社區(qū),微信公眾號:Rust語言中文社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論