Rustable:当数据库客户端决定用Rust编译成WASM,连浏览器都不放过
原创Rustable:当数据库客户端决定用Rust编译成WASM,连浏览器都不放过
项目概览:Rustable 到底是什么,以及它凭什么自称 "不是截图"
我第一次在 Hacker News 上看到 Rustable 时,注意力全被官网首页那句话带走了。那句话说得相当直接:这不是截图,这是 Rust 编译成 WASM 在浏览器里运行,而且明确不是 JavaScript 重写 BPPA。一个数据库客户端,把界面直接渲染进浏览器,这听起来不像常见做法。作者 JaTochNietDan 在 HN 上自述,目标很简单,做一个免费开源的 TablePlus 替代品,他正在把它当作日常驱动工具使用 HH。
当前版本 v0.4.7,作者自己给的状态是早期软件(Early software)。macOS 版本已经签名并通过公证,同时提供 Windows x64 和 Linux x64 构建产物 BPPA。支持五种数据库:PostgreSQL、SQLite、MySQL、MariaDB 和 Redis,其中有一个特别之处,Redis 演示版直接跑在 Rust/WASM 内存里,支持命令子集,运行 INFO 就能看到完整列表 BPPA。
作者在 HN 评论里给了自己一个定位,说是 vibe coded with direction,有方向感的氛围编程。他承认有些地方可能还有点生硬,janky things here and there HH。这种自评在早期开源项目里算坦诚的,至少比那种一上来就吹成生产级稳定的写法可信。
技术细节与量化数据:Rust 到 WASM、egui 渲染和那些"反直觉"的设计选择
技术栈的核心是 Rust 编译到 WASM 在浏览器里跑,桌面端则用原生 Rust 加 egui,一个 GPU 渲染的原生 UI 框架。官网特别强调"不包含浏览器",理由很妙:你已经有浏览器了,它正在显示这个网站 BPPA。同一套 Rust 代码,桌面版不打包 WebView,网页版直接跑 WASM,这种分发路径在数据库工具里不常见。
性能设计上,官网给出的具体手段包括复用连接(Reused connections)、虚拟化行(Virtualized rows)、把工作负载移出 UI 线程(Work kept off the UI thread)。理由概括成一句话:速度来自做更少的工作,Speed comes from doing less work BPPA。这个提法有点反直觉,通常讲性能都是加更多缓存、更多并行,这里强调的是少做事。
egui 界面能以显示器刷新率重绘,支持平滑滚动和缩放。作者对此有个带调侃意味的表述:你买了不错的显示器,总该用它做点除了显示鼠标光标之外的事 BPPA。功能清单包括 SSH 隧道、模式浏览、SQL 标签页、保存的查询,以及保存前可审查的编辑,edits you can review before saving。多连接多窗口都有,生产环境连接会有一种令人警觉的颜色标记 BPPA。
浏览器演示版可以通过 ⌘O / Ctrl+O 以副本形式打开 SQLite 文件,原始文件不受影响。服务器连接需要桌面应用,Windows 和 Linux 用户被明确欢迎,You're welcome BPPA。这句话写得挺直接,没有那种商业软件式的委婉。
作者判断与社区反馈:从 HN 到官网,哪些信号值得注意
作者在 HN 上说得比较清楚,他已经在用 Rustable 作为日常驱动工具,正在打磨粗糙之处,还发明了一个自己的衡量标准:它已经足够好用了™,works well enough™,但预计还会有一些生硬的地方 HH。这种带商标符号的自评,在严肃项目里少见,但确实让技术产品多了一点性格。
官网把目标用户定得相当明确:为想完成工作的人而建,不是小丑,Built for people who want to get their work done. Not clowns。后面还补了一句:小丑们可以自行从源码构建,Clowns may build from source BPPA。这句玩笑话把项目定位说得很清楚,它不打算迁就所有人。
HN 帖子本身只有 1 分和 1 条评论,就是作者自己的自述 HH。这既是早期项目的常态,也意味着目前唯一的外部交叉验证,来自作者自己的 HN 陈述与官网描述的一致性。我不确定这个项目会走向哪里,但至少目前它还没有引发大规模社区讨论。
对比官网对高可用性的强调,多个连接、独立窗口、生产环境警示色,与作者自述的目标,像 TablePlus 一样高性能易用但没有那个烦人的付费弹窗 HH、BPPA。核心卖点不是功能数量,是零付费干扰与纯 Rust 性能的组合。这让我想到一个反直觉的地方:官网把"不需要浏览器"当作卖点,同时又把"能在浏览器里跑 WASM"作为另一卖点。前者指桌面版不打包 WebView,后者指网页版演示,两者并不矛盾。这种同一套 Rust 代码、两种分发路径的设计,在数据库工具中确实少见 BPPA。
我的判断是,Rustable 目前最大的不确定性不在技术,而在社区。作者有明确方向,也坦承粗糙之处,但一个只有作者自己回帖的项目,离真正的用户验证还有距离。它至少证明了一件事:Rust 编译到 WASM 跑数据库客户端,在浏览器里是行得通的。
原文:
Show HN: Rustable is an open source database client built in Rust · 来源:Hacker News
参考来源:
作者:itfan123 值班编辑 · 发布于 2026年11月3日
版权声明
所有资源都来源于爬虫采集,如有侵权请联系我们,我们将立即删除
itfan123



