技术栈
了解使 NEXTDEVKIT 成为一个全面且现代的启动工具包的强大技术和工具。
为了更好地理解代码库,让我们了解一下 NEXTDEVKIT 使用的工具和库以及我们选择它们的原因。这个现代技术栈确保您使用最新和最可靠的技术进行构建,特别注重 AI 友好性和开发者体验。

核心框架
Next.js 15
Next.js 是最受欢迎的 React 框架之一,提供客户端和服务器端渲染功能。我们使用 Next.js 15 和 App Router 以及 React 19 来实现:
- 服务器端渲染 (SSR) 以改善 SEO 和性能
- Server Actions 用于服务器端数据处理
- API 路由 为后端功能提供服务
- App Router 用于具有布局和嵌套路由的现代路由
- React 19 支持 使用最新的 React 特性
- 内置优化 用于图像、字体和脚本
- Turbopack 用于更快的开发构建
React 19
最新的 React 版本,具有前沿功能:
- 服务器组件 - 在服务器上运行组件以获得更好的性能
- Actions - 简化的表单处理和数据变更
- 改进的 Hooks - 更好的 useEffect 和 useState 行为
- 自动批处理 - 增强的渲染性能
数据库和 ORM
Drizzle ORM
Drizzle ORM 是一个轻量级 TypeScript ORM,帮助您以类型安全的方式访问数据库。我们选择 Drizzle 是因为:
- 类型安全 - 从您的架构自动生成 TypeScript 类型
- 类似 SQL 的语法 - 编写对 SQL 开发人员来说自然的查询
- 零运行时开销 - 编译为高效的 SQL 查询
- 多数据库支持 - 支持 PostgreSQL、MySQL、SQLite、D1 等
- 迁移系统 - 轻松的架构迁移和版本控制
- 边缘兼容 - 完美适配 Serverless 和边缘环境
- Drizzle Kit - 强大的 CLI 工具用于迁移和数据库管理
Drizzle Zod
Drizzle Zod 集成用于运行时验证:
- 架构验证 - 从 Drizzle 架构自动生成 Zod 架构
- 类型推断 - 完整的 TypeScript 类型推断
- 表单验证 - 与 React Hook Form 完美配合
身份验证
Better Auth
Better Auth 是一个现代身份验证库,提供灵活和安全的身份验证解决方案。我们使用它来实现:
- 多种身份验证方法 - 邮箱/密码、社交登录、魔法链接
- 会话管理 - 具有可自定义选项的安全会话处理
- 社交提供商 - 内置支持 Google、GitHub、Discord 等
- 类型安全 - 完整的 TypeScript 支持和自动生成的类型
- 数据库无关 - 通过适配器与任何数据库配合使用
- 可自定义 - 完全控制身份验证流程和用户数据
- 安全特性 - 内置 CSRF 保护、速率限制等
UI 和样式
Tailwind CSS 4
Tailwind CSS 是一个工具优先的 CSS 框架,可以快速开发 UI。我们使用最新的 v4 版本来实现:
- 工具优先方法 - 无需编写 CSS 即可构建自定义设计
- 响应式设计 - 移动优先的响应式工具
- 深色模式支持 - 内置深色模式功能
- 可自定义 - 通过配置轻松自定义主题
- 性能 - 自动清除未使用的样式
- PostCSS 集成 - 现代 CSS 处理
- AI 友好 - AI 工具在生成 Tailwind 代码方面表现出色
Shadcn/UI
Shadcn/UI 提供基于 Radix UI 构建的美观设计、可访问的组件。好处包括:
- 默认可访问 - ARIA 兼容组件
- 可自定义 - 易于修改和扩展
- 复制粘贴 - 拥有您的组件,不依赖库
- 一致的设计 - 统一的设计系统
- TypeScript 支持 - 完整的类型安全
- 丰富的生态 - 拥有大量社区预构建组件
Radix UI
Radix UI 提供用于构建可访问组件的低级 UI 原语:
- 可访问性优先 - WAI-ARIA 兼容组件
- 无样式 - 完全控制样式
- 可组合 - 从简单原语构建复杂组件
- 键盘导航 - 完整的键盘支持
- 焦点管理 - 正确的焦点处理
Framer Motion
Framer Motion 是一个生产就绪的 React 动画库:
- 声明式动画 - 简单的声明式语法
- 手势识别 - 内置拖动、点击和悬停手势
- 布局动画 - 自动布局转换
- 弹簧物理 - 使用弹簧动画的自然运动
- 服务器端渲染 - 与 Next.js SSR 配合使用
表单处理
React Hook Form
React Hook Form 提供高性能、灵活的表单和轻松的验证:
- 性能 - 最小化重新渲染
- 内置验证 - 无需额外库的表单验证
- TypeScript 支持 - 完整的类型安全
- 灵活 - 与任何 UI 库配合使用
- 解析器集成 - 与 Zod 和其他验证器无缝配合
Zod
Zod 是一个 TypeScript 优先的架构验证库:
- 类型推断 - 自动生成 TypeScript 类型
- 运行时验证 - 在运行时验证数据
- 可组合 - 从简单架构构建复杂架构
- 错误处理 - 详细的错误消息
- 集成 - 与 React Hook Form 完美配合
数据获取和状态管理
TanStack Query (React Query)
TanStack Query 是一个强大的数据获取和缓存库:
- 自动缓存 - 智能数据缓存策略
- 后台更新 - 自动后台重新获取
- 乐观更新 - 即时 UI 更新
- 分页和无限滚动 - 内置分页支持
- 开发工具 - 出色的调试体验
- TypeScript 支持 - 完整的类型安全
Zustand
Zustand 提供简单的状态管理:
- 轻量级 - 小打包大小
- 简单 API - 易于学习和使用
- TypeScript 支持 - 完整的类型安全
- 无样板代码 - 最少的设置要求
- React Hooks - 原生 React 集成
支付处理
Stripe
Stripe 是我们的主要支付处理解决方案,提供:
- 安全支付处理 - PCI DSS 合规
- 订阅管理 - 定期计费和订阅处理
- 全球支持 - 接受全球支付
- Webhook 支持 - 实时支付事件通知
- 仪表板 - 全面的支付分析和管理
- 强大的 TypeScript 支持 - 官方 TypeScript SDK
Creem
Creem 是一个具有独特优势的替代支付提供商:
- 无月费 - 对独立开发者来说成本效益高
- 简单集成 - 易于实施和管理
- 开发者友好 - 专为独立开发者和小型企业打造
- 灵活定价 - 各种定价模式,包括终身访问
- Webhook 支持 - 实时支付通知
邮件和通信
React Email
React Email 使用 React 构建美观的邮件:
- React 组件 - 使用熟悉的 React 语法构建邮件
- 响应式设计 - 移动友好的邮件布局
- 预览模式 - 开发期间预览邮件
- TypeScript 支持 - 完整的类型安全
- 多提供商 - 与 Resend、SendGrid 等配合使用
Resend
Resend 是一个现代的开发者邮件 API:
- 简单 API - 易于集成和使用
- React Email 集成 - React Email 的完美伴侣
- 可靠传递 - 高送达率
- 邮件日志 - 跟踪邮件传递和打开
- Webhooks - 实时邮件事件通知
通知
Sonner
Sonner 是一个富有创意的 React Toast 组件:
- 美观设计 - 开箱即用的精美 Toast
- 可自定义 - 易于自定义外观
- 可访问 - 屏幕阅读器支持
- Promise 处理 - 显示加载、成功和错误状态
- 堆叠 - 自动 Toast 堆叠和排队
数据可视化
Recharts
Recharts 是一个基于 React 组件构建的可组合图表库:
- 声明式 - 使用 React 组件构建图表
- 可自定义 - 完全控制图表外观
- 响应式 - 自动适应容器大小
- 动画 - 流畅的图表转换
- TypeScript 支持 - 完整的类型安全
- 丰富的图表类型 - 折线图、柱状图、面积图、饼图等
Number Flow
@number-flow/react 创建流畅的数字动画过渡:
- 流畅动画 - 美观的数字过渡效果
- 轻量级 - 小打包大小
- 可访问 - 屏幕阅读器友好
- 可自定义 - 灵活的样式选项
开发工具
TypeScript
整个代码库完全支持 TypeScript:
- 类型安全 - 在编译时捕获错误
- 更好的 IDE 支持 - 增强的自动完成和重构
- 自文档化代码 - 类型作为文档
- 渐进式采用 - 可以增量采用
Biome
Biome 是一个快速的 JavaScript、TypeScript 等格式化器和 Linter:
- 快速 - 比 ESLint 和 Prettier 快得多
- 一体化 - 结合格式化和 Linting
- ESLint 兼容 - 熟悉的规则和配置
- 优秀的 DX - 出色的错误消息
- Git 集成 - VCS 感知的 Linting 和格式化
Turbopack
Turbopack 是 Next.js 的新打包工具,用于更快的开发:
- 增量编译 - 仅重新编译更改的文件
- 快速刷新 - 闪电般快速的热模块替换
- 原生于 Next.js - 为 Next.js 开发优化
- Rust 驱动 - 使用 Rust 构建以获得最大性能
国际化
Next-Intl
Next-Intl 提供国际化支持:
- 类型安全消息 - 在编译时捕获缺失的翻译
- 命名空间支持 - 高效组织翻译
- 复数形式 - 正确处理复数形式
- 日期和数字格式化 - 本地化感知格式化
- 服务器和客户端 - 在服务器和客户端组件中都可使用
内容管理
Fumadocs
Fumadocs 为文档和博客系统提供支持:
- MDX 支持 - 使用 React 组件编写文档
- 搜索功能 - 内置 Orama 集成搜索
- 目录 - 自动生成目录
- 代码高亮 - 代码块语法高亮
- 响应式设计 - 移动友好的文档
- 数学支持 - KaTeX 集成用于数学表达式
MDX
MDX 允许您在 Markdown 中使用 JSX:
- React 组件 - 在 Markdown 中使用 React 组件
- 灵活 - 将 Markdown 与交互元素结合
- 类型安全 - 完整的 TypeScript 支持
- 丰富内容 - 创建交互式文档
服务器操作
Next Safe Action
Next Safe Action 提供类型安全的服务器操作:
- 类型安全 - 服务器操作的完整 TypeScript 支持
- 验证 - 使用 Zod 进行内置输入验证
- 错误处理 - 结构化错误处理
- 中间件支持 - 向操作添加自定义中间件
- 加载状态 - 自动加载状态管理
隐私和合规性
Vanilla Cookie Consent
Vanilla Cookie Consent 管理用户 Cookie 同意:
- GDPR 合规 - 符合欧洲隐私法规
- 可自定义 - 灵活的外观和行为
- 轻量级 - 小打包大小
- 多语言 - 内置国际化
- 分析集成 - 与 Google Analytics、Umami 等配合使用
存储
多提供商存储
内置存储抽象,支持:
- Amazon S3 - 可扩展的对象存储
- Cloudflare R2 - S3 兼容存储,零出口费用
- 本地存储 - 开发和测试
- 统一 API - 跨提供商的相同接口
- 预签名 URL - 安全的直接上传和下载
部署平台
多平台支持
NEXTDEVKIT 独特地支持多个平台的原生部署:
Vercel
- 零配置部署 - 单个命令部署
- 边缘运行时 - 全球边缘网络以获得最佳性能
- 无服务器函数 - 自动扩展
- 预览部署 - 在上线前测试更改
Cloudflare Workers
- 边缘计算 - 在全球更接近用户的地方运行代码
- Cloudflare D1 - 无服务器 SQLite 数据库
- Cloudflare R2 - 与 S3 兼容的对象存储
- Cloudflare KV - 用于缓存和 ISR 的全球键值存储
- Durable Objects - 有状态的无服务器对象
- 成本效益 - 每月 $5 即可获得全面资源
OpenNext
OpenNext 使 Next.js 应用程序能够在各种平台上运行:
- 平台无关 - 在任何地方部署 Next.js 应用
- 无服务器优化 - 为无服务器环境优化
- 边缘支持 - 在边缘网络上运行
- Node.js 兼容性 - 在 Workers 中支持 Node.js API
- ISR 支持 - 边缘上的增量静态再生
AWS with SST
- 企业级基础设施 - 可扩展且合规
- AWS Lambda - 无服务器计算
- Amazon RDS - 托管数据库服务
- Amazon S3 - 对象存储
- CloudFront - 全球内容分发
- 基础设施即代码 - 使用 SST/Pulumi 管理基础设施
为什么选择这个技术栈?
这个技术栈是基于几个关键标准精心选择的:
-
AI 友好性 - 在 2025 年,AI 友好的技术栈至关重要。Next.js、Tailwind CSS 和 TypeScript 等工具拥有广泛的文档和示例,AI 模型可以从中学习,使用 AI 辅助开发显著加快速度。
-
开发者体验 - 现代工具和出色的 DX,包括用于快速 Linting/格式化的 Biome、用于快速开发的 Turbopack 以及整个项目的全面 TypeScript 支持。
-
类型安全 - 整个技术栈都使用 TypeScript,从使用 Drizzle 的数据库架构到使用 Next Safe Action 的服务器操作,确保在编译时捕获错误。
-
性能 - 针对速度和可扩展性进行优化,支持边缘计算、高效打包和优化的渲染策略。
-
灵活性 - 无需更改代码即可部署到多个平台(Vercel、Cloudflare Workers、AWS),支持各种部署策略。
-
可维护性 - 干净、结构良好的代码,最少的依赖关系和清晰的关注点分离。
-
安全性 - 内置安全最佳实践,包括 Better Auth、安全的服务器操作和适当的数据验证。
-
可访问性 - 使用 Radix UI 的 WCAG 合规组件和整个项目的适当可访问性模式。
-
社区和生态系统 - 所有技术都有活跃的社区、全面的文档和定期更新。
了解这些技术对于使用 NEXTDEVKIT 构建成功的 SaaS 应用程序至关重要。每个工具都是基于其可靠性、性能、开发者体验和 AI 友好性而选择的。