TanStack Ship vs TanStarter:2026 年评测与深度对比

免费 TanStarter 和付费 TanStack Ship 同台实测:功能差距、冷启动时间、TCO,以及升级实际回本的那个临界点。

Huifer
Huifer
July 25, 20269 min read
其他语言:Deutsch · English

TL;DR: 两款产品均基于 TanStack Start + Cloudflare Workers 构建。TanStarter 是面向学习和业余项目的精简启动器。TanStack Ship 是包含 14 个模块的生产平台。诚实的定位:入门套件 vs 生产平台。按项目野心选,不要按功能数量选。


目标读者

你正在两款 TanStack 原生 SaaS 启动器之间做选择。两者都是正经产品。两者均基于 TanStack Start + Cloudflare Workers 构建。区别在于深度与简洁,而答案取决于你处于 SaaS 旅程的哪个阶段。

如果你正在学习 TanStack Start 或构建业余项目,TanStarter 是正确的选择。只有当你确实需要 14 模块生产栈时,从 TanStarter 升级到 TanStack Ship 才合理——这是可以坦然承认的。我构建 TanStack Ship 就是为了满足第二类需求。

更详细的落地页版对比,见 TanStack Ship 作为 TanStarter 替代方案。

技术栈对比

两款产品共享相同的 TanStack Start + Cloudflare 基础。框架承诺完全一致:

维度TanStack ShipTanStarter
框架TanStack StartTanStack Start
托管Cloudflare WorkersCloudflare Workers
数据库Cloudflare D1Cloudflare D1
认证Better AuthBetter Auth
支付StripeStripe
模块数量14 个生产模块精简核心集
部署Wrangler / CloudflareWrangler / Cloudflare
目标用户商业 SaaS(订阅制、增长运营)学习、业余、验证

如果在这里停下来仅凭技术栈选择,两者任选其一即可。技术栈是一样的。区别在于在其之上构建了什么。

深度差异——核心差异

TanStack Ship 内置 14 个模块,这些模块来自 12+ 个生产部署的经验。TanStarter 提供精简的核心集,优化目标是学习和快速上手。两者都没错——它们面向的是不同阶段。

模块矩阵如下:

模块TanStack ShipTanStarter
认证✅ Better Auth + 管理后台用户管理✅ Better Auth(核心版)
Stripe 订阅✅ 动态定价引擎✅ 标准 Stripe 集成
UTM 归因✅ 捕获 → Cookie → ROI 仪表板❌ 不包含
推荐系统✅ 积分 + 邀请码❌ 不包含
邮件活动✅ HTML 编辑器 + Cloudflare Queues❌ 不包含
MRR / ARR 仪表板✅ 内置管理后台模块❌ 不包含
Blog CMS✅ MDX + i18n + Shiki + Mermaid⚠️ 基础 MDX
R2 文件管理✅ 管理后台文件浏览器 + 审计日志❌ 不包含
多语言✅ en/zh/de via Paraglide⚠️ 有限支持
MCP / WebMCP / Agent Skills✅ 内置❌ 不包含
季节性促销引擎✅ 自动促销 + 活动序列❌ 不包含
短链接 + 追踪✅ 内置❌ 不包含
管理后台✅ 14 模块管理界面⚠️ 基础管理后台
可观测性✅ 预接好:PostHog + Sentry + GA4⚠️ 需额外添加

如果你的项目需要 3 个或更少 的 TanStack Ship 模块,TanStarter 几乎肯定是更好的选择。如果你的项目需要 6 个或更多,TanStack Ship 高级版在开发时间节省上第一个月即可回本。

量化决策框架

TanStack Ship 回本条件:

  • 你需要矩阵中 ≥6 个模块
  • 你的时薪价值 ≥$50/小时
  • 你在构建生产级项目,而非学习

计算:

  • 6 个模块 × 8 小时/模块 = 节省 48 小时
  • 48 小时 × $50/小时 = $2,400 价值
  • TanStack Ship 高级版:$149 一次性(见定价页)
  • 回本周期:大多数独立开发者 < 1 个月
  • ROI:第一年内 16 倍投资回报

查看 TanStarter 官方功能矩阵 获取其当前模块列表与限制。

TanStarter 的优势

更低的价格

TanStarter 的定价明显低于 TanStack Ship 高级版。如果你的预算有限且不需要 14 模块生产栈,TanStarter 是进入 TanStack 生态更平易近人的入口。不要为用不到的功能深度付费。

简洁性与学习曲线

TanStarter 精简的模块数量意味着更少的代码需要阅读、更少的概念需要理解、更快的本地运行路径。如果你在学习 TanStack Start——框架本身,而非 SaaS 商业模式——这种简洁性有真实价值。TanStack Ship 中的每个模块都来自一次生产事故和一份修复文档(见事后分析系列);TanStarter 有意跳过了这种深度。精简的代码库意味着你花在理解现有代码上的时间更少,花在写自己代码上的时间更多。对于学习项目或快速验证(一周末测一个想法),这是真实有意义的。

更快的定制速度

TanStarter 更小的代码库意味着更快的定制路径。你获得的是相同的 TanStack Router、TanStack Start、Cloudflare Workers、D1、Better Auth 和 Stripe 基础。框架承诺完全一致。无论你在 TanStarter 上学到什么,都可以转移到 TanStack Ship。

TanStack Ship 的优势

内置增长运营

UTM 捕获 → Cookie 持久化 → Stripe 折扣自动匹配 → ROI 仪表板,是 TanStack Ship 中的一个完整闭环。如果你在做付费获客且需要知道哪个渠道带来转化,这个功能在运行广告的第一个月内就能弥合价格差距。SaaS 增长框架文章 详细介绍了这一机制。

从头构建 UTM 归因需要 1-2 周。TanStack Ship 计费模块第一天就已内置。

代码示例:TanStack Ship 中的 UTM 归因

typescript
// TanStack Ship: UTM 捕获是自动的
import { captureUTM } from '@/server/analytics'

export const loader = async ({ request }) => {
  // 自动捕获 utm_source, utm_medium, utm_campaign 等
  const utm = await captureUTM(request)

  // 持久化到 Cookie,30 天有效期
  // 与 Stripe checkout 元数据自动匹配
  // ROI 仪表板按渠道聚合

  return { utm }
}

// TanStack Ship: 你需要自己实现
// 同样功能需要 1-2 周工作量

生产级深度

TanStack Ship 的 14 个模块每个都来自真实的线上事故和已记录的修复方案。代码库凝结了 12+ 个生产部署的经验教训——并非所有都是好教训。事后分析系列 是这些经验公开呈现的地方。

TanStarter 是一个精简的起点。TanStack Ship 是那个起点经过生产检验、经历故障、被修复之后的样子。

MCP / WebMCP / Agent Skills

TanStack Ship 开箱即支持 AI Agent 可访问性:MCP 服务器端点、WebMCP 配置,以及与包捆绑的 TanStack Intent Skills。对于需要被 AI Agent(Claude、GPT、自定义 Agent)发现和使用的 SaaS 产品,在 TanStack Starter 中实现这些需要额外数周工作。TanStack Intent 详解 深入介绍了这一机制。

内置多语言

en/zh/de via Paraglide,无需额外配置。TanStack Ship 的 i18n 系统见 React i18n 指南。从零构建多语言支持——本地路由、hreflang 标签、MDX 翻译——需要 1-2 周专注工作。

邮件活动

TanStack Ship 附带了 HTML 邮件活动编辑器和 Cloudflare Queues 异步发送。TanStarter 有交易邮件集成,但没有活动自动化能力。

商业支持

TanStack Ship 包含带响应时间 SLA 的邮件支持。TanStarter 的支持依赖社区驱动。对于需要在关键时刻获得可靠升级路径的独立开发者来说,商业支持是一个有意义的差异化因素。

决策树

选择 TanStarter 如果:

  • 你在学习 TanStack Start 或评估生态
  • 你在构建业余或学习项目
  • 你想要最简单的方式让「TanStack + Cloudflare,跑起来」
  • 你第一天不需要增长运营(UTM、MRR、推荐、邮件活动)
  • 你的预算紧张,宁愿逐步添加功能
  • 你在评估 TanStack 生态,尚未准备好承诺生产平台

选择 TanStack Ship 如果:

  • 你在构建需要增长运营的商业 SaaS
  • 你第一天就需要 UTM 归因、MRR 仪表板、推荐系统或邮件活动
  • 你需要来自 12+ 个真实部署经验打磨出的生产级深度
  • 你需要 MCP / WebMCP / Agent Skills 以实现 AI Agent 可访问性
  • 你需要 en/zh/de 多语言,无需额外配置
  • 你想要带 SLA 响应时间保证的商业支持
  • 你已确定选择 TanStack + Cloudflare,希望第一天就有完整生产平台

诚实定位

TanStarter 是学习、业余和简单项目的正确选择。如果 TanStarter 已满足你的需求,不要为 TanStack Ship 付费。

TanStack Ship 高级版的溢价来自增长工具的深度和为生产打磨过的代码库。如果你需要这种深度,价格是合理的。如果不需要,诚实的选择是省钱用 TanStarter。

我的个人经验

我在 12+ 个生产部署中深度使用过两款产品。TanStarter 教会了我 TanStack Start 的路由和基于文件的路由模式。TanStack Ship 是我在需要第一天就有增长运营时用于生产的产品。区别不在于质量——在于范围与阶段。

生产部署对比:

  • TanStarter 部署:3 个学习项目、2 个 MVP
  • TanStack Ship 部署:7 个商业 SaaS、2 个客户项目
  • 到首单平均时间:TanStarter(8 周)vs TanStack Ship(3 周,含增长模块)
  • 支持工单:TanStarter(社区支持,24-48 小时响应)vs TanStack Ship(邮件 SLA,4 小时响应)

我选择 TanStarter 时:

  • 学习新框架(React、Vue、Solid)
  • 构建周末项目或 MVP
  • 在承诺增长功能之前验证假设
  • 教学或 workshops

我选择 TanStack Ship 时:

  • 构建有付费增长需求的商业 SaaS
  • 需要第一天就有 UTM → 收入归因
  • 服务需要可靠性的商业客户
  • 想要带 SLA 保证的商业支持

两者都有活跃维护,都有清晰的长期规划。问题在于你处于哪个阶段,而非哪个更好。

两款产品均基于相同的 TanStack Start + Cloudflare 基础构建。两者都有活跃维护和清晰的长期规划。问题不在于哪个更好——在于你处于哪个阶段。无论哪个选择都不会封死未来的路。

如何试用两者

两者都有 starter / 免费选项。建议路径:

  1. Clone TanStarter——TanStack Start + Cloudflare Workers,精简核心,快速上手
  2. Clone TanStack Ship starter——相同基础,14 个生产模块
  3. 在两者中构建相同功能(建议:带 UTM 捕获的 Stripe checkout)
  4. 对比:功能实现时间、代码清晰度、包含内容的深度、支持体验
  5. 基于你的实际需求做明智决定,不要基于功能列表

实现示例:带 UTM 的 Stripe Checkout

TanStack Ship(预构建):

typescript
// 计费模块中已实现
import { captureUTM, createCheckoutSession } from '@/modules/billing'

export const loader = async ({ request }) => {
  const utm = await captureUTM(request)
  const session = await createCheckoutSession({
    priceId: 'price_123',
    metadata: { utm } // 自动追踪
  })
  return { session }
}
// 实现时间:0 分钟(模块自带)

TanStarter(手动实现):

typescript
// 需要手动实现
// 1. 安装 Stripe SDK
// 2. 设置 UTM 捕获逻辑
// 3. 配置 Stripe webhook
// 4. 构建 checkout UI
// 5. 测试生产流程
// 实现时间:4-6 小时

更详细的落地页版,见 /compare/tanstarter。

技术深度对比

TanStack Router 实现:

  • TanStack Ship:路由守卫含 beforeLoad,搜索参数验证含 Zod,自动预加载
  • TanStarter:基础路由,守卫需手动实现

Cloudflare Workers 集成:

  • TanStack Ship:D1 数据库迁移、KV 缓存策略、环境特定配置
  • TanStarter:基础 D1 配置,无高级模式

Better Auth 集成:

  • TanStack Ship:管理后台用户管理、会话版本控制、OAuth providers
  • TanStarter:核心认证,最小化配置

Stripe 集成:

  • TanStack Ship:动态定价引擎、UTM → 折扣自动匹配、webhook 处理
  • TanStarter:标准 Stripe 集成,基础 checkout

这些技术差异会累积放大。在 TanStarter 需要 2-3 天构建的功能,在 TanStack Ship 中直接可用。


FAQ

我可以从 TanStarter 迁移到 TanStack Ship 吗?

可以,但不是自动迁移。 框架相同(TanStack Start + Cloudflare),但模块结构不同。迁移涉及:

  1. 将自定义代码复制到 TanStack Ship
  2. 使用 TanStack Ship 的模式重新实现 auth 守卫
  3. 将数据库 schema 与 TanStack Ship 的迁移集成

工作量估算:根据定制程度,需要 4-8 小时。

哪个长期维护更好?

两者都有活跃维护。 TanStarter 有更大的社区(更多贡献者、更多 issue)。TanStack Ship 有商业支持(邮件支持、SLA 保证)。对于商业项目,TanStack Ship 的支持模式提供更可预测的维护。

我需要先学习 TanStack Start 吗?

不需要,但有帮助。 两款产品都假设熟悉 TanStack Router 和基于文件的路由。如果你是刚接触这个生态,先从 TanStarter 开始学习框架基础,在需要生产功能时再升级到 TanStack Ship。

如果 TanStack Start 发布 breaking change 怎么办?

两者都会更新。 TanStack Ship 保持与 TanStack Start 版本的兼容性。商业用户在框架更新期间获得迁移指南和支持。


关于本文

开始使用 TanStack Ship——克隆免费 starter 版,只在需要 14 模块生产深度时才升级。开始使用 TanStack Ship →