本文由 Huifer 撰写,他是 TanStack Ship 的独立开发者和维护者。 自 2022 年以来,我部署、弄坏并重建了 12 款处于生产环境下的 SaaS 产品。在 2026 年 8 月 18 日至 9 月 2 日期间,我克隆了 10 款备受欢迎的 SaaS Boilerplate 产品,在每个产品上部署了完全一致的规格(Auth + Stripe 结账 + 博客 + 管理后台 + 候补名单 + i18n),并测量了三个数据:从打包到首次触发付费的构建时间、200 req/s 时的冷启动 p99 延迟,以及 24 项功能奇偶性得分(feature-parity score)。最快的路径是 3.2 小时,最慢的则是 8.4 小时。相关数据都是可复现的。在此之前若能看到这张表格,我就不用花那第一笔 $199 去买许可证了。
利益披露: Huifer 是 TanStack Ship 的作者,并从 TanStack Ship 销售中获得报酬。此次对比是采用相同的评估标准对所有的 SaaS Boilerplate 竞品进行独立测试得出。
验证来源:TanStack Start docs · Cloudflare Workers docs · ShipFast · Makerkit · Supastarter · Open SaaS · Wasp · Vercel Functions · k6 docs · Astro · Stripe checkout · Drizzle ORM · 最后更新时间:2026-09-12 · Changelog
TL;DR: 我在 2026 年第三季度以相同规格对 10 款 SaaS boilerplates 进行了基准测试:TanStack Ship、ShipFast、Makerkit、Supastarter、next-forge、Open SaaS、mkSaaS、tanstarter、TurboStarter 以及 LaunchFast。构建到跑通付费的最快时间: TanStack Ship 为 3.2h,ShipFast 为 3.6h,LaunchFast 为 4.4h。最快的冷启动 p99: LaunchFast 为 180 ms (Astro),TanStack Ship 为 280 ms (Cloudflare Workers),Supastarter 为 410 ms (Vercel Edge)。最高的 24 项功能对齐得分: TanStack Ship 为 23/24,Makerkit 为 22/24,ShipFast 为 21/24。一万月活(10k MAU)下的最佳总成本: TanStack Ship 约 $11/mo (Workers + R2 + D1) 比拼 Makerkit 约 $94/mo (Vercel + Supabase)。如果你想要 Cloudflare 原生的边缘 SEO 和端到端 TypeScript 路由,请选择 TanStack Ship。如果你优先考虑 Next.js 社区加上 Vercel DX,请选择 ShipFast。如果需要 Supabase 加上精致 UI,请选择 Makerkit。免费且基于 MIT 协议的最佳选择则是 Open SaaS。 下方有完整表格、实测代码、迁移路径以及决策矩阵。
为什么做这份横评
在 2026 年认识的每一个创始人,总是会问我同一个问题:我该用哪款 SaaS boilerplate 来首发启动我的项目? 供应商的落地页很少能给出诚实的答案。每个脚手架的官网都宣称自己最快、最全、最受人喜爱——但他们根本不会去提供一模一样的 Demo、同样的 Stripe 商品或相同的管理面板去对标发榜。纯看厂商网页去选人,就像通过看菜单来比较餐馆一样不靠谱。
在敲定 TanStack Ship 的路线图之前,我需要一张列有统一指标横跨各家的十行数据表,所以我决定亲自出一份。测试方法刻意聚焦在一个确切限定内:相同的业务规格、对标生产环境的同等底层基础设施、相同的合成负载配置以及同样的 16 天测试窗口期。规格要求是一个标准的订阅制 SaaS MVP:包含了 Auth、Stripe 结账、服务端渲染的博客、管理界面、候补名单和中英文(en+zh)双语 i18n 系统。我只测量这三项数据:
- 到跑通首次付费结算的耗时 —— 从克隆代码一路推倒至生产环境中成功回调跑通 Stripe webhook。
- 冷启动 p99 —— 这是在 8 个地区通过 200 req/s 的负载执行总体 1,000 次冷请求测得。
- 24 项特性功能对齐得分 —— 基于公开的验收清单,每一项得分为 0 或 1。
哪怕最后你看到排位表里出现了 TanStack Ship 身影,也不要把它当成暗搓搓的变相软广,它只是恰好迎合了应对这份规格底限所应当给出的直白反馈。我在这里面本身就掺杂了真实的阵营归属包袱:因为我至今依然自己主力在维护着 TanStack Ship 这个框架。但是为了把成见压到最低,我自掏腰包跑足了所有的对比实例项目,在相同规则验看之下记录汇总数字,并在算出所有数据后才确定名次。这当中的所有分段数据指标就算是如果真的让 TanStack Ship 出师不利,我也一样敢大方公开透明地全数摆出供全网接受论证与反驳。最终结果:TanStack Ship 在构建时间和冷启动上胜出,ShipFast 在社区势能上拔得头筹,Makerkit 的 UI 最为精致,而纯冷启动延迟的王冠则属于 LaunchFast。
如果你想看更深入的一对一较量,请参阅 TanStack Ship vs ShipFast、TanStack Ship vs Makerkit 和 TanStack Ship vs Open SaaS。如果想了解这十个工具对应的最终核算成本模型方案,请参阅 SaaS boilerplate 价格对比 (2026)。
10 款 SaaS Boilerplates 概览
下表总结了在此规格定级下我的完整实测结果反馈。构建时间代表从克隆代码起步端到端部署,一直至生产环境中首次 Stripe webhook 能够成功触发所需的实际总耗时数。冷启动是指综合 8 个地区测得的处于 200 req/s 请求峰值压迫下 1,000 次冷请求计算得出的最高频 p99 延迟限门槛。功能对齐得分则是对照了一份覆盖含有 24 项验收指标的项目明细,清单中的各支项所计比重也统一权重对等。
| # | Boilerplate | 技术栈 | 许可证 | 构建时间 (h) | 冷启动 p99 | 功能评分 (24) | 最适用场景 |
|---|---|---|---|---|---|---|---|
| 1 | TanStack Ship | TanStack Start + Workers + D1 | $149 一次性 | 3.2 | 280 ms | 23 | 边缘优先的混合式 SEO SaaS |
| 2 | ShipFast | Next.js 15 + Vercel + Stripe | $199 一次性 | 3.6 | 1,400 ms | 21 | 常规大厂范式下的极简起步 |
| 3 | Makerkit | Next.js 15 + Supabase | $279 一次性 | 5.8 | 1,250 ms | 22 | 精致 UI 配合 Supabase |
| 4 | Supastarter | Next.js + Supabase + Stripe | $229 一次性 | 5.1 | 410 ms | 20 | Edge Vercel 配合 Postgres |
| 5 | next-forge | Next.js 15 monorepo | $399 一次性 | 8.4 | 1,500 ms | 19 | 团队规模级 Next.js 体系 |
| 6 | Open SaaS | Wasp + Next.js + Postgres | 免费 (MIT) | 6.2 | 920 ms | 18 | 纯开源级 DSL 编译构建 |
| 7 | mkSaaS | Next.js 15 + multi-cloud | $99 一次性 | 6.9 | 1,180 ms | 18 | 急于要出手的 AI 产品项目流 |
| 8 | tanstarter | TanStack Start + Drizzle | $79 一次性 | 4.7 | 340 ms | 18 | 最纯粹的 TanStack 开箱净板方案 |
| 9 | TurboStarter | Next.js + Turborepo | $249 一次性 | 7.1 | 1,300 ms | 17 | 大型专职工作流专攻阵地 |
| 10 | LaunchFast | Astro + server endpoints | $59 一次性 | 4.4 | 180 ms | 14 | 偏重展示营销面的宣发阵地 SaaS |
所有排列表盘上刻制的数据都源自我处在 2026 年 8 月 18 日至 9 月 2 日这段窗口期期间实际基于同品阶项目下放到各个 Q3 版本中的一手落地表现反馈。定价策略及其附属附带加挂上的功能体系等很有可能顺应对家的日常发行变更多少发生起落挪移位差;所以这笔真金白银真正掏钱出袋之前,请自行到每个归属阵地对应的 官方页面 去做下实底清测比对查证。有关运行时开销负担与及支付收支线对接架构这类纯偏底层机制方面的讨论核心判据点皆深度化化引据且对标跟行于 Google 释出的 SEO 高端启蒙守则、Cloudflare Workers 直通性能揭底手册 以及 Stripe webhook 专攻接入指南实操库。
测试是如何进行的
24 项验收清单
这份清单涵盖了一个真实的订阅制 SaaS 到第三周时通常需要齐备的模块。每一项分别记作 0 分或 1 分:
- 魔法链接(Magic-link)登录
- OAuth (GitHub) 登录
- 支持优惠券的 Stripe 结账
- 附带 14 天试用期的 Stripe 结账
- Webhook 签名验证
- 事件的幂等处理
- 计费系统用户门户交接(Customer portal handoff)
- 带有 Metadata 的服务端渲染博客
- 博客文章支持 Canonical URL 标签
sitemap.xml自动生成robots.txt可配置- UTM 参数的捕获与存储
- 双重选择退出(Double-opt-in)等待名单
- 事务性邮件分发(基于 Resend 适配器)
- 具备角色校验的管理面板
- 审计日志记录表
- 文件上传 (R2/S3)
- 后台任务作业(含指数退避重试机制)
- 限流元语(Rate limiting primitives)
- 类型安全的环境变量配置 (通过 Zod)
- 端到端的 TypeScript 路由
- 提供中英文 (en+zh) i18n
- Lighthouse 移动端分数 ≥ 90
- 没有出现
npm audit中的高危级别漏洞
23/24 通常意味着只缺少清单里的某一条——这通常是我后续需要手动添加的部分。如果是 14/24,则很大概率说明前端营销展示面做得很足,但在实际运营后台深度上仍有欠缺。
负载配置
我为所有的 Boilerplate 都准备了同一套 k6 压测脚本:在 30 秒内逐步压至 200 req/s 峰值并维持 5 分钟,随后在 30 分钟内保持 30 req/s 的常态化访问,期间交错插入 1,000 次冷启动请求。压测脚本仅面向公开路由——/、/blog、/pricing 和 /login——因为边缘函数上的冷启动主要被公开页面主导。我通过分布在 8 个地区的节点测试并收集了分发数据:us-east、us-west、eu-west、eu-central、ap-northeast、ap-southeast、sa-east 以及 au-east。
实诚地声明
我维护着 TanStack Ship。为了尽量减少偏见,我使用相同的检查清单亲自运行每一个测试,算出数据再给出获胜者,这样就算谭最后的结果是 TanStack Ship 失败我也会大方公开并捍卫这些数据。最终:TanStack Ship 在构建时间和冷启动上胜出;ShipFast 在社区势能上拔得头筹(3.6 万 Discord 成员);Makerkit 的 UI 最为精致(在 10 个测试品中当属最纯净的组件库);LaunchFast 则赢在极致的纯冷启动延迟(Astro static + islands)。在此我也把这四项事实坦荡公布。
排名前五的详细内容
TanStack Ship —— 极速边缘体验
TanStack Ship 原生集成了 TanStack Start、TanStack Router、Cloudflare Workers、D1、Better Auth、Stripe、Resend、R2 以及配备 14 组独立模块的后台管理体。它能在构建耗时上胜出的原因主要有二:其一是所有必备 SaaS 原语都已经接驳通畅(省去了集成税),其二是 Cloudflare 将发布打通成了目标地,彻底移除了在使用 Next.js 时要为兼容 Vercel 特异配置而耗去几小时的繁杂步骤。跑到了 280 ms 的冷启动 p99,是因为 Workers isolates 的启动是以个位毫秒级计算的,并且所有的公开路由直接就能从边缘节点流式传输。
// app/routes/blog/$slug.tsx - TanStack Ship loader + meta 模式
import { createFileRoute } from "@tanstack/react-router";
import { getPost } from "~/lib/blog";
export const Route = createFileRoute("/blog/$slug")({
loader: async ({ params }) => {
const post = await getPost(params.slug);
if (!post) throw new Response("Not Found", { status: 404 });
return { post };
},
meta: ({ loaderData }) => [
{ title: `${loaderData.post.title} | TanStack Ship` },
{ name: "description", content: loaderData.post.excerpt },
{ property: "og:title", content: loaderData.post.title },
{ property: "og:url", content: `https://tanstackship.com/blog/${loaderData.post.slug}` },
{ tag: "link", rel: "canonical", href: `https://tanstackship.com/blog/${loaderData.post.slug}` },
],
component: BlogPost,
});
// app/lib/auth.ts - TanStack Ship 使用带有 D1 适配器的 Better Auth
import { betterAuth } from "better-auth";
import { drizzleAdapter } from "better-auth/adapters/drizzle";
import { db } from "~/lib/db";
export const auth = betterAuth({
database: drizzleAdapter(db, { provider: "sqlite" }),
emailAndPassword: { enabled: true, requireEmailVerification: true },
socialProviders: {
github: {
clientId: process.env.GITHUB_CLIENT_ID!,
clientSecret: process.env.GITHUB_CLIENT_SECRET!,
},
},
trustedOrigins: ["https://tanstackship.com"],
});
作为代价,则是其外围周边的生态规模受限。Next.js 依然拥有更庞大的教程、集成生态以及更高的招聘适配度储备。如果你看重轻量级可移植边缘发布及端到端 TypeScript 的路由验证,那么选择 TanStack Ship 就是最佳选择。这方面的深度解答,尽可参看 TanStack Start 文档 以及 TanStack Router 基于文件系统的路由指南。
ShipFast —— Next.js 阵营老将
当你认定要死磕 Next.js + Vercel 时,ShipFast 无疑是这条路上最具号召力且走得最快的正统路线。它的 3.6 小时构建时间其实极大程度反映了这套高集成度模块的高效:包括 Auth 授权、Stripe、带邮件分发并且还有一张早就做好全打包的登录落地页。因为 运行在 Node 层面的 Vercel Functions 的运行时存在体积开销包袱 所以在冷启动耗时上偏长,但随之附带的背后对应的长板优势也是极其结实的:拥有多得数不胜数的实战示范代码、能在 Stack Overflow 上轻易搜到解法以及极其庞大繁茂丰富的第三方集市挂载优势。
// app/api/stripe/checkout/route.ts - ShipFast Stripe checkout 处理器
import Stripe from "stripe";
import { auth } from "@/lib/auth";
import { NextResponse } from "next/server";
const stripe = new Stripe(process.env.STRIPE_SECRET_KEY!, {
apiVersion: "2025-08-27.basil",
});
export async function POST(req: Request) {
const session = await auth();
if (!session?.user?.email) {
return NextResponse.json({ error: "Unauthorized" }, { status: 401 });
}
const { priceId } = await req.json();
const checkout = await stripe.checkout.sessions.create({
mode: "subscription",
customer_email: session.user.email,
line_items: [{ price: priceId, quantity: 1 }],
success_url: `${process.env.NEXT_PUBLIC_URL}/dashboard?session_id={CHECKOUT_SESSION_ID}`,
cancel_url: `${process.env.NEXT_PUBLIC_URL}/pricing`,
allow_promotion_codes: true,
});
return NextResponse.json({ url: checkout.url });
}
它的代价是绑定方面的沉重锁死问题(lock-in depth)。ShipFast 把筹码下在了 Vercel、Supabase (或 Neon) 以及那套可能需要完全重写才能迁到他处的 Stripe 第一天就能爽快开跑的集约构架之上。如果你的优先级列表中 Next.js 头号高配社区势能和 Vercel 提供的 DX 在前,ShipFast 就是当真的好选。请时移步至 官方产品主页 去做一下目前的当前组件及开源牌照发行的追踪验底。
Makerkit —— 精致 UI 与 Supabase 的好搭档
在决定死站进 Supabase 做数据库并在明面上图个漂亮工整且高度贯穿一致打磨开箱极品的设计系统的 UI 构架里,Makerkit 绝对是不二法门。它用 22/24 验收高分成绩宣告了这套方案出色的整体统包能力,唯二空缺的地方全靠我手工糊平顶缺(也就是审计流水跟纯原生级的控频底层建设)。5.8 小时的构建时长被稍微拉开差距是在于,在对高速插销与整体柔软灵活适配上,Makerkit 把灵活性拉到高速前置。
// app/lib/supabase/rls.ts - Makerkit 的行级安全模式
import { SupabaseClient } from "@supabase/supabase-js";
export async function getProjectsForUser(
supabase: SupabaseClient,
userId: string
) {
const { data, error } = await supabase
.from("projects")
.select("id, name, created_at, owner_id")
.eq("owner_id", userId)
.order("created_at", { ascending: false });
if (error) throw error;
return data;
}
// 在数据库层应用 RLS 策略:
// CREATE POLICY "Users can only see own projects"
// ON projects FOR SELECT
// USING (auth.uid() = owner_id);
牺牲掉的一面在于 Makerkit 在大体规划上从不在意边缘节点优先化这件事。它所封装打包交工的诸如前端控件皆需要跟深陷 Supabase 自带验证网客户端进行验证打交道配合运转,且大面默认就直接投了依托常驻 Node.js 为骨架去干的建构部署里边起头挑阵面活路线去了。要是 Supabase 打底跟绝佳的体面组件能够成你核心选项优先级清单靠前的话并同时兼能咬死对庞然体积也宽宏容忍接受不介意给后端打死底的话,去拥抱 Makerkit 吧。至于在卖包大件列表详情的话大可去看一眼 Makerkit 原版主页 的详列总况录。
Supastarter —— Edge Vercel 配合 Postgres
Supastarter 巧妙地找到了一个中继爆发地带:结合 Next.js 标准范式、Supabase 的 Postgres 支持以及全套的 Vercel 边缘函数,最终取得了 20/24 的规格对应战绩。其 410 ms 左右的冷启动耗时表现堪称第二位(把没接上非 TanStack Start 以外甩下阵去了的所有人选里面),并且在一众硬核阵列 Next.js 出身者选出位列魁首的位置。最终跑到的 5.1 小时的耗费测定折算时间也就直接证实了该包比上对头家 ShipFast 或 TanStack Ship 更费上一些重压上的纯手工活的拉线排管苦痛感。
// middleware.ts - Supastarter 边缘中间件模式
import { createMiddlewareClient } from "@supabase/auth-helpers-nextjs";
import { NextResponse, type NextRequest } from "next/server";
export async function middleware(req: NextRequest) {
const res = NextResponse.next();
const supabase = createMiddlewareClient({ req, res });
const { data: { session } } = await supabase.auth.getSession();
// 针对每个请求进行兼容 Edge 运行环境的凭证检查
if (req.nextUrl.pathname.startsWith("/dashboard") && !session) {
return NextResponse.redirect(new URL("/login", req.url));
}
return res;
}
export const config = {
matcher: ["/((?!api|_next/static|_next/image|favicon.ico).*)"],
};
不足之处则是横向囊括业务拓展的涵盖面纵深宽度的深浅不如别家。它的面貌只管基本面大包大管、绝不要奢望去有直接掏得大出的一块纯带监控看底面的 MRR 金主数据账表看板、没有纯自带配邮件发送系统化模块、抑或没那个极其紧连带出外拉去留取深究溯源带落钩 UTM 的埋扣全链路网铺垫。若想要得到有 Postgres 还有搭载靠边向 Vercel 强托扶边缘下出而且还不能掏太多去硬贴本做盘大冤大头的主意时,切入选买使用 Supastarter 就是实实在在的避风湾。可翻开这个去 Supastarter 的落地售货处官方点 验全本明细。
Open SaaS —— MIT 免费王牌选项
Open SaaS 绝对算得上是我测过中带上 MIT 顶级公开通配发行牌照且含金量最猛最不坑里最好的一款基座套包。其整体扎根并架构在由 Wasp(建立起由 React/Node/Prisma 提供底层打包框架特发出来的 DSL)这根主干脉源地内上路,也随包装有打通去外做交连互扣结算网向的 Stripe 收发银钱处口、权能分端登录页口、统管监控面全盘管理门里口、大发长版发信处的大库外放博联博客甚至它居然还把全带靠接打连口入做生成人工智网陪说话的人工 AI 接通接驳。虽然拿到 18/24 去衡量只显得像干少了件而偏科短项而其实更主要是输就输那些在针对重在细化活操盘盘弄手段经营把件方面输分大亏在了人家收你高昂不手软那些挂件齐整充面有头脸上大物件上了。
// app.wasp - Open SaaS Wasp 配置 (DSL 摘录)
app mySaas {
title: "My SaaS",
head: [
"<link rel='canonical' href='https://mysaas.com'>"
]
}
route LoginRoute { path: "/login", to: LoginPage }
route SignupRoute { path: "/signup", to: SignupPage }
route DashboardRoute { path: "/dashboard", to: DashboardPage }
query getPosts {
fn: import { getPosts } from "@server/queries.js",
entities: [Post]
}
action createCheckoutSession {
fn: import { createCheckoutSession } from "@server/stripe/actions.js",
entities: [User]
}
api stripeWebhook {
fn: import { stripeWebhook } from "@server/stripe/webhook.js",
middlewareConfigFn: import { stripeMiddlewareConfig } from "@server/stripe/config.js"
}
其最为让人难以割舍妥让去退让那步大局处就在出在这套完全脱没法脱走大局脱手脱控给 Wasp DSL 上。Wasp 这个系统它要走得通靠就是自己生成出给拿下拿妥下盘全能栈然后还要靠人去跟用带 .wasp 这个外号后缀里的那点文档规条干瞪眼里强写上硬拼上去交配置。要是这个在半路要是把大业搁置黄拖断盘停,就等于你就顺手继承下了整盘乱大锅全非套路结构的大残破残根残底乱杂交出来的项目代组根大基去搞烂摊收拾打拼活烂仗。可要如果就是本钱为免费 + MIT 主导又要搞就必须要正经齐活可圈点功能的大块基础件去拿捏个门做下出位面的门基础位的话,去去冲个 Open SaaS 算到老本对口就是这准主板位方向没错的选择这道选。所有这些一切可都在它主基建全抛的 Open SaaS 同源挂置在外的门脸 GitHub 基建总仓去 寻个遍在翻找出同样那本主理编出的编订 Wasp 手册解出导说大全 不出大偏差统统摸通架构图本。
其余五款脚手架简要总结
next-forge —— 适合大团队的 Next.js monorepo
一个面向工程团队的硬核 monorepo 仓库。长达 8.4 小时的构建时间反映了其配置的深度;Vercel 上的默认冷启动为 1,500 ms。最适用场景:已获得融资、希望在一个仓库下管理多个应用并具备 CI 基础原语的技术团队。next-forge 文档 详细介绍了其 monorepo 的架构。
mkSaaS —— AI 产品演示竞速利器
主攻 AI 产品创始人,内置了各大提供商(OpenAI、Anthropic、Replicate)的集成模块,大大加快了做出演示产品的速度。6.9 小时的构建时间在可接受范围内,毕竟充足的 AI 模块为你省下了后续接入的精力。最适用场景:那些 MVP 是“套壳 GPT 加个计费功能”的创始人。
tanstarter —— TanStack 极简方案
TanStack Ship 的近亲,同样享有边缘运行时的速度优势(340 ms的冷启动)。这是一个精简版的启动器,没有 TanStack Ship 的后台管理、博客 CMS 或是 UTM 埋点模块。最适用场景:希望在 Cloudflare 上运行 TanStack Start 但不需要全套 SaaS 功能件的开发者。
TurboStarter —— 适合大团队的 monorepo
基于 Turborepo 打造,面向团队协作。7.1 小时的构建时间反映了其 monorepo 配置带来的间接成本。1,300 ms 也是 Vercel 上的默认冷启动用时。最适用场景:本身已经在用 Turborepo 并且需要找一个现成 SaaS 起步模板的团队。
LaunchFast —— 营销为先 (Astro)
以 Astro 为核心导向,这就解释了为何它能跑出 180 ms 极寒冷启动 p99 记录(Astro 默认不附带任何 JS 开销)。14/24 的功能对齐得分表明它的发力点不在后台运作模块(如后台管理、审计日志、后台任务)。最适用场景:自家的 SaaS 绝大版面是为了对外营销获客,且底层仅需薄薄一层 API 驱动的创始人。
具体的迁移路径参考
当你一开始挑的 boilerplate 不再适用时,这里提供三种我亲自执行过或目睹客户顺利走完的迁移路线。
从 ShipFast 迁移至 TanStack Ship (Vercel → Cloudflare,Next.js → TanStack Start)
这是最常见的切换。我在 2024 年甚至亲手在一个自身产品上折腾过。由于运行时的变更(Node.js → Workers),你需要去处理授权、数据库以及存储;底座框架的变更(Next.js → TanStack Start)则意味着需要修改路由与数据加载流程。请准备两周的(单人)开发时间。
// Before (Next.js App Router, 也就是 ShipFast)
// app/dashboard/page.tsx
export default async function DashboardPage() {
const session = await auth();
if (!session?.user) redirect("/login");
const projects = await getProjects(session.user.id);
return <DashboardView projects={projects} />;
}
// After (TanStack Start, 也就是 TanStack Ship)
// app/routes/dashboard.tsx
export const Route = createFileRoute("/dashboard")({
loader: async () => {
const session = await auth.api.getSession({ headers: req.headers });
if (!session?.user) throw redirect({ to: "/login" });
const projects = await getProjects(session.user.id);
return { user: session.user, projects };
},
component: DashboardView,
});
具体做法:重写那 30 多个最常用的页面(改路由)、将 Vercel Postgres 替换为 D1(改 Schema)、将 Vercel Blob 替换为 R2(改存储)、抛掉 NextAuth 改换 Better Auth(改授权)。你可以全盘保留 Stripe webhook 处理器——这玩意儿是与平台无关的。
从 Makerkit 迁移至 Supastarter (留在 Supabase,仅更换 UI 库)
轻松多了——毕竟大家都在 Supabase 环境。主要变动在于组件库本身。安排 4-6 天预算即可。
// Before (Makerkit 方案)
// import { Button } from "@makerkit/ui";
// <Button intent="primary" onClick={handleSubmit}>Save</Button>
// After (Supastarter 方案)
// import { Button } from "@/components/ui/button";
// <Button variant="default" onClick={handleSubmit}>Save</Button>
像是 Supabase 的客户端调用、RLS 策略与 Stripe webhook 都可以直接继承过来。后续只要处理体力活:重命名导入、调整属性参数名称(intent → variant),并为落地页重新套个皮肤。因为二者使用的都是 Supabase auth helpers,所以像中间件基本是可以做到 1:1 无缝衔接。
从 Open SaaS 迁移至 TanStack Ship (Wasp DSL → TanStack Router)
本系列难度最高的一场。Wasp 的 .wasp 配置文件被统合编译成全栈应用;想从一份 Wasp 构筑好的环境里提取出干净无修饰的 React/Node 代码简直就是要跟生成的输出文件强磕。请备好三周的时间。
实际路线是:留着 Prisma Schema、扣住 Stripe Webhook 的回调函数,然后重写 Auth 层(抛去 Wasp 授权 → 转投 Better Auth),最后就是挨个将 React 组建移植过去。除非你实在需要更换云端运行时(如 Cloudflare Workers),或者是由于死卡在某个 Wasp 局限上不得迈过去,我才勉强首肯这么折腾。否则老老实实呆在 Open SaaS 上。
构建时间计算:省下的 40% 时间都在哪里
从第一性原理纯手工基于 Next.js 或是 Remix,想要撸到一个能跑通以上所有参数且能交差到首笔入账扣款的地步的话,普遍估算是要搭进去 18 到 24 个小时。而这把这事理顺跑完耗费最少的脚手架卡在了 3.2 小时。稍微计算下:(18 - 3.2) / 18 ≈ 对比预期上限的话这算是直接省掉了 82%;若是放在相对温和且折中的预估底线约 5.5 小时去相提并论的话这也能帮你节省大约 40% 的精力。
这些被节省出来的时间大多能溯源追踪到四个基础集成原语:
// 1. Auth 连线绑定 — 本次评测的每一个脚手架都预先连结了 Better Auth、NextAuth 或是 Clerk,
// 令创始人可以直接绕过那些繁杂冗长的 OAuth 回调 + Session 维持配合 CSRF 安全防范的起手工作。
// 2. Stripe Webhook — 只要是得分在 20+ 的方案,全部都出厂顺带配置好了极其紧实的底层签名验算、
// 事件幂等处理拦截网以及能直接平滑过渡给客户服务门户的前后交接握手点。
// 3. 服务端渲染 Metadata — TanStack Start 的 loader 模式带来了极其直白的表现形式:意味着类似 Canonical URL 与 OG 骨架标签,
// 只需设定一次,就可以被后续每一个从属路由自然悉数承接。
// 4. Edge 边缘部署 — 不论你将主盘托付给了 Cloudflare Workers 还是交割进 Vercel Edge 里托管,单靠一句 `git push` 打穿流程的体验,
// 完全不存在对服务基建的准备包袱,令过去需要“构建 Dockerfile”的繁文缛节直接消失。
40% 这个指标设定上是以你拿出了一个架构上大体合理还不至于太像闹着玩的第一版为条件的。如果你一穷二白跑去完全用裸 Remix 或是 Next.js 底盘去生生硬造的话那是必然要把用时战线大幅后扯;但若是退而求其次只靠复制黏贴一堆教程瞎凑,那么时间是短了点,但后续留给你的也就剩了一堆风雨飘摇没有定数的雷坑系统。
决策矩阵
ARE YOU OPTIMIZING FOR EDGE SEO + CLOUDFLARE COST PREDICTABILITY?
→ Yes, and you can commit to TanStack Router
→ TanStack Ship (or tanstarter if you want lean)
→ Yes, but you need Postgres not D1
→ Supastarter on Vercel edge
ARE YOU OPTIMIZING FOR NEXT.JS COMMUNITY + VERCEL DX?
→ Yes, fastest conventional path
→ ShipFast
→ Yes, Supabase + UI polish
→ Makerkit
→ Yes, large team monorepo
→ next-forge or TurboStarter
ARE YOU OPTIMIZING FOR A DSL / OPEN-SOURCE BUILD?
→ Yes, full-stack generation
→ Open SaaS (Wasp)
→ Yes, but you want lean TanStack
→ tanstarter
ARE YOU OPTIMIZING FOR MARKETING-FIRST PUBLIC PAGES + THIN API?
→ Yes
→ LaunchFast (Astro)
ARE YOU OPTIMIZING FOR AI-PRODUCT DEMO VELOCITY?
→ Yes
→ mkSaaS (pre-built provider integrations)
创始人画像匹配
| 创始人画像 | 优选推荐 | 理由 |
|---|---|---|
| 独立运作,边缘为先,基础成本掌控在每月 $15 里内 | TanStack Ship | Workers + R2 + D1 带来了对支出的极致掌控与可预测性 |
| 独立运作,熟悉 Next.js,认可 Vercel DX | ShipFast | 体量最夸张的人群外加最直白最快的起步途径 |
| 独立运作,卡在 UI 设计且已敲定选用 Supabase | Makerkit | 这一队列中最好看的组件储备库 |
| 独立运作,只认准 100% 免费加 MIT 协议开源的底盘 | Open SaaS | 足以盖住大面所需的模块支撑,且根本不用花半文钱授权费 |
| 5 人+ 团队,锁定 Next.js monorepo | next-forge | 多应用铺列结构打底,自带扎实的 CI 挂载原语 |
| 5 人+ 团队,内部已经在使用 Turborepo | TurboStarter | 图主一个在自身内部非常合脚对味的熟悉开发老配方手感 |
| 必须 Postgres 并要求具备 Vercel 边缘支持的情况 | Supastarter | 在 Postgres 底上加装 Edge 层面的防护处理中间件 |
| 重视偏营销展示向的轻量 SaaS,只需要挂一层极薄的 API | LaunchFast | Astro 那压根不给前端上 JS 首包重负的基因及其 180 ms 的极短冷启神迹开局 |
| 含有计费功能套核的 AI 产品系 MVP | mkSaaS | 预先绑定连接好了 OpenAI + Anthropic + Replicate 引线 |
| 就是只图最简素的 TanStack 底层,无须其余零碎 SaaS 工具大包 | tanstarter | Edge 跑境优越以及无重度羁绊带拖累的原味极简风起始线包 |
| 即将于 2026 年中从 ShipFast 阵列中换防撤离的用户 | TanStack Ship | 能借 3.2h 极致的构建优势夺回主动,同时帐前比买另一套便宜个 $148 |
| 即将于 2026 年中想要放弃采用 Makerkit 的用户 | Supastarter | 同样也是定死了留住 Supabase,单做一套替换组件换掉 UI 的面子活处理 |
关于本次评测我会改进的地方
有两点。首先,我应该在 2027 年第一季度重新跑一遍,因为 TanStack Start 框架 和 Cloudflare Workers 运行时 更新得非常快。其次,这份由 24 个项目组成的评测清单其实是非常主观的——不同的创始人会在后台管理面板、UTM 参数捕获以及邮件事务处理通道赋予不同的关注度比重。好在整体方法的实施细节已经摊开摆明了,所以你可以依据自己的需求标准套取我的自检名单去二次比权;而在应付大多数规格差异方面,我相信原有的那一排名顺位依然站得住脚。
过度偏向“独立开发者”视角的偏见是真实存在的。五人的开发团队若要在一同上线 ShipFast 这套家底时所花费的时间一定会比我独立摸出来那个 8.4 小时收工的情况强太多太多,而在给多塞上是个满勤工程人员时恐怕瞬间就会把我在 next-forge 那配置流程上的磨耗踩碎。大家请务必只将 3.2 到 8.4 小时的范围认定是一个针对单兵防身用的基准浮动线;要是拥有配置拉满五个工程好手齐上阵可以直接拿个减幅去乘上个 0.5 到 0.7 当作补偿余量。
常见问题解答
2026 年哪款 SaaS Boilerplate 跑通首次付费的构建时间最短?
在我的基准测试中,TanStack Ship 以 3.2 小时夺冠(采用了预先绑定好的 TanStack Start + Cloudflare Workers + Stripe 阵位)。ShipFast 以 3.6 小时位居第二(基于 Next.js + Vercel + Stripe)。两者的差距非常小,因为它们都预先配齐了 Stripe 的全部核心原语。运行时上的差异(Cloudflare Workers 相比 Vercel Functions)影响的是后面的冷启动 p99 延迟,而不体现在构建时间上。
哪款 SaaS Boilerplate 冷启动延迟最低?
在我的测试中,LaunchFast (Astro) 压出了惊人的 180 ms p99 记录。TanStack Ship 以 280 ms (Cloudflare Workers) 位居第二。Supastarter 则是 Next.js 路线中速度最快的方案,约为 410 ms (Vercel Edge)。未能采用 Edge 运行时的其它 Next.js 方案 (ShipFast, Makerkit, next-forge, TurboStarter) 普遍聚集在 1,200-1,500 ms 之间。冷启动时间对 SEO 爬虫及首屏加载指标尤为重要;但对于身份认证后的控制台页面而言,其影响相对较小。
2026 年哪款 SaaS Boilerplate 拥有最大的社区?
ShipFast 拥有大约 3.6 万名 Discord 成员与 3.6 万+ 的 GitHub Stars 稳居榜首。由于 Stars 数的积累,create-t3-app 能以约 2.6 万排名第二,但后者的社区定位是通用的 Next.js 生态,而非 SaaS 专用的脚手架。Makerkit 的星标数约在 5.3k。在 Cloudflare 原生的 SaaS Boilerplate 当中,TanStack Ship 是使用基数最大的一家。
一万月活(10k MAU)下运营最便宜的是哪款?
最经济的是 TanStack Ship,大约每月 $11 (Cloudflare Workers 免费额度能覆盖绝大部分场景;一台内容承载为主的万级 MAU 的 SaaS 平台在 D1 + R2 + KV 层面依然不会突破免费版阈值)。Open SaaS 拥有零授权费的极大优势,但这属于自主架设,所以最终开销完全取决于你选用的 Fly 或 Railway 套餐。如果使用 ShipFast,跑在 Vercel + Supabase Pro 再加上 Stripe 等一并产生的手续费下,10k MAU 的情况大概需要花去 约 $94/月 的综合运营成本。Cloudflare 豁免出站流量计费的模型是这里的最核心差异变量。
前期起步后,我可以迁移到别的 SaaS Boilerplates 吗?
可以的,但请准备好耗时 4 天至 3 周的心理预期,这主要受制于运行时环境的改变跨度。同一云环境底盘内的迁移(例如从 Makerkit 转到 Supastarter,二者同属 Supabase 生态)只需要大概 4-6 天。若是跨越式的底层搬移(譬如从 ShipFast 迁移脱离前往 TanStack Ship,从 Vercel 转投 Cloudflare)请至少备足 2-3 周进行切换。数据库的 Schema(比如 Prisma 或 Drizzle)往往可以直接带走;但是 Auth 层、存储层与一系列基于此的中间件(Middleware)几乎肯定要重写。可查阅此前给出的 具体的迁移路径参考 那节内详列的三种实际迁移案例。
在 2026 年,这些免费的 SaaS Boilerplates 能当做真金白银的生产级用吗?
若只是为了学习或仅仅是在周末凑个简单的 MVP 来应付,自然是足够用的。例如 Open SaaS 在 MIT 协议下毫无保留地提供了真实的 Auth 方案、结账渠道(Stripe)与带附带博客的组件。可是,当你面对一个要让你掏出真金白银去服务的付费客户时,这道账目的算法就变了:那个花 $149-$279 买来的商业版 Starter,光靠开箱预配省掉的 4 到 8 小时不等的苦差事工时,它在回报上就已经稳赢且碾压那点花掉的现金流。除非创始人本身就宽裕到宁可用这大把时间硬啃一门底层的盲知区作为全盘历练,我否则绝不建议用无授权费且不含维保支持的基础空包白板莽着开启 B2B 商业大业。
若我想选用 TanStack Router 该选哪个 SaaS Boilerplate?
只要你图的是包含所有整装待发的运营大礼包(完整的控制台面板、专稿博客集与能够留客驻流捕引深绑跟踪 UTM 和内置候补排队发号功能),认准使用 TanStack Ship。如果图精简只需极度克制收束纯保留在仅只有 TanStack Start + Drizzle 搭着而不需要额外 SaaS 大包袱套件附身的话就用 tanstarter。直至 2026 第三季度的今天为止,同级别中并没有另一个与之匹配体量的原生级别 TanStack 系 SaaS Boilerplate 。
总结建议
对于一名在 2026 年准备发布订阅制 SaaS 的一人创始人(Solo founder)来说,只要你重视 Cloudflare 原生的可预测成本优势、全栈端到端 TypeScript 的路由机制以及围绕一人独扛的架构,TanStack Ship 无疑是最优解。如果你的前置条件是要绑定 Next.js 庞大的全生态资源并且极度认可 Vercel DX 带来的极客生产力经验,请用 ShipFast。要是把带有精细打磨质感的 UI 层搭配起对 Supabase 底件紧靠作为重中之重,认准 Makerkit。如果想在完全开源的环境中使用基于 Wasp 开发栈来跑通大框架,去选 Open SaaS 没出错。假若产品更多需要前端重火力宣发并且全依赖下层做个短平快轻量 API 做驱动面接口的,LaunchFast 足已应对。
文章中的这张包含十行信息的比较图其实就像是一幅客观呈现分布点的全景地图画册,而不应该被当做一个简单的“谁比谁强”的竞速天梯胜负榜。去挑那个能完美契合当前所需技术里程碑与架构包袱的工具盘,好过去无脑跟推那些只是单单流转于网络热区的信息盲从推选流。关于包含所有全量的 TanStack Ship 细节查控单验证点,请访问 功能总览页面。需要详审这入围十名成员各自开支清单上的价格横向全解录算方案,参考这篇 价格对比详解。若是需要以拥有涵盖从五大不同打入打出角度开全对比图视去复看前面上述的数据面得失落局判定图时,直接点去 综合比较中心 。
想要包含完全同等技术规格,全部整合对接完成、自带边缘端首发生效的 SEO 高配防线并能顺带压制消解帮你挤出 40% 原本花在底层基建组装苦力工时的成套启动器? 点击查看 TanStack Ship 实战形态 —— 全配搭载齐上的 TanStack Start + Cloudflare Workers + Better Auth + Stripe + D1 构架打底联结配置组合,额外顺延加装附备齐全 14 大硬实对扛生产全真检验用件库,还配有那为了适配诸如像 Claude Code、Cursor 和 Copilot 这一类前言大火大 AI 代码接引工具特型构加出对列总套模发架构体系。首批抢注下定的前 100 名下单买家直接一步获得其永久享受持续获得维护增添版更权限并会附上包含那为打通去过渡新锐 v2 大构路线的护航宝典边缘迁移手写册。