BigCommerce 如今提供两条一流的店面路径。Stencil 是历史悠久的托管主题平台,将 Handlebars 模板、jQuery、Bootstrap 以及 BigCommerce Storefront Cart UI 全部串联起来,让一支能干的团队在数天之内就能上线一个可用的 B2C 或 B2B 站点。Catalyst 是 BigCommerce 官方基于 Next.js 的无头参考架构,采用 TypeScript、React Server Components 与 BigCommerce GraphQL Storefront API,部署在 Vercel 或你选择的任意边缘节点上。
两者都很好,也都对某些项目并不合适。选错往往是你在这个平台上会犯的代价更高的错误之一,因为两者之间的迁移路径就是一次重建。
Stencil 真正擅长什么
Stencil 的口碑被它自带 jQuery 和 Bootstrap 这一点不公平地拖累了。人们一看到“jQuery”就认定是“老旧技术”,这是误读。Stencil 之所以自带这些,是因为对于一个可用店面所需的几十个组件而言,它们是阻力最小的路径,而且 BigCommerce 维护着围绕它们的整个框架。这不是老旧,而是通用件,这是一项优势。
以下情况 Stencil 更胜一筹:
- 上线速度比独特的用户体验更重要。 一支真正懂行的团队可以在 4 到 8 周内交付一个干净、性能良好的 Stencil 站点。Catalyst 站点耗时更长,因为你是在搭建界面基础组件,而不是组装现成的组件。
- 商品运营团队需要每天在 BigCommerce 里工作。 Stencil 站点能获得完整的后台编辑体验:Page Builder、Script Manager、原生搜索商品运营,以及应用生态(A/B 测试通过应用或 Script Manager 接入,而非原生功能)。在 Catalyst 上,上述每一项都需要明确决定它落在何处。
- 你没有前端平台团队。 Catalyst 是一个真正的 Next.js 项目。必须有人负责构建流水线、部署目标、图片优化预算以及依赖升级。Stencil 则由 BigCommerce 运营。
- 商品目录是首要的差异化要素。 Stencil 让你聚焦于产品与商品运营,Catalyst 让你聚焦于界面与架构。对许多 B2B 商品目录而言,前一种聚焦才是正确的。
Catalyst 真正擅长什么
Catalyst 的存在,正是为了应对 Stencil 的预设会成为阻碍的那些场景。最明显的信号是:
- 你需要一种不契合 BigCommerce 主题模型的、以品牌为主导的购物体验。 动效、自定义导航模式、内容与商务融合的混合页面、复杂的配置器,当你掌控整棵 React 组件树时,这一切都更容易实现。
- 你的店面只是共享同一套设计系统的众多触点之一。 一个网站、一个 iOS 应用、一个店内自助终端、一个销售代表工具,Catalyst 让你拥有一个能够与其余触点共用同一组件库的前端。Stencil 做不到这一点。
- 你已经拥有或正在组建平台团队。 Catalyst 会回报良好的前端工程实践,也会惩罚不具备这种实践的团队。
- 反正你早晚都会撞到 Stencil 的边界。 如果你的设计稿里已经包含了你明知需要脱离 Stencil 才能实现的东西,那就干脆直接从 Catalyst 起步。
B2B Edition 的微妙之处
BigCommerce B2B Edition(含买家角色的公司账户、报价、价格表、Shopping Lists)对两者都支持。但 Stencil 对 B2B Edition 的开箱即用集成更为完善。Catalyst 可以运行同一套 B2B Buyer Portal,所以报价管理和代客操作都随之而来,但 BigCommerce 仍把 Catalyst 集成标为实验性,其 B2B 入门模板也标为 alpha。你的团队需要在 Catalyst 代码库中接好登录交接、门户启动,以及“Add to quote”(加入报价)这类商品页按钮。如果 B2B Edition 是你上线的核心而团队规模又小,那就偏向 Stencil。
“无头一定更好”的惯性思维
你会听到一种说法,往往出自两者都没真正交付过的人之口:无头才是现代之道,托管主题已是老旧技术。这是一种范畴错误。无头是一种架构,现代性则是一种结果。一个人手不足、耗时 9 个月才上线的 Catalyst 项目,远不如一个运营得当、8 周就上线并持续迭代至今的 Stencil 站点来得现代。
选择 Catalyst 的诚实理由是:你需要 Stencil 给不了的渲染控制权,或者你需要与其他界面共享同一套前端代码库,又或者你拥有一支真正能从掌控技术栈中获益的团队。选择 Stencil 的诚实理由是:速度、由厂商托管的默认能力,以及一套免费附带的商品运营体验。两者都是不错的答案,只是别凭惯性去选。
我们在真实项目中如何决策
我们对一位潜在 BigCommerce 客户提出的第一个问题是:“你是否拥有、或是否已下定决心招聘一名前端平台工程师?”如果诚实的答案是没有,我们就会引导他们走向 Stencil。第二个问题是:“设计中是否有你已经见过 Stencil 站点难以应对的购物体验?”如果有,那就是一个偏向 Catalyst 的信号。第三个问题是:“B2B Edition 有多核心?”越核心,偏向 Stencil 的倾向就越大。
如果经过这一番询问后,答案确实是“我们既要速度又要自由”,那其实有一条合理的中间路径:先上线 Stencil,在它上面打造品牌与商品运营的能力,等你有了真正的理由和足以支撑的团队,再迁移到 Catalyst。我们这样做过两次。顺便说一句,两家客户至今都还在 Stencil 上,因为那个理由始终没有出现。
正在某个真实项目上权衡这个抉择吗?告诉我们你面对的情况,我们会告诉你账面上究竟该往哪边算,哪怕答案是“两个都别选,你大概应该留在原地”。