React 、Vue 的框架都挺不错的,都是全家桶解决方法,看你喜欢哪个。下面是我个人的喜好和推荐:
可选框架:
- Next.js: 时下最流行的框架,生态丰富,功能齐全,但是使用 Turbopack 作为打包器,比 Vite 慢太多了,另外还有今年饱受争议的 React Server Component ,如果你喜欢 PHP 你可能会喜欢 React Server Component ;
- React Router V7 | Remix: React 全栈框架,架构设计比 Next.js 更干净,内置 Loader 、性能好过 Next.js ,对 APP 整体的掌控比 Next.js 更细致,使用 Vite 作为打包器开发体验良好;
- Nuxt.js: Vue 全栈框架,内置 Vue 全家桶,Vue 的开发体验其实一直比 React 要好,而且没有 React Hooks 的一堆坑,使用 Vite 作为打包器开发体验良好;
UI 与界面:
- shadcn/ui (
https://ui.shadcn.com/): 漂亮的可定制的 UI ,使用 Tailwind ,功能完善
- HeroUI (
https://www.heroui.com/ ): 超高颜值 UI ,使用 Tailwind ,组件齐全,开箱即用;
API 接口:
如果你使用了 Next.js 、React Router V7 、Nuxt.js ,你也许不需要额外的后端框架,直接用对应框架的后端功能就能解决大部分问题。
但是如果你想要给接口上工程化工具保证接口的强度和可靠性,那么我推荐:
- tRPC (
https://trpc.io/ ): 端对端类型安全接口,使用 TypeScript 确保接口可靠性;
- oRPC (
https://orpc.unnoq.com/ ): 端对端类型安全接口,以及 OpenAPI ,方便沟通、测试和回顾;
- GQLoom (
https://gqloom.dev/ ): 端对端类型安全接口,以及 GraphQL ,方便沟通、测试、回顾和 AI 阅读,与 Drizzle 、Prisma 深度集成,在几分钟之内构建完整的 CRUD 服务,(利益相关:我是 GQLoom 作者);
- 不推荐 NestJS: NestJS 显示是设计过度了,TypeScript 没有 Java 那么多条条框框,TypeScript 装饰器由于其类型不健全也是逐年式微;
数据库操作:
- Prisma (
https://www.prisma.io/ ): 流行的 TypeScript ORM ,封装到位,对 SQL 的抽象程度比较高,适合写业务;
- Drizzle ( https://orm.drizzle.team/ ): 新兴的 TypeScript ORM ,性能出众,对 SQL 非常还原,适合熟悉 SQL 的选手;
- 不推荐 TypeORM: 近年维护不积极、类型不安全、空不安全
另外你可能需要了解:OpenAI 从 Next.js 转向了 Remix | React Router