功能与方案
能不能只做 UI,能力用第三方?
可以,但"只做 UI、能力全部用第三方"是个被误解的命题。现代软件项目里,第三方服务、开源能力、自研模块本来就是组合在一起的整体。问题不是要不要用第三方,而是哪些能力适合接第三方、对应的成本结构、是否需要预留替换空间、哪些核心能力必须自己掌控。把这几个问题想清楚,方案才能真正落地。
我们在做项目时通常会和客户拉一份"能力分层表":
适合直接用第三方的能力
- 支付(微信、支付宝、Stripe)
- 短信、邮件(阿里云、腾讯云、AWS SES)
- 地图(高德、百度、Google)
- OCR、语音识别、翻译(云厂商或专业服务商)
- 推送、IM SDK、视频会议
- 大模型推理(OpenAI、Claude、文心、通义)
- CDN、对象存储、视频转码
这些能力的特点是:成熟、计费模式清晰、有 SLA、做不出来差异化。自己重造没意义。
适合自研或深度二开的能力
- 业务流程引擎和核心数据模型
- 自有用户画像、风控规则、推荐算法
- 行业特有的业务模块(订单计算、分润、调度)
- 决定产品差异化的部分(独有的算法、独特的体验)
这些是产品的"内核",外包了竞争力就外包了。
介于两者之间需要权衡的
- 客服系统:可以接环信、网易云信,也可以自研。看你客服量级和定制需求
- 数据看板:可以用 Metabase、Superset 套,也可以自己开发
- 内容管理后台:通用部分可以用 Strapi 这类 Headless CMS
- 富文本编辑器、文件预览:开源方案够用就别自己写
关于"只做 UI"的实际风险
如果一个项目真的把所有业务能力都丢给第三方,那它在用户体验上很可能跑不通——因为各家第三方接口风格、错误处理、响应速度都不一样,UI 层要花大量代码兜底,反而不省事。更稳妥的做法是:UI + 业务流程层自己做,纯能力(识别、翻译、支付等)才接第三方。
滚水科技在做项目时会先把这张能力表和客户对齐,避免后期出现"以为接个 API 就行、结果工作量翻倍"的尴尬。