Raypx

技术栈

完整的技术选型列表及选择理由。

本文档列出 Raypx 使用的所有核心技术及其选择理由。

核心框架

技术版本选择理由
TanStack Start最新基于 Vite 8 的全栈框架,支持 SSR/SSG/CSR,类型安全的文件路由
Nitro最新通用服务端运行时,支持多种部署目标,内置 HMR
Vite8极快的开发服务器和构建工具,原生 ESM 支持
React19并发渲染、自动批处理、React Compiler 性能优化

为什么选择 TanStack Start?

  • 与 Next.js 相比,TanStack Start 基于 Vite,构建速度更快,插件生态更丰富
  • 与 Remix 相比,TanStack Start 的路由类型安全性更强,与 TanStack 生态无缝集成
  • 底层由 Nitro 驱动,可部署到 Cloudflare Workers、Deno Deploy 等多种环境

数据库与 ORM

技术版本选择理由
PostgreSQL14+功能最强大的开源关系型数据库
Drizzle ORM最新轻量级、类型安全、零运行时开销的 ORM

为什么选择 Drizzle ORM?

  • 类型安全——从 Schema 到查询结果全链路类型推导
  • 接近原生 SQL——学习成本低,查询性能可控
  • 轻量级——打包体积小,运行时无额外开销
  • 迁移管理——内置迁移工具,支持版本控制和回滚

认证

技术版本选择理由
Better Auth最新类型安全、模块化、功能完备的认证方案

为什么选择 Better Auth?

  • 类型安全——客户端和服务端共享完整的 TypeScript 类型
  • 多策略支持——邮箱密码、Google OAuth、GitHub OAuth、双因素认证
  • 插件化——通过插件扩展功能,按需引入
  • 轻量级——不依赖 Express 或 Next.js,可在任何框架中使用

API 层

技术版本选择理由
oRPC最新类型安全的 RPC 框架,零运行时开销
Zod最新Schema 定义和运行时校验库

为什么选择 oRPC?

  • 与 TanStack Start 深度集成,利用 Server Functions 实现类型安全的 API 调用
  • 零运行时开销——编译后类型信息被擦除
  • 与 Zod 深度集成——Schema 定义即 API 契约

UI 框架

技术版本选择理由
Tailwind CSS4原子化 CSS 框架,极快的构建速度
shadcn/ui最新基于 Radix UI 的无障碍组件,可定制
React Compiler最新自动性能优化,无需手动 memo

为什么选择 Tailwind CSS 4?

  • v4 版本使用全新的 Oxide 引擎,构建速度提升 10 倍
  • 零配置开箱即用,无需复杂的配置文件
  • CSS-first 配置方式,直接在 CSS 中定义设计令牌

国际化

技术版本选择理由
use-intl最新Next.js Intl 生态的核心库,支持 React Server Components
Fumadocs最新文档系统,内置 i18n 路由和搜索

国际化方案

  • 基于路径前缀的语言路由(/en-US/.../zh-CN/...
  • 语言检测中间件自动识别用户偏好
  • 支持服务端渲染的翻译内容

邮件

技术版本选择理由
Resend最新开发者友好的邮件 API 服务
React Email最新使用 React 组件编写邮件模板

工具链

技术用途
Biome代码格式化、检查和修复(替代 ESLint + Prettier)
LefthookGit 钩子管理器(替代 Husky)
TurborepoMonorepo 构建编排和缓存
pnpm包管理器,高效的磁盘空间利用
Docker容器化部署
TypeScript类型安全的 JavaScript 超集

版本管理

技术用途
pnpm workspacesMonorepo 包管理
Turborepo任务编排和增量构建缓存
changesets版本变更管理(可选)

相关文档

On this page