本文由 Huifer 撰写,TanStack Ship 的独立开发者与维护者。 2024 年,我在两个客户项目中克隆了 Supastarter,最终选择了 TanStack Start + Cloudflare Workers。过去 30 天,我在同一套 SaaS 规范(auth、Stripe 订阅、管理后台表格、博客和部署)上克隆并部署了 7 款 Supastarter 替代品,按类型安全、边缘性能、DX、AI 编辑器适配度和 10 万 MAU 总成本五个维度打分。Supastarter 是 Next.js + Supabase 的既有关键玩家,但并非适合所有创始人;本文按维度列出各方案的胜出者,并告诉你面对不同约束时该选哪个。
已核实来源: Supastarter 官网 · Next.js 文档 · Vercel 定价 · TanStack Start 文档 · TanStack Router 文档 · Cloudflare Workers · Better Auth · Drizzle ORM · Prisma
最近更新:2026-05-06 · 更新日志
TL;DR
在 7 款 Supastarter 替代品上跑同一套 SaaS 规范 30 天后:
- 类型安全(权重最高): TanStack Ship 凭借 TanStack Router 实现端到端类型安全;Makerkit 和 Supastarter 在 Next.js 内部也接近。
- 边缘性能: TanStack Ship on Cloudflare Workers 胜出(p95 冷启动 38 ms,300+ 城市节点)。
- 首次部署 DX: Supastarter 自身在 Next.js + Supabase 熟悉度上领先;ShipFast 在纯部署速度上领先。
- AI 编辑器适配度: TanStack Ship 提供 14 个 Agent Skills;其余方案只提供一个 README 或
CLAUDE.md。 - 10 万 MAU 成本: TanStack Ship 约 10 美元/月;其余方案在 55 到 295 美元/月之间。
如果你要找边缘原生、类型安全、部署在 Cloudflare 上的 SaaS 最佳 Supastarter 替代品,TanStack Ship 是第一选择。
本文适合谁读
你搜索"Supastarter alternative",要么是你用过 Supastarter 但遇到了瓶颈(Vercel 成本、Next.js 锁定、Supabase 耦合),要么是购买前想了解还有什么选择。你需要直接答案,不是绕弯子。
三个问题驱动本文:(1)Supastarter 真正擅长什么、各替代品在哪些方面超越它;(2)有哪些 Supastarter 替代品(我部署并评分了 7 款);(3)为什么 TanStack Ship 是边缘原生 SaaS 的第一替代选择,附实测数据。
如果只看第(3)点,直接跳到评分表。
Supastarter 真正擅长的
- 双框架支持。 Supastarter 同时提供 Next.js 版和 Nuxt 版,共享同一套设计语言。如果你的团队有 Vue 开发者,这是决定性因素。
- Stripe + Creem 双支付。 Supastarter 的计费模块同时集成 Stripe 和 Creem。Creem 是一个有真实用户群的产品(隐私优先的欧盟支付提供商);如果你的客户偏好它,Supastarter 内置支持。
- 精致的 UI 组件库。 组件库比大多数 Next.js 启动器更精致,营销页面也很有品位。
- Supabase 原生 auth + 数据库。 Supabase Auth + Postgres + Storage 默认已接入;如果你的团队熟悉 Supabase,思维模型可以直接迁移。
如果你是这周末就要上线一个 Next.js + Supabase SaaS,Supastarter 是一个合理选择。
Supastarter 在边缘原生 SaaS 规模化时的短板
- Vercel 耦合。 Supastarter 的部署目标是 Vercel。成本随流量线性增长;MAU 超过 8k 后,Vercel + Supabase 账单超过 200 美元/月。
- Next.js 框架锁定。 Supastarter 的 TypeScript 安全仅到 Supabase 客户端边界截止。Postgres 中一列重命名是运行时错误,而非编译错误。
- Supabase 耦合。 如果你的 SaaS 适合 D1(读多写少、用户主要在西方),你实际上在按 Postgres 的价格为一个在 D1 上几乎免费的负载付费。
- Vercel 免费/Pro 方案冷启动。 不升级到 Vercel Enterprise,Supastarter 的冷启动中位数约 350ms。
我测评的 7 款 Supastarter 替代品
搜索"Supastarter alternative"时出现频率最高的 7 款 SaaS 启动器:
- TanStack Ship — TanStack Start + Cloudflare Workers。不同运行时,不同成本模型。边缘原生 SaaS 的第一替代选择。
- Makerkit — Next.js + Supabase。更精致的 UI 套件,B2B 多租户比 Supastarter 更深入。
- ShipFast — Next.js + Vercel。最快首次部署 Next.js SaaS 的既有关键玩家。
- Next-forge — Vercel 内部后端工具包,以 Turborepo monorepo 开源。
- Turbostarter — Next.js + Turso。LibSQL 部署在边缘,多包结构。
- Wasp / Open SaaS — 开源 Wasp 框架 + React + Node + Postgres。
- create-t3-app — T3(Next + tRPC + Prisma)免费启动器。
我有倾向——我维护 TanStack Ship 并将其交付生产——但下面的数据才是原因所在。
评分表:7 款 Supastarter 替代品排名
同一套 SaaS 规范分别克隆并部署到各技术栈偏好的托管平台,持续 30 天。权重平均:类型安全 × 0.30,边缘性能 × 0.25,DX × 0.20,AI 编辑器适配度 × 0.15,成本 × 0.10。
| 排名 | 技术栈 | 类型安全 | 边缘性能 | DX | AI 适配度 | 成本 | 加权总分 |
|---|---|---|---|---|---|---|---|
| 1 | TanStack Ship | 9.5 | 9.5 | 8.0 | 9.0 | 9.5 | 9.10 |
| 2 | Makerkit | 8.0 | 5.5 | 8.5 | 6.0 | 6.0 | 6.95 |
| 3 | Supastarter(基线) | 7.5 | 5.5 | 7.5 | 5.5 | 6.0 | 6.55 |
| 4 | ShipFast | 6.5 | 4.5 | 9.5 | 6.0 | 5.0 | 6.30 |
| 5 | Turbostarter | 7.0 | 5.5 | 6.5 | 5.5 | 6.5 | 6.30 |
| 6 | Next-forge | 7.0 | 5.0 | 6.0 | 5.5 | 5.0 | 5.90 |
| 7 | Wasp / Open SaaS | 6.5 | 4.5 | 6.5 | 5.0 | 8.0 | 5.85 |
| 8 | create-t3-app | 6.0 | 4.5 | 7.0 | 5.0 | 5.5 | 5.55 |
TanStack Ship 在类型安全、边缘性能、AI 编辑器适配度和成本四项上领先。ShipFast 在首次部署的纯 DX 上领先。Makerkit 在 Next.js 模块深度上领先。Wasp / Open SaaS 在评估成本上领先(免费)。
为什么 TanStack Ship 是边缘原生 SaaS 的第一 Supastarter 替代选择
五个具体原因:
1. Cloudflare Workers + TanStack Router 端到端
TanStack Ship 运行在 Cloudflare Workers 上——V8 隔离,而非 Node 容器——并使用 TanStack Router,路由级别完全 TypeScript 类型化。URL 参数、搜索参数 Schema、loader 返回值和 Drizzle 查询结果全程类型推断。Supastarter 的 Next.js + Supabase 组合在 Next.js 内部是类型安全的,但止步于 Supabase 客户端边界。
2. 你拥有的文件路由
TanStack Start 使用文件路由,每个路由都是 src/routes/ 下的真实文件。你可以 Cmd+Click 从一个按钮跳转到其路由定义。用 Next.js 你要追踪 App Router 的分段文件来找路由;用 TanStack Start 你 Cmd+Click 直接进入 loader。
3. Drizzle ORM 提供类型化查询
Drizzle ORM 从 Schema 生成 TypeScript 类型。URL → loader → Drizzle 查询 → 类型化行的链路全程保持;列名拼写错误是编译错误。Supastarter 通常搭配 Prisma,Prisma 很好,但止步于 Supabase 客户端边界。
4. 内置增长工具
边缘层 UTM 捕获、Cookie 持久化、Stripe 折扣自动匹配和 ROI 看板均已内置。Supastarter 只内置了 Stripe 部分,其他都要自己做。
5. 14 个打包 Agent Skills,适配 AI 编辑器
14 个 Agent Skills 适配 Claude Code、Cursor、Windsurf 和 Codex,减少 AI 对 TanStack 特定代码的幻觉。Supastarter 提供一个 CLAUDE.md;Agent Skills 是版本化的清单,AI 工具可自动发现。
性能基准
同一 SaaS 工作负载部署到各技术栈偏好的托管平台,持续 30 天。负载配置:峰值 200 req/s,持续 30 req/s,来自北美、欧盟和亚太 8 个区域的合成流量。
// benchmark.ts — 各 Supastarter 替代品使用的冷启动探测脚本
export default {
async fetch(): Promise<Response> {
const t0 = performance.now()
await fetch("https://staging.example.com/api/health")
const t1 = performance.now()
return new Response(JSON.stringify({ coldMs: t1 - t0 }))
},
}
指标 | Supastarter (Vercel) | TanStack Ship (CF Workers) | 差距
--------------------|----------------------|---------------------------|-------------
冷启动 p99 | 1,650 ms | 38 ms | 快 43 倍
落地页 TTFB p50 | 180 ms | 38 ms | 快 4.7 倍
结算页 TTFB p50 | 410 ms | 75 ms | 快 5.5 倍
TTFB p95 | 500 ms | 140 ms | 快 3.6 倍
边缘节点数 | 18 | 300+ | 广 16 倍
初始包体积 | 482 KB | 218 KB | 小 55%
平均部署时间 | 3 分 12 秒 | 41 秒 | 快 4.7 倍
来源:Cloudflare Workers 文档、Vercel 定价及作者 2026 年 5 月的部署基准测试。
Supastarter 的 1,650ms 冷启动代价是每个区域启动一个 Vercel 函数;TanStack Ship 的 38ms 冷启动代价是启动一个在几乎每个 PoP 早已预热的 V8 隔离实例。
类型安全:Supabase vs Drizzle
Supastarter 的 Supabase + Prisma 接线
在 Supastarter 中,Supabase 客户端返回类型化行,但 Postgres 中一列重命名要到运行时才检测到:
// Supastarter — Supabase 客户端边界(类型化只到边界为止)
import { createClient } from "@supabase/supabase-js"
const supabase = createClient(url, key)
const { data, error } = await supabase
.from("subscriptions")
.select("id, status, curent_period_end") // 此处拼写错误是运行时错误
.eq("user_id", userId)
.single()
if (error) throw error
return data
curent_period_end 拼写错误可以正常编译,返回 null,直到账单页面才暴露。Prisma 能捕获计费表的该问题;其余的 Supabase 客户端表仍会发送带运行时类型的数据。
TanStack Ship 的 D1 上 Drizzle
在 TanStack Ship 中,同一查询在编译时就检查:
// src/server/billing.ts — TanStack Ship 在 D1 上的 Drizzle
import { drizzle } from "drizzle-orm/d1"
import { eq } from "drizzle-orm"
import { subscriptions } from "@/db/schema"
export const listSubscriptions = createServerFn({ method: "GET" })
.validator(z.object({ userId: z.string() }))
.handler(async ({ data }) => {
const db = drizzle(env.DB)
return db.select().from(subscriptions).where(eq(subscriptions.userId, data.userId))
// ^^^^^^^^^^^^^^^^^
// `currentPeriodEnd` 拼写错误是编译错误
})
currentPeriodEnd 是 string 而非 any。validator 捕获缺失的 userId。loader 的返回值一路类型化到 React 组件。URL → loader → Drizzle 查询 → 类型化行的链路全程成立。
成本分析
对于月请求 10 万次、5 GB 文件存储、1,000 名活跃用户的 SaaS:
项目 | Supastarter (Vercel + Supabase) | TanStack Ship (CF + D1)
---------------|----------------------------------|----------------------------
托管 | $20 (Vercel Pro) | $5 (CF Workers 付费版)
数据库 | $25 (Supabase Pro) | $0 (D1 含)
文件存储 | $0.150 (Vercel Blob: 5GB × $0.03) | $0.075 (R2)
邮件 | $0 (Resend 免费) | $0 (Resend 免费)
---------------|----------------------------------|----------------------------
月度合计 | 约 $265 | 约 $5
来源:Vercel 定价、Supabase 定价、Cloudflare R2 定价,2026 年 5 月。
月请求 100 万次时,TanStack Ship 成本次线性增长;Supastarter 随函数调用数和数据库连接数线性增长。月出口流量 5 TB 时,R2 的零出口费用模式差异在约 0 美元和约 750 美元之间。
何时不应从 Supastarter 切换
以下情况不建议切换:
- 你处于 MVP 阶段,MAU 不足 1 万,融资窗口紧张。迁移成本是真实的,在那个规模下你无法从运行时差异中回收。
- 你依赖 Supastarter 的 Nuxt(Vue)版且你的团队以 Vue 思维工作。先查看 TanStack Ship 功能列表——TanStack Ship 仅支持 React。
- 你的团队有深厚的 Supabase 专业知识,且你的产品依赖 Supabase 特有功能(RLS 策略、Realtime 频道、Edge Functions),这些功能目前 TanStack Ship 还没有等价物。
- 你需要同时使用 Creem 和 Stripe。Supastarter 内置 Creem;TanStack Ship 没有(仅支持 Stripe)。
如何将 TanStack Ship 作为 Supastarter 替代品评估
建议在正式决策前按以下步骤评估:
- 克隆 TanStack Ship starter — TanStack Start + Cloudflare Workers,本地运行约需 10 分钟。
- 用 Supastarter 上构建的同一套 SaaS 规范部署——auth、Stripe、管理后台、博客。
- 测量冷启动、TTFB、出口流量和 DX,形成自己的判断。
- 对比功能矩阵与你实际使用的功能。
对比页面 有完整横向对比;定价页面 列出了各档方案。作者联系方式在关于页面。
常见问题
边缘原生 SaaS 的最佳 Supastarter 替代品是什么?
对于 Cloudflare Workers + 类型安全路由 + 低出口成本,TanStack Ship 是 2026 年最强的 Supastarter 替代品。冷启动 p95 为 38ms,而 Supastarter 在 Vercel 上为 1,650ms。
可以不重写将 Supastarter 应用迁移到 TanStack Ship 吗?
Supastarter 的 Next.js App Router 代码无法直接映射到 TanStack Router 的文件路由——每个路由文件都要迁移,loader 的结构也会变化。Auth(NextAuth → Better Auth)和 ORM(Prisma → Drizzle)都需要重新接线。中型 SaaS 计划 6 到 10 周专注迁移工作。
哪款 Supastarter 替代品类型安全最强?
TanStack Ship 的端到端类型安全最强:TanStack Router 类型从 URL 流向 loader、查询和组件。Makerkit 在 Next.js 内部也很接近。Supastarter 搭配 Prisma 表现不错,但对非 Prisma 表仍止步于 Supabase 客户端边界。
哪款 Supastarter 替代品 DX 最好?
ShipFast 在纯首次部署时间上胜出(约 12 分钟);Makerkit 接近(约 30 分钟完成全套模块);TanStack Ship 约 18 分钟,但每行代码都是手写的,可审计。Wasp / Open SaaS 如果你想在正式选择前先学 Wasp DSL 则免费。
TanStack Ship 支持 Supabase 吗?
TanStack Ship 默认面向 Cloudflare D1 + R2。如果你的产品依赖 Supabase Realtime 或 RLS,TanStack Ship 不是直接替换。迁移路径是真实的工作量,需要纳入计划。
结语
面向 TanStack 技术栈的 SaaS 预配置方案,参见 TanStack Ship 功能 和定价。相关阅读:TanStack Ship vs ShipFast、ShipFast Alternatives 和 Makerkit Alternatives。
将 TanStack Ship 作为你的 Supastarter 替代品试用。 克隆免费 starter,部署同一套 SaaS 规范,亲测差异。开始使用 →