NEXTDEVKIT 技术栈
1/11/2025
为了更好地理解代码库,让我们来了解一下 NEXTDEVKIT 使用的工具和库,以及我们选择它们的原因。这个现代化的技术栈确保你使用最新且最可靠的技术进行开发。
核心框架
Next.js 15
Next.js 是最受欢迎的 React 框架之一,提供客户端和服务器端渲染能力。我们使用 Next.js 15 配合 App Router 来实现:
- 服务器端渲染 (SSR) 改善 SEO 和性能
- API 路由 提供后端功能
- App Router 现代化路由,支持布局和嵌套路由
- TypeScript 支持 开箱即用
- 内置优化 图片、字体和脚本优化
Next.js 15 在性能和开发体验方面带来了显著改进,是构建现代 SaaS 应用的完美基础。
数据库与 ORM
Drizzle ORM
Drizzle ORM 是一个轻量级的 TypeScript ORM,帮助你以类型安全的方式访问数据库。我们选择 Drizzle 的原因:
- 类型安全 - 从 schema 自动生成 TypeScript 类型
- 类 SQL 语法 - 对 SQL 开发者友好的查询语法
- 零运行时开销 - 编译为高效的 SQL 查询
- 多数据库支持 - 支持 PostgreSQL、MySQL、SQLite 等
- 迁移系统 - 简单的 schema 迁移和版本控制
Drizzle ORM 在类型安全和性能之间提供了完美的平衡,使数据库操作既安全又高效。
身份验证
Better Auth
Better Auth 是一个现代化的身份验证库,提供灵活且安全的身份验证解决方案。我们使用它来实现:
- 多种身份验证方法 - 邮箱/密码、社交登录、魔术链接
- 会话管理 - 安全的会话处理,可自定义选项
- 社交提供商 - 内置支持 Google、GitHub、Discord 等
- 类型安全 - 完整的 TypeScript 支持,自动生成类型
- 数据库无关 - 通过适配器支持任何数据库
- 可自定义 - 完全控制身份验证流程和用户数据
Better Auth 提供了一种现代化的身份验证方法,既安全又对开发者友好。
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 支持 - 实时支付事件通知
- 仪表板 - 全面的支付分析和管理
Stripe 仍然是支付处理的黄金标准,为 SaaS 应用提供可靠性和全面的功能。
邮件与通信
邮件模板
内置邮件系统,支持:
- 事务性邮件 - 欢迎、验证、密码重置
- 新闻通讯功能 - 营销和更新邮件
- 模板系统 - 可重用的邮件组件
- 多提供商支持 - 支持 Resend、SendGrid 等
部署平台
多平台支持
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 应用至关重要。每个工具都是基于其可靠性、性能和开发者体验而选择的。
开始使用
准备好使用这个现代化技术栈构建你的下一个 SaaS 应用了吗?NEXTDEVKIT 提供了所有这些技术的预配置,开箱即用。你可以专注于构建你的独特功能,而我们处理基础设施和工具。
无论你是独立开发者还是团队的一员,这个技术栈都为你提供了构建可扩展、可维护和高性能应用所需的基础。