{"id":13495038,"url":"https://github.com/i5ting/learn-rust-for-fe","last_synced_at":"2025-04-08T00:37:20.940Z","repository":{"id":39224733,"uuid":"426152354","full_name":"i5ting/learn-rust-for-fe","owner":"i5ting","description":"Rust是未来前端基础设施","archived":false,"fork":false,"pushed_at":"2023-02-15T03:33:43.000Z","size":438,"stargazers_count":1743,"open_issues_count":1,"forks_count":90,"subscribers_count":32,"default_branch":"main","last_synced_at":"2025-03-31T23:34:00.559Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/i5ting.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2021-11-09T08:41:45.000Z","updated_at":"2025-03-24T01:28:23.000Z","dependencies_parsed_at":"2024-01-14T05:00:46.501Z","dependency_job_id":"dd7fce8a-507b-42f7-be48-223ebb7a6985","html_url":"https://github.com/i5ting/learn-rust-for-fe","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/i5ting%2Flearn-rust-for-fe","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/i5ting%2Flearn-rust-for-fe/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/i5ting%2Flearn-rust-for-fe/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/i5ting%2Flearn-rust-for-fe/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/i5ting","download_url":"https://codeload.github.com/i5ting/learn-rust-for-fe/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247755560,"owners_count":20990620,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-07-31T19:01:30.601Z","updated_at":"2025-04-08T00:37:20.918Z","avatar_url":"https://github.com/i5ting.png","language":"Rust","funding_links":[],"categories":["Rust"],"sub_categories":[],"readme":"说 Rust 是 WebAssembly 未来，目前看还不是，多语言里大家几率不会差太多。Web Server 已经卷死了，无机会。云原生是 Go 的地盘，难下手，机器学习 Python 才是王者，大数据和后端 Java 天下，可玩的有限。综上，JavaScript 依然是应用软件最好的选择。但 Rust 做基建，提供更好的开发体验，倒是大有可为的。\n\n当然 Rust 是写前端基建，是当下趋势。\n\nRust 语言在前端工具链的影响越来越大，目前可以看到 Next.js 对 Rust 重仓，招揽大量人才，swc 作者，rollup 作者等等，未来可能是一个很好的解决前端体验的方向。\n\n《Rust Is The Future of JavaScript Infrastructure》（[原文](https://leerob.io/blog/rust) | [中文翻译](https://mp.weixin.qq.com/s?__biz=MzkxNDIzNTg4MA==\u0026mid=2247485792\u0026idx=1\u0026sn=682a4dee7ce4d3b47a81baf9ebd7a98a) ) ，作者是 Vercel 的开发者关系主管，这篇文章和叔的观点一样，自备梯子。\n很多东西都是上错花轿嫁对郎，比如 mvc，比如 Node，如今又多了 Rust。必然雄起！未来随着 WebAssembly 普及，Rust 才能变成应用级别的。\n\n## 前端工具链项目\n\n- https://github.com/volta-cli/volta 对标 nvm+npm\n  - https://github.com/Schniz/fnm\n- https://github.com/justjavac/postcss-rs 对标 postcss\n- https://github.com/CGQAQ/rusty-source-map 对标 [Mozilla/source-map](https://github.com/mozilla/source-map)\n- https://github.com/swc-project/swc 对标 ts/babel\n  - swcpack： SWC 的 bundle 工具，类似于 Webpack\n  - swc-css: SWC 的 CSS parser，类似 PostCSS\n  - Deno: JS/TS 的 runtime，但是也提供诸如 linter, code formatter, docs generator, bundle 这些功能， 当然基于 SWC\n  - Rome： Babel 的作者 Sebastian 创建，目前已经在进行 Rust 重写，基于 [rslint_parser](https://github.com/rslint/rslint)，项目代码 https://github.com/rome/tools\n  - dprint： 基于 SWC 构建，提供类似 Prettier 的功能，但是比 Prettier 快 30 倍\n  - Parcel 2: 基于 SWC，打包性能提升 10 倍\n  - https://github.com/Brooooooklyn/swc-node\n  - https://github.com/TypeStrong/ts-node 支持 swc\n- https://github.com/g-plane/browserslist-rs 对标 [browserslist](https://github.com/browserslist/browserslist)\n- https://github.com/HerringtonDarkholme/vue-compiler 对标 vue-template-compiler\n- https://github.com/rslint/rslint 对标 eslint\n- https://github.com/yisibl/resvg-js A high-performance SVG renderer, powered by Rust based resvg and napi-rs.\n- https://napi.rs/ NAPI-RS: a minimal library for building pre-compiled Node.js addons in Rust\n- https://neon-bindings.com/ Neon: Electrify your Node with the power of Rust\n- https://github.com/tauri-apps/tauri Tauri: Electron alternative Tauri written in Rust\n- https://github.com/boa-dev/boa Boa (JS engine in Rust)\n- https://github.com/DrSensor/rs-jest 一个用于跑 Rust 单元测试的 jest transformer，安装之后只需要简单配置一下 jest.config.js 即可。很老，可能需要更新\n- https://github.com/image-rs/image-png PNG decoding and encoding library in pure Rust\n- https://github.com/gfx-rs/wgpu Safe and portable GPU abstraction in Rust, implementing WebGPU API.\n- https://github.com/rust-analyzer/rust-analyzer A Rust compiler front-end for IDEs\n- https://github.com/38/plotters Plotters is drawing library designed for rendering figures, plots, and charts, in pure rust. Plotters supports various types of back-ends, including bitmap, vector graph, piston window, GTK/Cairo and WebAssembly.\n- https://github.com/leizongmin/htmlstream-rust Lightweight HTML parser\n- https://github.com/djc/askama Type-safe, compiled Jinja-like templates for Rust\n- https://github.com/facebook/relay/tree/v13.0.0-rc.1/compiler relay compiler was written in rust\n- https://github.com/thedodd/trunk Build, bundle \u0026 ship your Rust WASM application to the web.\n- https://github.com/yewstack/yew Rust / Wasm framework for building client web apps\n- https://github.com/egoist/dum An npm scripts runner written in Rust.\n- https://github.com/devongovett/tree-sitter-highlight A syntax highlighter for Node powered by Tree Sitter. Written in Rust.\n- https://github.com/flo-l/jsonpp-rs UNIX style tool to pretty print json\n- https://turbo.build/pack 对标 webpack 和 vite\n- https://github.com/wooorm/mdxjs-rs markdown扩展\n\n## 开发者\n\n- https://github.com/justjavac\n- https://github.com/yisibl\n- https://github.com/Brooooooklyn\n\n## 生态\n\n- https://github.com/actix/actix Actor framework for Rust\n- https://github.com/async-rs/async-std Async version of the Rust standard library\n- https://github.com/rust-lang/cargo The Rust package manager\n- https://github.com/crossbeam-rs/crossbeam Tools for concurrent programming in Rust\n- https://github.com/denoland/rusty_v8 Rust bindings for the V8 JavaScript engine\n- https://github.com/denoland/deno_lint Blazing fast linter for JavaScript and TypeScript written in Rust\n- https://github.com/denoland/deno_bindgen Simplified glue code generation for Deno FFI libraries written in Rust.\n- https://github.com/napi-rs/napi-rs A framework for building compiled Node.js add-ons in Rust via Node-API\n- https://github.com/infinyon/node-bindgen Easy way to write Node.js module using Rust\n- https://github.com/rayon-rs/rayon Rayon: A data parallelism library for Rust\n- https://github.com/SergioBenitez/Rocket A web framework for Rust.\n- https://github.com/Amanieu/parking_lot Compact and efficient synchronization primitives for Rust. Also provides an API for creating custom synchronization primitives.\n- https://github.com/rustdesk/rustdesk Yet another remote desktop software\n- https://github.com/rust-lang/rust-bindgen Automatically generates Rust FFI bindings to C (and some C++) libraries.\n- https://github.com/serde-rs/serde Serialization framework for Rust\n- https://github.com/tauri-apps/tauri Build smaller, faster, and more secure desktop applications with a web frontend.\n- https://github.com/tokio-rs/tokio A runtime for writing reliable asynchronous applications with Rust. Provides I/O, networking, scheduling, timers, ...\n- https://github.com/rustwasm/wasm-bindgen Facilitating high-level interactions between Wasm modules and JavaScript\n\n\n\n## 工具\n\n- https://searchfox.org/ Searchfox is a source code indexing tool for Mozilla Firefox. It indexes C++, Rust, and JavaScript code.\n- https://github.com/meilisearch/MeiliSearch Powerful, fast, and an easy to use search engine\n- https://github.com/editso/fuso 一款快速 🚀、稳定、跨平台、高效的内网穿透，端口转发工具\n- https://github.com/clap-rs/clap A full featured, fast Command Line Argument Parser for Rust\n- https://github.com/zellij-org/zellij A terminal workspace with batteries included\n- https://github.com/nushell/nushell A new type of shell\n\n## 参考\n\n- https://kaisery.github.io/trpl-zh-cn/ Rust 官方教程中文翻译\n- https://rustwiki.org/zh-CN/rust-by-example/ 通过例子学 Rust（官方教程翻译）\n- https://rustcc.gitbooks.io/rustprimer/content/ 初学者教程（社区教程）\n- https://github.com/wtklbm/rust-library-i18n/ Rust 标准库翻译\n- https://course.rs/ Rust 语言圣经\n- https://nextjs.org/blog/next-12#faster-builds-and-fast-refresh-with-rust-compiler\n  - 我看 Next.js：一个更现代的海王 https://mp.weixin.qq.com/s/5Ir7EoHLo37bs6W5WNa-Tw\n- https://vino.dev/blog/node-to-rust-day-1-rustup/ （自备梯子）\n  - 24 天，从 Node 到 Rust\n- https://www.youtube.com/playlist?list=PLai5B987bZ9CoVR-QEIN9foz4QCJ0H2Y8\n  - 官方教程视频导读\n- https://github.com/rust-unofficial/patterns A catalogue of Rust design patterns, anti-patterns and idioms\n- https://www.youtube.com/playlist?list=PL3azK8C0kje1DUJbaOqce19j3R_-tIc4_ rust 编程语言入门教程，from Dave Young\n- https://github.com/TheAlgorithms/Rust All Algorithms implemented in Rust\n- https://github.com/rust-lang/rustlings Rust 小练习\n- https://github.com/vinodotdev/node-to-rust From JavaScript to Rust ebook\n- https://tourofrust.com Rust语言之旅, 在线从浅入深的练习常见语法\n- https://github.com/sunface/rust-by-practice Rust 语言实战\n- https://rusty.rs/about.html Rusty Book(锈书)\n\n其他大家补充，欢迎 pr\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fi5ting%2Flearn-rust-for-fe","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fi5ting%2Flearn-rust-for-fe","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fi5ting%2Flearn-rust-for-fe/lists"}