第46期:Rust 重塑前端?

2023-12-16

Rust 和前端的关联,最早好像只有 WebAssembly,作为浏览器支持的第四种语言,Rust 对 WebAssembly 有着较高的支持优先级。

最近几年 Rust 自身变得更火了,它在前端中的应用也越来越广泛,运行时、打包工具、Lint 工具、跨端应用等都有所覆盖,几乎把前端生态重塑了一遍,把前端的开发体验提升了一个层次。

这里就梳理一下前端生态中使用 Rust 开发的一些已经被广泛应用的工具、框架等。


技术

WinterCG

WinterCG (Web-interoperable Runtimes Community Group) 是指 Web 可互操作运行时社区组,它是由社区成员组成的一个工作组,成员包括 Cloudflare、Deno、Node.js、Vercel 等。该工作组的目标是推广统一 API 的 JavaScript 运行时,无论是服务端还是边缘计算环境都有统一的 API,比如同一套代码可以在 Node.js 中运行,也可以在 Deno、Cloudflare 环境中运行,无需额外的适配。

Fly Postgres, managed by Supabase

Supabase 发布了与 Fly.io 合作的 Postgres 数据库托管服务 Fly Postgres,该服务由 Supabase 运维,基于 Fly.io 的边缘计算平台部署,该服务集成了 Supabase 的所有能力,包含集成 40 多个插件的全功能 Postgres 数据库、基于 pgvector 的向量搜索、基于 Supavisor 的连接池、自动备份等。

开源

ElysiaJS

一个为人设计的、符合人体工学的 TypeScript Web 框架,专注于生产力的提升,让开发者更多的关注业务逻辑,而非框架本身,比如内置的类型系统可以帮助开发者减少大量类型代码的编写。

得益于 Bun 运行时、静态代码分析和动态代码注入,Elysia 有着极高的性能,甚至超过一些 Go 和 Rust 的框架,另外它不仅限用于 Bun,任何兼容 WinterCG 的运行时都可以使用。

templ

Go 的 HTML 模版语言,相较于 text/template 等同类方案,templ 开发体验更具优势,官方提供了 VSCode 插件,包含代码高亮、提示、自动补全等功能,另外其语法与 JavaScript 比较接近,上手成本较低。

Trippy

基于 Rust 开发的网络诊断工具,结合了 traceroute 和 ping 的功能,但支持更多的协议,具备更强的可定制能力,并且支持生成多种格式的报告文件。