Logo文档

技术栈

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

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

NEXTDEVKIT 技术栈

核心框架

Next.js 15

Next.js 是最受欢迎的 React 框架之一,提供客户端和服务器端渲染功能。我们使用 Next.js 15 和 App Router 来实现:

  • 服务器端渲染 (SSR) 以改善 SEO 和性能
  • Server Actions 用于服务器端数据处理
  • API 路由 为后端功能提供服务
  • App Router 用于具有布局和嵌套路由的现代路由
  • TypeScript 支持 开箱即用
  • 内置优化 用于图像、字体和脚本

数据库和 ORM

Drizzle ORM

Drizzle ORM 是一个轻量级 TypeScript ORM,帮助您以类型安全的方式访问数据库。我们选择 Drizzle 是因为:

  • 类型安全 - 从您的架构自动生成 TypeScript 类型
  • 类似 SQL 的语法 - 编写对 SQL 开发人员来说自然的查询
  • 零运行时开销 - 编译为高效的 SQL 查询
  • 多数据库支持 - 支持 PostgreSQL、MySQL、SQLite 等
  • 迁移系统 - 轻松的架构迁移和版本控制

身份验证

Better Auth

Better Auth 是一个现代身份验证库,提供灵活和安全的身份验证解决方案。我们使用它来实现:

  • 多种身份验证方法 - 邮箱/密码、社交登录、魔法链接
  • 会话管理 - 具有可自定义选项的安全会话处理
  • 社交提供商 - 内置支持 Google、GitHub 等
  • 类型安全 - 完整的 TypeScript 支持和自动生成的类型
  • 数据库无关 - 通过适配器与任何数据库配合使用
  • 可自定义 - 完全控制身份验证流程和用户数据

UI 和样式

Tailwind CSS

Tailwind CSS 是一个工具优先的 CSS 框架,可以快速开发 UI。我们使用它来实现:

  • 工具优先方法 - 无需编写 CSS 即可构建自定义设计
  • 响应式设计 - 移动优先的响应式工具
  • 深色模式支持 - 内置深色模式功能
  • 可自定义 - 通过配置轻松自定义主题
  • 性能 - 自动清除未使用的样式

Shadcn/UI

Shadcn/UI 提供基于 Radix UI 构建的美观设计、可访问的组件。好处包括:

  • 默认可访问 - ARIA 兼容组件
  • 可自定义 - 易于修改和扩展
  • 复制粘贴 - 拥有您的组件,不依赖库
  • 一致的设计 - 统一的设计系统
  • TypeScript 支持 - 完整的类型安全

Radix UI

Radix UI 提供用于构建可访问组件的低级 UI 原语:

  • 可访问性优先 - WAI-ARIA 兼容组件
  • 无样式 - 完全控制样式
  • 可组合 - 从简单原语构建复杂组件
  • 键盘导航 - 完整的键盘支持
  • 焦点管理 - 正确的焦点处理

支付处理

Stripe

Stripe 是我们的支付处理解决方案,提供:

  • 安全支付处理 - PCI DSS 合规
  • 订阅管理 - 定期计费和订阅处理
  • 全球支持 - 接受全球支付
  • Webhook 支持 - 实时支付事件通知
  • 仪表板 - 全面的支付分析和管理

邮件和通信

邮件模板

内置邮件系统,支持:

  • 交易邮件 - 欢迎、验证、密码重置
  • 时事通讯功能 - 营销和更新邮件
  • 模板系统 - 可重用的邮件组件
  • 多提供商支持 - 支持 Resend 等

部署平台

多平台支持

NEXTDEVKIT 独特地支持多个平台的原生部署:

Vercel

  • 零配置部署 - 单个命令部署
  • 边缘运行时 - 全球边缘网络以获得最佳性能
  • 无服务器函数 - 自动扩展
  • 预览部署 - 在上线前测试更改

Cloudflare Workers

  • 边缘计算 - 在全球更接近用户的地方运行代码
  • Cloudflare D1 - 无服务器 SQLite 数据库
  • Cloudflare R2 - 与 S3 兼容的对象存储
  • Cloudflare KV - 全球键值存储
  • 成本效益 - 按需付费

AWS with SST

  • 企业级基础设施 - 可扩展且合规
  • AWS Lambda - 无服务器计算
  • Amazon RDS - 托管数据库服务
  • Amazon S3 - 对象存储
  • CloudFront - 全球内容分发
  • 基础设施即代码 - 使用 SST 管理基础设施

OpenNext

OpenNext 使 Next.js 应用程序能够在各种平台上运行:

  • 平台无关 - 在任何地方部署 Next.js 应用
  • 无服务器优化 - 为无服务器环境优化
  • 边缘支持 - 在边缘网络上运行
  • 成本优化 - 降低部署成本

开发工具

TypeScript

整个代码库完全支持 TypeScript:

  • 类型安全 - 在编译时捕获错误
  • 更好的 IDE 支持 - 增强的自动完成和重构
  • 自文档化代码 - 类型作为文档
  • 渐进式采用 - 可以增量采用

国际化

Next-Intl

Next-Intl 提供国际化支持:

  • 类型安全消息 - 在编译时捕获缺失的翻译
  • 命名空间支持 - 高效组织翻译
  • 复数形式 - 正确处理复数形式
  • 日期和数字格式化 - 本地化感知格式化

内容管理

Fumadocs

Fumadocs 为文档系统提供支持:

  • MDX 支持 - 使用 React 组件编写文档
  • 搜索功能 - 内置搜索功能
  • 目录 - 自动生成目录
  • 代码高亮 - 代码块语法高亮
  • 响应式设计 - 移动友好的文档

状态管理

Zustand

Zustand 提供简单的状态管理:

  • 轻量级 - 小打包大小
  • 简单 API - 易于学习和使用
  • TypeScript 支持 - 完整的类型安全
  • 无样板代码 - 最少的设置要求

存储

多提供商存储

内置存储抽象,支持:

  • Amazon S3 - 可扩展的对象存储
  • Cloudflare R2 - S3 兼容存储
  • 本地存储 - 开发和测试
  • 统一 API - 跨提供商的相同接口

为什么选择这个技术栈?

这个技术栈经过精心选择,旨在提供:

  1. 开发者体验 - 现代工具和优秀的开发体验
  2. 类型安全 - 整个技术栈使用 TypeScript
  3. 性能 - 针对速度和可扩展性进行优化
  4. 灵活性 - 部署到多个平台
  5. 可维护性 - 干净、结构良好的代码
  6. 安全性 - 内置安全最佳实践
  7. 可访问性 - WCAG 合规组件

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