北京亦庄前阵子挂了块牌子——国内首个 OPC 创新社区。OPC 是 One Person Company 的缩写,直译就是"一人公司"。这个概念过去几年在海外已经跑通了,Pieter Levels 一个人做了 Nomad List 和 Remote OK,ARR 破百万美元;日本那边 Takuya 用 Next.js + Supabase + Claude 独立做 SaaS,案例写进了各种 YC 的推荐读物。
国内最近也开始有人认真做了。V2EX 上有个 41 岁的 Java 老兵发帖讲他第一次出海独立开发,技术栈从 Java 全家桶换成 Next.js。他说的原因很实在——"一个人扛不动那一套重装备"。
但问题来了,如果你的用户在国内,这套海外标准栈还能不能用?
答案是:能用,但会撞墙。
这篇不谈情怀,逐层算账——Next.js + Supabase + Vercel + Stripe 这四样东西到了国内分别卡在哪里,CloudBase 能不能替,以及什么场景下你压根不该换。
一、一人公司开发者的四个真实约束
聊技术选型之前,先把约束摆清楚。一个人做产品,你面对的不是"哪个框架最先进"的问题,是"哪套组合能让我活下来"的问题。
时间。一个新功能必须一天内跑通,不行就是两天,两天还搞不定就要砍需求。一人公司没有人陪你一起 debug,也没人帮你写 CI/CD。
成本。起步阶段必须能用免费额度跑,能把付费时间点拖到第一个真实用户付钱之后。每月固定 99 美元的基础开销在海外是小钱,在国内对独立开发者就是劝退信号。
合规。备案、支付、发票、实名认证——这些事情一个 人全要扛。海外开发者收 Stripe 的钱走 Payoneer 回国内,这条路对大部分人来说太复杂,不如一开始就走微信支付。
生态。你的用户在哪里,决定了你的流量起点在哪里。国内产品最顺的冷启动是微信生态(小程序、公众号、视频号),海外产品最顺的是 Twitter + Product Hunt + Reddit。这两条路几乎不交叉。
海外标准栈(Next.js + Supabase + Vercel + Stripe)能成为标准,是因为它精准匹配了"海外一人公司"的四个约束。但国内的约束不同,最优解也必然不同——这不是技术问题,是地理和政策问题。
二、海外标准栈在国内的三道坎
先说 Vercel。
Vercel 的边缘节点在海外,国内用户访问会走跨境链路,实测延迟 300-800ms 波动,高峰期掉包。这不是"配置优化能解决"的事,是物理距离决定的。你可以套一层 Cloudflare 加速,但 Cloudflare 在国内的状态你懂的——有时候能用,有时候连 DNS 都过不去。
然后是 Supabase。
Supabase 没有国内节点,数据库和 API 全在海外。即使你的前端部署在国内,后端调用依然要跨境。Pro 版本也改变不了这个物理现实。有人试过在国内搭 Supabase 自托管(它是开源的),但那就失去了选 Supabase 的初衷——你要的是"不用运维",自托管等于把运维搬回来了。
最后是 Stripe。
这是最硬的坎。Stripe 不支持国内个人开发者注册,即使你注册了香港公司走 Stripe HK,收到的款要回大陆还得过一道汇款合规。对一个人的项目来说,这是无底洞。国内合规的支付路径只有微信支付、支付宝、银行聚合这几条,其中微信支付对小程序场景最顺,支付宝对 H5/PC 场景最顺。
这三道坎叠起来,海外标准栈在国内的体验大概是:前端慢、后端更慢、想收钱收不了。
有人会说,那就混合部署——前端走国内、后端还用 Supabase、支付走微信。可以,80aj.com 那篇混合架构文章就是这个思路,但它代价是你要同时维护两套部署、两套域名、两套监控。对一人公司来说,复杂度立刻翻倍。
三、逐层对标 CloudBase
CloudBase 能不能打?逐层看。
前端部署:Next.js 在 CloudBase 的真实支持度
这里很多人有个误解——以为 CloudBase 只能部署静态站点,Next.js 的 SSR/ISR 跑不了。
官方文档摆在那里(docs.cloudbase.net/cloud-function/frameworks-examples/next),Next.js 在 CloudBase 上是一等公民:
| 能力 | 支持情况 |
|---|---|
| SSR(服务端渲染) | ✅ 原生支持 |
| SSG(静态生成) | ✅ 原生支持 |
| ISR(增量静态再生) | ✅ 原生支持 |
| API Routes | ✅ 原生支持 |
| Middleware | ✅ 原生支持 |
实现路径是用 HTTP 云函数承载 next start,通过 scf_bootstrap 拉起 Node 服务监听 9000 端口。你需要改两个地方:
// next.config.js
const nextConfig = {
output: 'standalone',
images: { unoptimized: true },
};
加一个启动脚本 scf_bootstrap:
#!/bin/sh
export PORT=9000
export NODE_ENV=production
npm start
部署一次就跑起来了。
要承认的缺点:
next/image的图片优化得禁掉,没有 Vercel 那种开箱即用的 Image Optimization- 云函数有冷启动,首次访问 1-3 秒,不如 Vercel 的边缘节点快
- Windows 用户创建
scf_bootstrap会遇到换行符问题(^M),要用 nano 或 vim git push即部署这个心智,CloudBase 要配合 CLI V3 才能做到,没 Vercel 那么傻瓜
所以结论是:技术完全可行,开发者体验(Developer Experience,后文简称 DX)比 Vercel 差半级。
数据库:云数据库 vs Supabase PostgreSQL
Supabase 的数据库是 PostgreSQL,带 RLS(行级安全)、实时订阅、auto-generated REST 和 GraphQL API,这套组合目前还是业界最舒服的。
CloudBase 云数据库走 MongoDB 风格的文档型数据库,外加可选的关系型数据库(MySQL)。差别很大:
- 数据模型:Supabase 天然适合关系型思维,CloudBase 文档型更适合小程序这种"一个文档对应一个业务对象"的结构
- 权限模型:Supabase 的 RLS 是 SQL 语法,写起来严谨;CloudBase 的权限规则是 JSON,学习曲线短
- 实时能力:Supabase 的 Realtime 基于 PostgreSQL logical replication,CloudBase 有实时数据库,功能对等但 API 不同
- 客户端 SDK:Supabase 的 TypeScript 类型推导是杀手级体验,CloudBase 这边类型支持有,但不如 Supabase 强
如果你的数据模型是强关系型(电商、SaaS、财务),Supabase 依然更舒服;如果是弱关系或文档型(内容平台、IoT、工具类小程序),CloudBase 够用。
认证:CloudBase 身份认证 vs Supabase Auth
Supabase Auth 开箱即用支持 40 多种 OAuth provider,Google、GitHub、Apple、Twitter、Facebook 全都是一键配置。
CloudBase 身份认证的强项在国内生态——微信、QQ、手机号、邮箱是亲儿子,接入一行代码;海外 OAuth(Google、GitHub 等)需要自己通过 OAuth 2.0 标准流程接入,不是开箱即用。
结论:你的用户在哪里,决定了谁更好用。国内产品选 CloudBase,海外产品选 Supabase,这个没争议。
API / 后端:HTTP 云函数 vs Vercel Serverless
两者都是 Serverless Functions,冷启动和计费模式差不多。几个真实差异:
- 部署单位:Vercel 是自动把
app/api/*打包成 functions;CloudBase 需要显式声明或通过 Next.js 整体部署 - 本地开发:Vercel 的
vercel dev和生产环境一致度高;CloudBase 的 本地调试要配合 CLI - 边缘计算:Vercel 有 Edge Runtime,能在全球边缘执行;CloudBase 云函数目前主要在国内区域
支付:微信支付集成 vs Stripe
这一层没得选——你的用户在国内,就只能走微信/支付宝。
CloudBase 对微信支付的集成是官方方案,几行云函数就能打通下单、回调、退款。Stripe 那套 Checkout Session 的优雅 API 国内没有对等物,但你也用不上。
四、CloudBase 的边界,我老实讲
承认几件事。
社区生态不如 Supabase 成熟。Supabase 在 GitHub 有 70k+ Stars,Stack Overflow 上的问答量级是 CloudBase 的十倍以上。你遇到问题 Google,Supabase 大概率已经有人踩过;CloudBase 这边很多问题还要去官方社区或工单。
文档密度不够高。CloudBase 文档的基础 API 覆盖很全,但"完整项目示例"和"踩坑总结"类的内容明显偏少。新手从零开始,跟着 Supabase 官方 tutorial 一路能通关,跟着 CloudBase 文档走要自己补很多上下文。
海外场景反转。CloudBase 没有海外节点,如果你的用户 30% 在海外,CloudBase 就成了劣势。这时候 Supabase + Vercel 反而是最优解。
DX 差距客观存在。Vercel 的 "connect your repo, we handle the rest" 是黄金标准,CloudBase 目前还做不到这么丝滑。你要接受一些手动配置——scf_bootstrap、端口 9000、standalone 输出这些东西 Vercel 用户从来不需要知道。
把这些摆出来不是为了劝退,是让你心里有数——如果这些点你都能接受,后面再往下读就不会踩坑。
五、分场景的选型建议
不同场景,不同答案。
| 场景 | 推荐技术栈 | 关键理由 |
|---|---|---|
| 纯国内 B/C 端产品(小程序、公众号、国内 SaaS) | CloudBase 全栈 | 一套平台收敛,微信支付亲儿子,备案走官方链路 |
| 出海产品(海外用户为主) | Next.js + Supabase + Vercel + Stripe | 海外节点、OAuth 全家桶、Stripe 合规 |
| 混合场景(国内外都有用户) | 前端双轨 + Supabase 主库 + 国内镜像(或反过来) | 平衡延迟和合规,但复杂度翻倍 |
| 已有 Vercel 项目想补国内体验 | 前端部署到 CloudBase 静态托管 + 云函数做 API 层,Supabase 继续用但加缓存 | 最小改动,先解决前端延迟 |
再具体一点——
纯国内场景下,如果你在做一个小程序 + H5 的双端产品,CloudBase 一套跑完:
- 前端(小程序原生 + Next.js H5)都托管在 CloudBase
- 数据库用云数据库
- 用户登录用微信一键授权
- 支付用微信支付
- AI 能 力走 CloudBase AI Toolkit(如果要用)
整个栈你只有一份账单,一个控制台,一个 MCP 入口。对一人公司的认知负担友好,这比什么都重要。
出海场景下,别硬用 CloudBase。Supabase + Vercel + Stripe 的组合仍然是最优解,而且海外的 Stripe、Google OAuth、Google Pay 这些集成只有在那边生态里才顺畅。
混合场景下是最复杂的。我的建议是——先判断你 80% 用户在哪里,按主流场景选栈,另一边做降级体验。如果真做到 50:50,那就接受双轨部署的复杂度,别指望一套栈能全搞定。
六、2026 年的新变量——AI 选型
有个趋势正在起来:2026 年的技术选型里,"AI 可理解性"占的权重越来越高。
意思是,你选的这套栈,AI 写代码写得对吗?MCP 能直接操作平台吗?对话式部署走得通吗?
Next.js 在这个维度上是赢家——它是 LLM 训练数据里最常见的框架之一,AI 写 Next.js 代码的正确率远高于冷门框架。
CloudBase 在这个维度上有反超机会——CloudBase MCP 已经上线,配合 CodeBuddy 扩展可以做到"对话式部署"(前一篇《微信开发者工具+AI+CloudBase部署实战》讲过这个链路)。而 Supabase 虽然有 MCP,Vercel 那边的 MCP 集成还在路上。
但别过度神化。AI 辅助只是加分项,不是翻盘因素。核心约束依然是前面那四条——时间、成本、合规、生态。