TooLongLink Video Watcher AI
Watch:
العربية - Arabic
Bahasa Indonesia
বাংলা - Bengali
български - Bulgarian
简体中文 - Chinese Simplified
繁體中文 - Chinese Traditional
Hrvatski - Croatian
Čeština - Czech
Dansk - Danish
Nederlands - Dutch
English
Eesti - Estonian
فارسی - Farsi
Suomi - Finnish
Français - French
Deutsch - German
Ελληνικά - Greek
ગુજરાતી - Gujarati
עברית - Hebrew
हिन्दी - Hindi
Magyar - Hungarian
Italiano - Italian
日本語 - Japanese
ಕನ್ನಡ - Kannada
한국어 - Korean
Latviešu - Latvian
Lietuvių - Lithuanian
മലയാളം - Malayalam
मराठी - Marathi
Norsk - Norwegian
Polski - Polish
Português - Portuguese
Română - Romanian
Русский - Russian
Српски - Serbian
Slovenčina - Slovak
Slovenščina - Slovenian
Español - Spanish
Kiswahili - Swahili
Svenska - Swedish
தமிழ் - Tamil
తెలుగు - Telugu
ไทย - Thai
Türkçe - Turkish
Українська - Ukrainian
اردو - Urdu
Tiếng Việt - Vietnamese
Submit
2026年Rust编程语言前景看好:桌面应用、Web开发、内存管理及AI集成分析
Dreams of Code
总结:
引言:
视频作者回顾了2024年专注于Go语言的挑战,决定2025年转向Rust,并对其2026年的前景非常看好。他正在使用Rust构建一个名为Kiru的跨平台视频编辑器。
桌面应用程序:
Rust在桌面应用开发方面取得了显著进展,涌现了如Iced、GPUI、EGUI、Dioxus等原生GUI框架,支持多种UI范式和底层GPU编程(WGPU crate)。System76的COSMIC桌面环境也由Rust编写,展现了其在桌面领域的潜力。
Web开发:
Rust通过WebAssembly (Wasm) 在Web前端展现出优势,支持如Yew、Leptos等单页应用和全栈框架。Wasm的Memory64特性允许Web应用使用超过4GB内存,并通过代码复用提高桌面和Web端的开发效率。
内存使用:
鉴于内存价格上涨趋势,Rust的内存效率成为其重要优势。Rust API的内存消耗远低于TypeScript等语言,能显著节省基础设施和应用部署成本。
TUI 应用程序:
Rust非常适合构建资源高效的终端用户界面(TUI)应用,避免了TypeScript/React等语言在TUI应用中常见的内存占用过高问题。Ratatui等Rust框架为高效TUI开发提供了支持。
API 构建:
Rust的Axum框架结合其强大的宏和类型系统,简化了Web API的开发,减少了样板代码,并能通过Serde crate高效处理JSON序列化/反序列化,使得API构建变得更加高效和愉快。
外部函数接口 (FFI):
Rust的FFI能力允许开发者调用C/C++等其他语言编写的系统级库,实现最佳平台性能,例如作者在macOS上利用Objective-C绑定来构建视频编辑器。
AI:
AI Agent和Rust编译器结合,有望提高代码正确性。AI Agent辅助编程,Rust严格的编译器则能确保生成的代码质量,在追求开发速度与代码稳定性的平衡中发挥关键作用。
切换到Rust并对其未来前景的看好 [
00:00:00
]
回顾2024年的Go语言挑战
挑战内容:2024年全年主要使用Go语言进行编程。
目标:探索新的工作方式,减少技术栈选择的决策疲劳。
成果:加深了对Go语言的理解,拓宽了视野,对2025年及以后构建的许多项目有了更深的认识。
新视频编辑器Kiru的开发
Kiru是一款跨平台的视频编辑器应用,支持Web、macOS、Linux和Windows。
Kiru是作者迄今为止最具挑战性和雄心勃勃的项目。
Fun Fact: "Kiru"在日语中意为“切割”。
项目主要使用Rust构建,其代码占比达到80.2%。
为何选择Rust
在过去一个月全职使用Rust后,作者对其充满信心。
预计Rust将成为未来一段时间的主要编程语言选择。
视频将探讨Rust在现代软件开发中日益重要的原因。
桌面应用程序 [
00:02:05
]
Rust桌面应用开发的现状
过去:需要依赖C/C++框架的绑定(如QT、GTK)或使用Tauri等框架(Rust后端+Web前端)。
现在:2026年,Rust拥有许多原生的桌面开发选项。
Rust原生GUI框架
Iced:声明式/Elm风格的跨平台GUI库,注重简洁性和类型安全。
GPUI:Zed团队为Rust开发的快速、高效的UI框架,采用保留模式。
EGUI:即时模式GUI库。
Dioxus:用于构建全栈Web、桌面和移动应用的Rust框架。
2025年中发布了基于WGPU的HTML/CSS渲染器Dioxus Native。
底层GPU编程
WGPU crate:现代、跨平台的GPU抽象层。
允许开发者用Rust编写渲染器,并在Metal、Vulkan和DirectX上运行,不局限于游戏引擎或UI框架。
作者在视频编辑器Kiru中利用WGPU渲染视频帧,并通过Iced UI框架显示。
WGPU支持自定义GPU着色器,并能与Iced、Dioxus Native、EGUI等框架集成。
桌面开发生态的成熟
多样的GUI范式选择:声明式(Iced)、保留模式(GPUI)、即时模式(EGUI)。
跨平台支持:Rust桌面应用代码可以一次编写,并在Linux、macOS、Windows三大主流操作系统上运行,无需深入了解各平台原生框架。
对比Electron:Rust提供了与Electron类似的跨平台能力,但性能更优。
当前挑战
Tauri框架的WebKit稳定性问题日益突出,与Chromium的差异化导致其吸引力下降。
GPUI团队(Zed团队)将重心转向Zed文本编辑器核心产品,不再为GPUI添加不符合Zed路线图的功能。
尽管存在挑战,Rust在桌面领域的前景依然乐观,尤其考虑到其强大的跨平台支持和不断成熟的生态。
Cosmic桌面环境
System76团队用Rust编写的完整桌面环境。
展现了Rust在复杂桌面系统开发中的可行性,作者也已开始试用。
Web上的Rust [
00:05:54
]
Web应用的优势与Rust的融入
Web应用的核心优势在于易于分发。
虽然JavaScript主导Web,但Rust通过WebAssembly (Wasm) 正在Web开发中变得越来越强大。
WebAssembly (Wasm) 的发展
Memory64 [
00:07:17
]: Wasm规范的修改,支持64位内存寻址。
允许Web应用使用超过4GB内存,拓宽了Rust在浏览器中的应用范围。
浏览器支持:目前Memory64已在最新版Chrome、Firefox和Opera中可用,未来有望获得更广泛支持。
Wasm与JavaScript的权衡 [
00:09:02
]: Wasm在CPU密集型任务中性能优于JavaScript,但数据跨越JS/Wasm边界时存在性能开销。
作者认为,为了代码正确性、类型安全和更好的测试框架,这种开销是值得的。
Rust Web框架
单页应用框架:Yew (React/Elm风格,提供可靠高效的Web应用)。
全栈解决方案:Leptos (用于构建交互式Web应用的全栈框架)。
桌面Web跨平台框架:Iced (支持WebAssembly模式,将显示渲染到Canvas)、Dioxus (可直接导出到DOM,为全栈Web开发提供了非常吸引人的选择)。
内存使用 [
00:09:35
] [
00:12:06
]
内存成本的增加 [
00:09:46
]
RAM价格近年来显著上涨,未来内存使用成本预计会更高。
这将影响桌面PC组装和云应用部署的基础设施成本,如VPS托管服务。
Rust的内存效率 [
00:12:27
]
Rust是一种内存效率极高的语言,有助于降低内存使用成本。
通过Rust编写的API(如使用Axum)相较于TypeScript/Bun/Elysia编写的API,内存消耗可低至30倍。
这对于部署大量微服务或在有限资源环境下运行的应用来说,是巨大的优势。
TUI 应用程序 [
00:13:55
]
TUI应用趋势与性能问题 [
00:13:03
]
当前存在一些用TypeScript/React等语言编写的TUI/CLI应用,但其性能表现往往不佳,内存占用过高,甚至可能导致系统资源耗尽。
Rust在TUI应用中的优势 [
00:13:50
]
Rust以其资源效率高而闻名,是构建高性能TUI应用的理想选择。
CodeX CLI [
00:14:02
]就是一个用Rust编写的TUI应用实例,其卓越性能受到了广泛赞誉。
Ratatui [
00:14:15
]等Rust TUI框架提供了强大的工具,帮助开发者构建出色的终端用户界面,如作者使用其构建的Vim克隆版。
未来,Rust预计将在TUI领域涌现更多应用,替代那些资源效率低下的解决方案。
构建API [
00:14:46
]
Rust API开发的快速发展 [
00:14:51
]
过去构建API,Go语言是首选,速度快且无障碍。
现在:Rust的Axum框架结合Tokio的异步能力,提供了一种快速构建Web API的方式。
Axum框架的优势 [
00:15:00
]
利用Rust强大的宏和类型系统,大大减少了其他语言(如Go)中常见的API开发样板代码。
Path参数语法 [
00:16:15
]与OpenAPI RFC 6570标准对齐。
通过Serde crate [
00:15:24
],JSON数据的序列化和反序列化变得异常简单和强大,能够处理复杂的类型转换和别名。
Axum 0.8.0 [
00:16:07
]版本的发布,带来了路径参数语法改进和移除了对
async_trait
宏的依赖,进一步提升了开发体验。
Rust的这些特性让API开发变得高效且令人兴奋。
外部函数接口 (FFI) [
00:16:41
]
FFI的重要性 [
00:16:50
]
FFI允许编程语言调用其他语言(通常是C/C++)编写的库函数。
这使得Rust可以利用现有的系统级高性能库,而无需从头开始编写。
Rust FFI的实用性 [
00:17:00
]
作者利用Rust的FFI能力在macOS上编写了Objective-C绑定 [
00:17:07
],用于构建视频编辑器中的渲染管线,利用AVFoundation等原生库实现最佳性能。
虽然Rust的FFI在人体工程学方面不如Zig,但它依然非常强大和实用。
AI Agent与Rust编译器 [
00:17:35
]
AI Agent与代码生成 [
00:17:41
]
大型语言模型(LLMs)和AI Agent的兴起,使得生成FFI代码变得前所未有的容易。
AI Agent在代码编写方面效率极高,尽管可能“有些蠢”,但可以作为开发者的“领航员”,专注于架构决策和代码正确性。
代码正确性的挑战 [
00:18:24
]
随着AI生成的代码越来越多,人工逐行审查代码以确保正确性变得越来越困难和耗时。
这是一个需要通过缓解措施或解决方案来解决的问题。
Rust编译器的作用 [
00:18:54
]
Rust以其严格的编译器而闻名,这在AI生成代码的背景下成为一个巨大的优势。
Rust编译器能够应用确定性层来处理非确定性输出,减少潜在bug [
00:19:04
]。
结合测试逻辑 [
00:19:08
],Rust为使用AI Agent提供了坚实的基础,有效防止它们引入错误。
这种组合有助于在开发速度(AI Agent)和代码稳定性(Rust编译器)之间取得平衡 [
00:19:24
]。
作者认为,2026年将是Rust之年,至少在他自己的工作中是如此,并很高兴能够回归Rust的开发。
Copied!
Why didn’t you like it?
Inaccurate / wrong facts
Missing important points
Took too much time to load
Article too long / verbose
Article too short / not enough detail
Article hard to read / bad formatting
Images irrelevant / broken
Language / translation issues
Offensive / inappropriate
Other
Submit
Thank you for your feedback!
×