Hono、tRPC、ElysiaJS:让前端仔写后端爽到飞起的神器

4,310 阅读4分钟

前言

作为一个从前端入行的开发者,你是不是在想写全栈项目时一筹莫展,经常在选技术栈时纠结到秃头?Express 太老、NestJS 太重、Fastify 不够潮? 别担心,今天给你介绍三个使用 js/ts 的现代后端(和前后端通信)框架:Hono、tRPC、ElysiaJS,它们各有绝活,能让你写代码时笑出声。

Hono:边缘计算的轻量刺客,代码比你的待办事项还短

它是什么?

  • 一个超轻量 Web 框架,能在 Cloudflare Workers、Deno、Bun、Node.js 上运行;
  • 压缩后只有 14KB

核心功能

多平台兼容:一份代码,到处运行(边缘函数、Serverless、传统服务器全支持)。
极简 API:语法像 Express,但更干净,没有历史包袱。
超快路由:比 Express 快,甚至比 Fastify 还快(Fastify:??)。

适用场景

  • 你想在 Cloudflare Workers 上部署 API,享受全球超低延迟;
  • 你需要一个超轻量后端,比如 Serverless 函数、CDN 边缘逻辑;
  • 你讨厌臃肿的框架,喜欢“够用就行”的哲学。

优点

  • 极低资源占用,适合边缘计算场景;
  • 语法类似 Express,迁移成本低;
  • 支持 TypeScript 类型推断(如路径参数推导)。

缺点

  • 生态不如 Express等传统框架丰富,某些场景得自己造轮子;
  • 文档虽然够用,但不如传统框架那样“全网都是教程”。

tRPC:全栈开发的类型安全胶水

它是什么?

  • 一个类型安全的 RPC 框架,让你像调用本地函数一样调后端 API;
  • 前后端通信的终极优化方案

核心功能

无缝类型同步:改后端接口?前端类型自动更新,再也不会“接口又变了!”
零 API 设计:不用写 REST 路径,直接调用 getUser({ id: 1 }),像魔法一样。
React/Next.js 深度集成:配合 @trpc/react-query,状态管理都省了。

适用场景

  • 你受够了手动维护 api.tsswagger.json,想要自动类型
  • 你在用 Next.js,想要一体化全栈开发(API 路由 + 前端直接调用);
  • 你希望前后端联调时间从 3 天缩短到 3 分钟。

优点

  • 极简的 API 设计与开发体验;
  • 全栈类型安全,减少联调成本;
  • 适合微服务架构和全栈 TypeScript 项目。

缺点

  • 只适合 TypeScript 项目,JavaScript 用户只能干瞪眼;
  • 不适合超大分布式系统(这时候请上 gRPC)。

ElysiaJS:Bun 生态的性能怪兽,类型安全狂魔

它是什么?

  • 一个超快、类型安全的后端框架,专为 Bun 运行时优化(但也能跑在 Node.js 上);
  • 官方号称比 Express 快 21 倍(Express:你礼貌吗?)。

核心功能

自动类型推导:连路由参数都能给你推导成 TypeScript 类型,再也不用写 as any 了!
Zod 集成:请求校验直接和类型绑定,写 API 像写合同一样严谨。
Bun 原生优化:如果你用 Bun,ElysiaJS 就是你的涡轮增压引擎。

适用场景

  • 你需要一个独立的高性能后端(比如实时数据处理 API);
  • 你受够了手动写 if (!req.body.name) throw Error("名字呢?"),想要自动校验
  • 你在玩 Bun,想试试“未来 Web 开发”是什么感觉。

优点

  • 极致的类型安全与开发体验;
  • 高性能和轻量化设计;
  • 支持 Bun 原生生态,适合现代全栈项目。

缺点

  • 生态还在成长,不像 Express 等传统 js 服务端框架有海量中间件;
  • 如果你不用 TypeScript,它的超能力就废了一半。

架构设计:怎么搭配最爽?

场景 1:Next.js 全栈项目(个人项目 MVP)

🏆 推荐组合:Next.js + tRPC

  • 优点:一体化开发,类型安全,部署简单(Vercel 一把梭)。
  • 代码示例
    // 后端(Next.js API 路由)
    export const appRouter = router({
      hello: publicProcedure.query(() => "world!"),
    });
    
    // 前端(直接调用)
    const { data } = trpc.hello.useQuery(); // data = "world!"
    
  • 适合:博客、工具类 SaaS、个人项目。

场景 2:高性能独立后端 + 边缘优化

🏆 推荐组合:Next.js + ElysiaJS(Bun) + Hono(边缘)

  • 优点:Next.js 负责前端,ElysiaJS 处理核心业务,Hono 做边缘缓存/鉴权,前后端完全解耦。
  • 适合:高并发 API、全球分布式应用、大型应用(如电商平台)。

场景 3:React/Vue 前端 + 轻量 API

🏆 推荐组合:React/Vue + Hono(Cloudflare Workers) + 自动类型生成

  • 优点:超低成本、超低延迟,适合轻量级应用。
  • 适合:静态网站 + 简单 API(比如天气查询、备忘录)。

结论:怎么选?

  • 如果你用 Next.jstRPC 是亲爹级体验,爽到飞起。
  • 如果你需要高性能后端ElysiaJS + Bun,速度拉满。
  • 如果你玩边缘计算Hono 是你的轻量刺客,代码少到笑出声。
维度ElysiaJSHonotRPC
核心定位高性能类型安全后端框架多运行时轻量 Web 框架类型安全 RPC 通信框架
性能⭐⭐⭐⭐⭐(Bun 优化)⭐⭐⭐⭐(边缘计算优化)⭐⭐⭐(侧重开发效率)
类型安全⭐⭐⭐⭐⭐⭐⭐⭐(基础推导)⭐⭐⭐⭐⭐
适用场景全栈 TypeScript 服务边缘计算、轻量 API全栈类型安全通信
生态成熟度⭐⭐(较新)⭐⭐⭐(增长中)⭐⭐⭐⭐(社区活跃)

最后忠告:

  • 别纠结,先选 Next.js + tRPC 试试,你会回来感谢我的。
  • 如果你非要问“Express 还能不能战?”——当然能,就是有点费手。

现在,选个框架,去写代码吧!