技术栈
了解使 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 - 跨提供商的相同接口
为什么选择这个技术栈?
这个技术栈经过精心选择,旨在提供:
- 开发者体验 - 现代工具和优秀的开发体验
- 类型安全 - 整个技术栈使用 TypeScript
- 性能 - 针对速度和可扩展性进行优化
- 灵活性 - 部署到多个平台
- 可维护性 - 干净、结构良好的代码
- 安全性 - 内置安全最佳实践
- 可访问性 - WCAG 合规组件
了解这些技术对于使用 NEXTDEVKIT 构建成功的 SaaS 应用程序至关重要。每个工具都是基于其可靠性、性能和开发者体验而选择的。