RaTeX:一个想把 WebView 从公式渲染里请出去的 Rust 项目
做移动端公式渲染的人,大概都踩过同一个坑:你以为自己只是想在页面里放一个分数、一个根号,结果背后跟着进来的,是整套浏览器逻辑。WebView、JavaScript、DOM,一个都没少。公式没几行,包袱倒挺大。
RaTeX 这个项目就是冲着这件事来的:它不是在现有浏览器方案上修修补补,而是干脆换了一条路,用纯 Rust 写了一个 KaTeX 兼容的公式渲染引擎,不要 JavaScript,也不要 WebView。
这事第一眼看上去有点“技术洁癖”,但真放到产品里,其实很现实。很多教育类、题库类、学术类 App,公式不是偶尔出现一下,而是整页整页地刷。你一旦走 WebView 方案,就很容易碰上内存占用、冷启动慢、离线体验不稳定这些老问题。
RaTeX 在 README 里写得很直接:它想做的就是把这层 web 栈整个拿掉,让公式回到原生渲染。
更有意思的是,它不是只做了一个“Rust 核心很酷”的 demo。这个项目现在的路子挺完整:一套核心代码,往外接 iOS、Android、Flutter、React Native、Web,还能导出 PNG 和 SVG。也就是说,同一套公式布局逻辑,可以在不同端上复用,不用每个平台再各写一遍脾气不同的渲染实现。
对于跨端团队来说,这个吸引力其实比“纯 Rust”四个字还大。
语法兼容度也够实用。项目页给出的说法是,大约覆盖了 99% 的 KaTeX 写法,像分数、根号、积分、矩阵、伸缩括号这些常见表达都能处理;另外还带上了 \ce 和 \pu,也就是化学方程式、物理单位这类理工科场景里很常见但又经常被忽略的内容。
这个细节我还挺在意的。因为很多“能显示公式”的方案,最后都卡在“数学可以,化学麻烦,单位再说”这一步。RaTeX 至少看起来不是只想做一个展示用玩具。
当然,话也别说太满。KaTeX 生态已经很成熟了,前端世界围着它转了很多年。RaTeX 现在更像是在另一个方向上给出了一个很新的答案:不是继续忍受 WebView,而是试着把公式渲染重新做成原生能力。这个思路对不对,最终还得看后面的稳定性、字体细节、复杂公式边角,还有真实项目里的接入成本。
GitHub 页面显示它最近还在持续更新,最新 release 是 2026 年 4 月 6 日的 v0.0.15,至少不是那种放完一版就不管的仓库。
但即便先不聊那么远,我还是觉得这个项目值得多看一眼。原因很简单:它碰的不是一个“炫技需求”,而是一个很多人早就默认只能忍的老问题。公式渲染这件事,过去太习惯借浏览器来完成了。RaTeX 的意思大概是,未必非得这样。
有时候,真正让人眼前一亮的开源项目,不是它把世界讲得多大,而是它盯着一个很具体、很烦、很多人天天都在绕着走的问题,然后认真给了另一种做法。RaTeX 现在给我的感觉,就是这种项目。
Github地址:erweixin/RaTeX