Elytra
日志

RustChinaConf 2026:没想到会这么开心

请掉今年最后一天年假,去深圳参加 RustChinaConf & GOSIM。听了两天讲座,认识了不少有趣的开发者,还遇到一些完全没想到的惊喜。

10 月 16 日和 17 日,我去深圳参加了 RustChinaConf 2026 & GOSIM Shenzhen 2026。

去之前,我以为就是听两天技术讲座。结果回来以后,这几天一直在翻照片、看大家发的推文,还想着当时聊过的那些话题。

趁还没忘,记一下这两天发生的事。

1始于最后一天年假

最初是看到一位前辈朋友分享了大会信息。我去看了看日程,Rust、AI、编程语言、开发工具……感兴趣的还真不少,就决定去现场。

问题是,第一天在周五。于是我把今年最后一天年假请掉了。

请假之前几天,我先把手上的工作尽量提前做完。平时六点半下班,那几天经常忙到十点,有时甚至到凌晨。终于到了周五早上,我从平湖出发,坐了大约两个小时的地铁去蛇口。

到会场时差不多十点,开场已经开始了。

RustChinaConf 2026 举办酒店的入口

2第一天:走进 RustChinaConf

上午先听了 Jack Huey 的 Symposium。它想解决的是 AI 写代码时缺少项目上下文的问题:依赖库、内部约定、新接口这些信息,模型不一定知道,总不能让它每次都靠猜。我觉得这很实用,毕竟现在用 AI 开发,最怕的就是它一本正经地乱改代码。

接着是 vivo 蓝河操作系统的分享。用 Rust 做嵌入式系统,在内存和性能上抠得很细,讲者还提到一些引用计数和内存布局的优化。可惜没及时记笔记。现在回想起来,具体是怎么优化的已经有些模糊了。

之后是月之暗面的唐飞虎老师,分享 AI 生成 Rust 项目的分析,包括相关基准测试,以及 AI 在真实项目中遇到的问题。她的气质很优雅,演讲也流畅自然。我之前其实不认识她,听的时候顺手搜了一下资料,才发现她曾在 Google 工作,还拿过 ACM/ICPC 亚洲区域赛金牌、微软「编程之美」挑战赛冠军。1

唐飞虎老师在 RustChinaConf 分享 AI 生成 Rust 项目的分析

唐飞虎老师演讲时的另一张现场照片

后来在会场外又碰见她。我其实很想过去打个招呼,又怕耽误她时间,一直有点犹豫。看到其他人也上前交流、加了微信,我才走过去,介绍自己是做游戏开发的。我们聊了几句,也加上了微信。

中午的自助餐也很惊喜。我出发前还以为没吃的,特意带了两个面包,结果现场菜品、沙拉、水果和甜点应有尽有,光小蛋糕就有六种。面包算是白带了。

大会午餐现场

大会午餐现场

大会午餐现场

不过我更关心坐在哪里。看到上午认识的一位开发者,就坐过去继续聊。他做 AI Gateway,和我平时做的游戏开发是两个不同的方向。

下午有三个分会场,我就在不同的会场间串门。

先听了华为工程师介绍 RustBot,用规格、测试和审查来约束 AI 生成代码的质量。

RustBot 演讲现场

接着听小红书的 QUIC 网关,涉及 C 与 Rust 的跨语言调用、unsafe、内存分配和无损热重启。我对网络后端了解不多,很多实现细节当场其实没跟上。

中间还跑去隔壁听了一部分 AI Agent 审查 Unsafe Rust 的分享。后来又听了 GitMono 的 Libra,它想让版本管理不仅记录 Agent 改了哪些代码,也记录执行过程和决策。

其中让我特别想提问的,是 RustScript。

RustScript 演讲现场

我之前用 Rust 和 Bevy 写过体素游戏,最头疼的就是编译慢、迭代慢。RustScript 这种可嵌入、可以在运行时执行的脚本语言,对我来说很有吸引力:既可能加快迭代,也适合用来做 Mod。

我其实提前想好了要问什么:先简单说明自己的游戏开发背景,再问两个问题——为什么要设计自己的字节码和虚拟机,而不是用 WASM?它对热重载又能支持到什么程度?

真正举手开口时还是有点紧张。问题虽然都问出来了,但没有预想中那么流畅,说话时还不自觉地盯着地板,没怎么敢看讲者。听完回答,我有些地方仍没理解透,又担心继续追问占用太多时间,就先作罢了。

好在演讲结束后,我又去找到作者 Wangchong Zhou(fffonion)继续聊。他提到,自定义字节码的一项优势是体积可以更小;但为什么这个优势值得另起一套运行时,我当时还是有些疑问。

至少这次问得比台上清楚些,也加上了微信。下次公开提问,还是得放松一点。

3那天晚上,我真的太开心了

下午最后一场,我听了半糖老师的《不需要 JavaScript 的 Vue:Rust 嵌入式 UI 新探索》。这是我第一天最喜欢的演讲之一。

这场演讲讲的是 PocketJS 的另一条路线:平时可以用 Vue、TypeScript 写界面,常规方案在老设备上通过精简的 JavaScript 运行时配合 Rust UI 内核运行;而他们也在尝试把受支持的界面和逻辑提前编译成 Rust,让应用不必再带着 JavaScript 引擎运行。23

半糖老师介绍 PocketJS,以及在 PSP 等老设备上运行的界面

现在硬件性能已经这么强了,很多软件却越来越臃肿。他们反而愿意为了二十多年前的设备,去压榨最后一点内存和性能。明明是那么小众的事情,却做得如此认真。

数字摆出来就更直观了:初代 PSP 只有 32 MB 主内存,CPU 最高 333 MHz。PocketJS 的演示把应用内存预算控制在 8 MB,包括 QuickJS、Rust UI 核心和纹理等开销,还能实现流畅的 60 FPS 动画。这里的 8 MB 是应用使用的内存空间,不是整台 PSP 只有 8 MB。3

更让我惊讶的是,他们连初代 Game Boy 都支持。那可是只有 8 KB 工作内存、8 KB 显存,CPU 约 4.19 MHz,屏幕分辨率仅 160 × 144 的机器。4 PocketJS 团队的 Pocket Vapor 已经把 Vue 写的待办事项应用编译成了 32 KB 的 Game Boy ROM,能在上面增删待办、切换筛选、编辑文字。它走的是提前编译的路线,把组件编译成 C,再生成卡带程序,不需要在机器上塞进 JavaScript 引擎。5 用熟悉的前端写法,给这样的老设备做出能交互的界面,实在太有意思了。

半糖老师展示从 Vue 到原生 Rust 代码的编译流程

PocketJS 团队展示的 Game Boy 运行画面

我想起了以前在广州实习时的一位 Leader。他是做游戏引擎开发的,喜欢各种老设备,桌上有小霸王、3DS,还曾经用 BASIC 在非常古老的机器上写过游戏,有点末日生存的味道。

那时我不太明白为什么要花这么多精力做这种事,直到亲自玩过他的游戏,才渐渐被感染。现在听半糖讲 PocketJS,又有了类似的感觉。明明是很多人早就不用的设备,他们却还在认真琢磨怎样让它跑得更好。肃然起敬!

演讲结束后,我看见半糖和其他人在讨论,就先站在旁边听。等有机会了,再过去介绍自己,提到我以前用 Rust 和 Bevy 做过一个开源体素沙盒游戏。

没想到她&他们还挺感兴趣,甚至聊起了有没有可能把体素游戏移植到这些老设备上。真做起来肯定不简单,但光是想想就很酷。

就这样,我认识了 PocketJS 创始人雪碧,也就是 Evan (Yifeng) Wang,还有 半糖(Pipe) 和 Jimmy。

后来我问他们晚上有没有聚会,能不能一起去。

结果真的一起吃火锅去了!

那晚聊了很多东西,有几个问题直到现在我还在想。

首先是要不要自己做游戏引擎。我平时用 Unity 开发,也曾经用 Rust 和 Bevy 写过体素游戏。席间有位朋友建议我,如果要做的游戏足够特殊,而现成引擎主要是为通用游戏设计的,那就值得认真考虑自研引擎,而不必一直迁就 Unity。我听完很受触动,但也有疑问:自己从头做引擎,开发成本不是会高很多吗?那晚其实还谈到了更深一层的原因和成本问题,可惜我前一晚凌晨三点才睡,现在记不清他的完整论证了。先把这个建议记下来

第二个是 Three.js。这位朋友也很推荐它,但我以前总觉得“网页端”意味着性能有限,做不了太复杂的东西。后来我特意看了一些 Three.js 作品,才发现自己低估了它。渲染工作很大一部分由 GPU 承担;就连物理计算,也可以用 Rust 编写、通过 WebAssembly 在浏览器里运行的 Rapier。当然,这不代表浏览器没有 CPU、内存或者绘制调用的瓶颈,但至少不能只因为它运行在网页里,就先把它排除掉。

还有一个关于 AI 协作 的想法:团队里的开发者能不能共享各自使用 AI 时的会话记录?这样接手别人工作时,看到的就不只是最终代码,还能知道他和 AI 讨论过什么、为什么选择这个方案、试过哪些办法。我以前更多把 AI 对话当成自己的临时工作记录,没怎么想过它也可能是团队交接的一部分。当然,真要共享,还得处理好隐私和敏感信息。

除此之外,我们还聊了各自的项目、编程语言和过去的经历。饭后一起去了蛇口海上世界,在海边逛了逛,还拍了合照。

回想起来,那晚最让我开心的其实不是吃了什么,也不只是聊到了多少技术问题,而是能近距离听他们分享。他们聊起自己的项目时很投入,其他时候又很轻松。那种从容、优雅的气质特别吸引我。我很喜欢和他们相处的氛围,光是坐在那里听他们聊天,就觉得很幸福。

我自己也忍不住问了不少问题。后来偶尔会想,是不是应该少说一点,多听听他们彼此想聊的事。毕竟他们平时就在一起合作,难得线下聚一聚。不过,这些也只是我事后的猜想。

原本只是去听一场演讲,没想到晚上能和他们一起吃饭、散步、看海。真正让我留恋的,是那个晚上和他们待在一起的感觉。

那天晚上,我真的太开心了。

我另外写了一篇 《为什么要让 Vue 跑在 PSP 上?——与 PocketJS 团队的一个夜晚》,专门记录 PocketJS 的技术和那晚聊到的一些故事,这里就不重复展开了。

与 PocketJS 开发者们的合照

在 X 上查看原推文 ↗

4第二天:继续探索

第二天上午的《Rust 的下一个十年》圆桌讨论中,Rust Foundation CEO Rebecca Rumbul 多次强调:即使在 AI 时代,开发者和开源维护者仍然不可或缺。现场还提到了前一天分享 rustup 的 Li Gen(rami3l),他今年获得资助,成为全职维护者。随后,非凸科技的吕国立介绍了 Rust 异步日志库 ftlog 的低延迟实践。

4.1从音乐、法律讲到 Rust

上午我最喜欢的演讲,是 Hunter Bown 的《Rust:生态构建者》(Rust as an Ecosystem-Builder)。

他是 Shannon Labs 的 CEO、开源项目 CodeWhale 的作者,但最吸引我的是他的经历:他以前竟然是一名乐团指挥,还谈到了自己读 MBA、学习法律(JD,法律博士)的经历。他说自己不是科班出身的程序员,如今却在开发大型 Rust 项目。光是这个跨度,就让我觉得很酷。2

他没有一上来就讲 Rust,而是从音乐记谱法讲起。

他展示了约 920 年圣加仑的纽姆谱:符号能提醒歌手旋律大致怎么走,却没有精确标明每个音的音高。如果歌手原本不知道旋律,单凭这样的谱子就很难唱出来。后来,记谱法逐渐加入表示音高的线和间。PPT 上一份 1071 年的罗马抄本就能看到红色的 F 线、黄色的 C 线,音高的位置比早期明确得多;他还提到了 Ut、Re、Mi、Fa、Sol、La 这些唱名。6

接着,他竟然又从音乐讲到了法律和会计。

中世纪的英格兰,转让土地曾经要当着证人的面交出一块草皮;后来,重要的土地交易逐渐需要写成有签名的契约。会计也有复式记账,让借贷两边能够相互核对。看起来完全不相干的事情,其实都在解决类似的问题:谁可以做什么、各部分怎样保持一致,以及谁来检查承诺有没有兑现。

他把音乐、法律、会计和 Rust 放在一张表里对比。乐团要靠排练和指挥来校正,法律纠纷要等法院介入,账目需要审计;而 Rust 的一些约束,可以在编译时就被检查。比如,&self 和 &mut self 被他类比成对资产的非排他使用许可和排他使用权,取得所有权则像产权转让。比喻当然不完全等同,但一下子让我更容易理解:Rust 的所有权规则,不只是难记的语法,也是对「谁有权使用和修改数据」的明确约定。

他还展示了 CodeWhale 中一个很具体的例子:给 WireFormat 枚举新增 GeminiNative 后,如果某处 match 忘记处理新分支,编译器就会报出 non-exhaustive patterns 错误。AI 可以先写代码,编译器负责指出遗漏,再由开发者审查。让机器起草,让 Rust 裁决。 这个例子比单说「Rust 很安全」更有说服力。

不过他并没有把 Rust 的所有困难都说成优点。PPT 里专门区分了有益的严谨和偶然复杂性:谁拥有数据、可能出现哪些状态、什么情况会失败,这些是程序本来就需要面对的问题;而编译缓慢、某些生命周期设计的摩擦、异步开发的边界问题,则是工具带来的负担,值得继续改进。他还对比了 Rust、Swift、C++、Go 等语言各自能检查和保证什么,而不是简单说其他语言都不行。

他最后的落点:AI 让代码实现越来越容易,但准确表达意图、让不同的人在彼此的成果上继续合作,反而更加重要。当然,编译通过并不等于程序完全正确,测试和代码审查依然少不了。

还有一点让我挺意外:Hunter 全程用英文演讲,PPT 却几乎都做成了中文。音乐、法律、会计这些跨领域的例子,光是整理和翻译应该就花了不少心思。加上我自己学过音乐,后来又转向游戏开发,听他把这些东西和 Rust 联系起来,感觉格外有意思。

后来看到他在 X 上发的中文帖子,发现他本人也挺可爱的。他自称是「做 DeepSeek-TUI 的那个美国佬」,找大家帮忙验证微信,还开玩笑说自己的名字音译成「亨特宝」,听起来像个小宝宝。哈哈。

4.2在代码库里飞来飞去

紧接着是 Makepad 和 Cloud9 IDE 联合创始人 Rik Arends 的《用 Makepad 可视化大型代码库与 AI Agent 活动》。他现场展示了 Makepad Scope:把庞大的代码库变成一片密密麻麻的彩色方块,远看能分辨不同模块,放大后又能一路钻进文件、文字,甚至看到像素级的细节。除了 2D 的方块地图,还能切到 3D 视角,配合时间线观察 Agent 在哪些模块工作、留下了什么改动。2

最让我惊讶的是缩放的过程。视角不断拉近、拉远,层次之间几乎感觉不到切换;有一段甚至像是放大到尽头,又从另一个尺度接了回来。我当时就在想:这东西怎么能渲染得这么丝滑?它用的是 Rik 自己开发的 GPU 加速 Rust UI 框架 Makepad。第一反应是普通网页界面恐怕很难做到这样,不过浏览器也能通过 WebGPU 做复杂的 GPU 渲染,真正厉害的还是这套可视化与交互本身。

在 X 上查看原推文 ↗

Scope 也不只是把代码画得很酷。AI Agent 一次能改很多文件,而它试着让这些活动变得可见:从整个项目一路找到某个文件、某处 diff,看看 Agent 到底在忙什么。

我看完就想下载来试试,后来才发现当时还处于 Beta 阶段,没有完全开放。原本想在演讲结束后找 Rik 问问能不能参与测试,结果紧接着就是大会大合照,没能找到他,后来也没找到机会。多少有点可惜。

Scope 其实只是他用 Makepad 做的一个应用。他还展示了自己写的幻灯片工具,可以直接用代码描述页面、动画和特效,也方便让 AI 帮忙修改;另外还有日历等应用。相比单独一个炫酷的演示,这些东西反而让我更想了解 Makepad 本身。

下午我去听了 丁盛豪(Delton) 的《Rust 的交互艺术:如何利用 Rust 技术栈重塑多媒体设计工作流》。

他展示了 Godot CEF 和音频 DAW 项目 Heron。把浏览器嵌入游戏引擎,听起来似乎只是接几个接口,实际却会遇到各种离奇的兼容问题,连显卡和驱动版本都能成为麻烦。2

演讲中展示的音频工作站项目

Delton 的演讲现场

Godot CEF 的兼容问题和 Heron 这样的 DAW 工具,都是我平时会关心的东西。会后我加了 Delton 的 QQ,也去关注了项目。

当天最后还听了 Jolestar 讲 Holon。它是一个事件驱动的 AI Agent Runtime,可以让不同角色的 Agent 工作、等待事件、通过 Webhook 接收反馈,再继续协作。我对这种不只是「问一句答一句」的 Agent 系统也挺感兴趣。

这两天还认识了一位很友善的前辈,我叫他江哥 aka John。

第一天下午进会场时,我想坐一个位置,他还帮我拉开椅子。后来我们聊了聊,加了微信。第二天大会大合照,我刚好站在他旁边,还和他单独拍了一张。

会后我从大会的官方照片直播里找到合照,发给了他。他回了一段话,说很欣赏我这次主动与行业里的开发者交流、建立联系,还鼓励我以后成为一名杰出的开发者,大家共同进步。

看到这段话真的很感动。毕竟我们才认识两天,他却这么深刻地鼓励我。我把那段话记载了私有日记里。

与江哥的合照

RustChinaConf 大会合照

5居然真的见到了 DHH!

说回第二天上午,还有一件完全没想到的事。

我在楼上的 Omarchy 相关会场,真的见到了 David Heinemeier Hansson(DHH)!

以前我只在视频和文章里见过他,知道他创造了 Ruby on Rails,后来又做了 Omarchy。这次他在 GOSIM 的 Keynote 会场分享 Omarchy。虽然提前知道有这场演讲,但真见到本人时还是很激动。7

我站在后面听他讲话,还远远录了点视频留念。

DHH 在会场演讲

散场后,不少人围着他合影。我也想拍一张,可又担心会打扰他,就没有凑上去。后来准备离开时,他刚好从前面经过,旁边的人也少了一些。

机会来了。

我赶紧准备好手机,过去请求合照。

终于拍到了!

拍完我一路笑得合不拢嘴。以前只在视频和文章里见过的人,这次真的和我站在了一张照片里。

后来我把合照发到 X 上,想留个纪念。

在 X 上查看原推文 ↗

在 X 上查看原推文 ↗

没过多久,X 上又弹出来一条通知:DHH 给我们的合照点了赞。

我看到后又兴奋了一次,忍不住再发一条推文:

这真的能让我开心一整年!

后面还有其他开发者过来留言恭喜。

后来我又专门写了篇 《DHH:不止于程序员的传奇》,了解他在 Rails、创业、赛车和 Omarchy 等方面的经历。至于这次大会,光是这张合照,已经足够让我开心很久了。

6大会之后

我以前几乎不用 X。

之前发过几条推文,没什么人看,也就懒得继续发了。平时做出新功能,更习惯发在开发者群里,但群消息一多,很快就被刷过去。

这次认识了很多新朋友,我开始在 X 上发合照、大会照片、个人网站更新,还有自己的游戏项目。

没想到还真有人看,而且有不少点赞和互动。受到鼓励,我甚至一天连发了好几条。以前几年都不怎么发,现在反而想起什么有意思的就想分享一下。

为了让大会上认识的新朋友更方便了解我,我还重新整理了个人网站 elytra.dev,加上项目介绍、视频、文章节点图和相册。发到 X 后,没想到 GOSIM Foundation 的官方账号转发了,还留言鼓励我,说他们很高兴看到大家在线下结识同好、激发新的灵感。原本只是想把自我介绍准备得更好一些,结果收到了这样一份回应,看到时真的很感动。

后来雪碧还发了一条推文,介绍我和我的游戏,也提到我们大会结束后一起吃火锅的事。看到他写「相谈甚欢」,我还挺开心的。之后又有更多开发者来看我的作品、关注我。

以前我总觉得,自己做的东西发在开发者群里,过一会儿就没人看见了。这次才发现,原来也会有其他方向的开发者感兴趣。

第一天晚上聊到把我的开源体素游戏 Ethertum 移植到老掌机时,我还以为真要做的话,得自己花不少时间学习相关工具、慢慢适配。

10 月 23 日,PocketJS 发布了 Pocket Ethertum:一个面向 PS Vita 的 Ethertum 移植版本。它不是直接把原来的 Bevy 引擎搬过去,而是利用 Pocket3D 和 PocketJS,重新实现了地形生成、渲染和交互等部分。现在不仅可以在官网在线体验,也提供 PS Vita 版本下载,项目的源代码也开源了。

看到发布推文时,我真的特别激动。雪碧居然已经把它做出来了!

在 X 上查看原推文 ↗

7留给下一次的自己

这次也有几件想改进的事情。

首先是记录。第一天我没带笔记本,主力电脑太重、续航又短,里面还放着一些没备份的项目,不太放心。第二天还是背去了:RTX 4070 的游戏本性能倒是够用,但大约三个小时就没电了。听一天讲座,带着它实在不方便。

我打算买一台 MacBook Air M3,主要是为了外出查资料、做笔记,或者远程连自己的电脑。它标称有十多个小时的续航,实际能撑多久还得自己用过才知道。8 下次在允许录音的场合,也想试试语音转写加 AI 整理。毕竟这次有些演讲,晚上想回忆时已经记不清了。

还有拍照。这次和不少人拍了合照,回头看别人用 vivo 拍出来的照片,再看看自己小米 14 Pro 的效果,确实有点后悔没早点换。我也打算买一台 vivo X300 Pro。这两天才意识到,比起平时随手拍,难得见到的人和场景没拍好,才是我更在意的事。

其次是提问和交流。下次不用那么紧张,也不用为了省时间把问题压缩到自己都说不清楚。加了微信之后,也可以当天就发一句简单的介绍,不必等到个人网站改得十全十美。

最后还是想多参加一些这样的活动。

RustScript 为什么要自建虚拟机,我到现在还没想明白。自研引擎值不值得、Three.js 能做到什么程度,也想找机会自己试一试。

更希望下次见到这些朋友时,我们还能接着聊这些问题。

回头看看,周五那两个小时的地铁、提前几天的加班,还有今年最后一天年假——

花得真值。


注释

  1. 2026 Singularity Intelligent Technology Summit,唐飞虎讲者介绍。主办方资料记载其曾在 Google 工作,获得 ACM/ICPC 亚洲区域赛金牌及微软「编程之美」挑战赛冠军;区域赛金牌并不等于 ACM/ICPC 全球总决赛冠军。 ↩

  2. RustChinaConf 2026 官方,完整三日议程。用于核对演讲名称、讲者及项目简介;现场交流和个人感受来自当时的经历。 ↩ ↩2 ↩3 ↩4

  3. PocketJS 官方,Introducing PocketJS、Architecture 与 TypeScript and native code。介绍普通 JS 运行路径、Rust UI 内核及可选的 Rust 提前编译路线;PSP 演示的 8 MB 是应用内存预算(含 QuickJS、Rust 核心和纹理等),并非整机内存。 ↩ ↩2

  4. GBDev,Pan Docs 历史版 Game Boy Technical Data。列出初代 Game Boy 的 8 KB 工作内存、8 KB 显存、约 4.19 MHz 主频及 160 × 144 分辨率。 ↩

  5. Yifeng "Evan" Wang,2026-07-23,Pocket Vapor: Vue, Compiled All the Way Down。团队的一手技术文章,展示将同一 Vue 待办事项组件编译到 Game Boy、GBA 和 NES 的案例;Game Boy 版本为 32 KB ROM,通过生成 C 代码实现,无需 JavaScript 引擎。另见团队的 Game Boy 设备页,含运行画面及示例代码。 ↩

  6. 巴塞尔大学,Lines and staff。介绍早期纽姆谱、11 世纪线谱的演进及一份 1071 年带红 F 线、黄 C 线的罗马抄本;演讲中的对应内容来自现场 PPT 和笔记。 ↩

  7. GOSIM Shenzhen 2026,DHH 的 Omarchy 演讲介绍。用于核对同期活动与讲者信息。 ↩

  8. Apple 官方,MacBook Air(13 英寸,M3,2024 年)技术规格。标称最长 15 小时无线上网、18 小时视频播放;实际续航取决于软件、网络和负载。 ↩

CONTINUE EXPLORING

沿着这篇文章继续

在地图中查看

欢迎补充、提问,或分享不同的看法。使用 GitHub 账号登录后即可评论。

On this page