Logo文档

技术栈

了解使 NEXTDEVKIT 成为一个全面且现代的启动工具包的强大技术和工具。

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

NEXTDEVKIT 技术栈

核心框架

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 管理用户 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 管理基础设施

为什么选择这个技术栈?

这个技术栈是基于几个关键标准精心选择的:

  1. AI 友好性 - 在 2025 年,AI 友好的技术栈至关重要。Next.js、Tailwind CSS 和 TypeScript 等工具拥有广泛的文档和示例,AI 模型可以从中学习,使用 AI 辅助开发显著加快速度。

  2. 开发者体验 - 现代工具和出色的 DX,包括用于快速 Linting/格式化的 Biome、用于快速开发的 Turbopack 以及整个项目的全面 TypeScript 支持。

  3. 类型安全 - 整个技术栈都使用 TypeScript,从使用 Drizzle 的数据库架构到使用 Next Safe Action 的服务器操作,确保在编译时捕获错误。

  4. 性能 - 针对速度和可扩展性进行优化,支持边缘计算、高效打包和优化的渲染策略。

  5. 灵活性 - 无需更改代码即可部署到多个平台(Vercel、Cloudflare Workers、AWS),支持各种部署策略。

  6. 可维护性 - 干净、结构良好的代码,最少的依赖关系和清晰的关注点分离。

  7. 安全性 - 内置安全最佳实践,包括 Better Auth、安全的服务器操作和适当的数据验证。

  8. 可访问性 - 使用 Radix UI 的 WCAG 合规组件和整个项目的适当可访问性模式。

  9. 社区和生态系统 - 所有技术都有活跃的社区、全面的文档和定期更新。

了解这些技术对于使用 NEXTDEVKIT 构建成功的 SaaS 应用程序至关重要。每个工具都是基于其可靠性、性能、开发者体验和 AI 友好性而选择的。