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

Rust的 match 語(yǔ)句用法
使用rust開(kāi)發(fā)stm32系列教程
怎樣去使用Rust進(jìn)行嵌入式編程呢
在Rust代碼中加載靜態(tài)庫(kù)時(shí),出現(xiàn)錯(cuò)誤 ` rust-lld: error: undefined symbol: malloc `怎么解決?
Rust 1.15 引入自定義derive特性有什么做用

RUST的真實(shí)驅(qū)動(dòng)案例

Chromium正式開(kāi)始支持Rust
rust語(yǔ)言基礎(chǔ)學(xué)習(xí): Default trait
rust語(yǔ)言基礎(chǔ)學(xué)習(xí): rust中的錯(cuò)誤處理
Rust的內(nèi)部工作原理

評(píng)論