一句话回答
技术栈(Tech Stack)是团队用来构建、运行和衡量一个软件产品的编程语言、框架、数据库、基础设施和第三方工具的组合。
什么是技术栈?
技术栈(Tech Stack)是团队用来构建、运行和衡量一个软件产品的技术组合:编程语言、框架、数据库、服务器和基础设施,再加上统计、客服、支付、营销等第三方工具。之所以叫「栈」,是因为每一层都建在下一层之上,从操作系统一直到用户看到的界面。
工程师说技术栈,通常指应用的各层;产品和市场团队还会把业务工具算进来,也就是常说的营销技术栈。两种视角都有用,问题往往出在两者交接的地方。
技术栈的分层
| 层 | 作用 | 例子 |
|---|---|---|
| 前端(客户端) | 在浏览器或 App 里运行的部分 | HTML、CSS、JavaScript;React、Vue、Svelte;Swift、Kotlin、Flutter |
| 后端(服务端) | 业务逻辑和接口 | Node.js、Python、Go、Java、PHP、Ruby |
| 数据库和存储 | 保存应用数据 | PostgreSQL、MySQL、MongoDB、Redis、对象存储 |
| 基础设施和运维 | 在哪里、怎么运行 | 阿里云、腾讯云、AWS;Docker、Kubernetes;持续集成与部署 |
| 数据与分析 | 收集和分析行为与业务数据 | 埋点 SDK、数据仓库、BI、产品与网站统计 |
| 业务工具 | 支撑面向客户的运营 | 在线客服和工单、CRM、邮件、计费、功能开关 |
经典的技术栈组合
- LAMP:Linux、Apache、MySQL、PHP。互联网上很大一部分网站(包括 WordPress)都跑在它上面。
- MEAN / MERN:MongoDB、Express、Angular 或 React、Node.js,前后端都用 JavaScript。
- Jamstack:预先生成的静态页面通过 CDN 分发,动态部分调用接口。
- 移动端:原生 Swift(iOS)和 Kotlin(Android),或者用 Flutter、React Native 写一套代码,后端放在云上。国内还要考虑鸿蒙和小程序。
一个 SaaS 的技术栈示例
一家早期 B2B SaaS 常见的配置:前端 React 和 TypeScript,后端 Node.js 或 Go 的接口,PostgreSQL 加 Redis,部署在一家云厂商上并用容器发布。周边还有:支付、事务邮件、网站和产品统计、在线客服、错误监控、CRM。还没招市场人员,供应商就已经有十来家了。
怎样选型
- 产品需求:实时功能、大量数据处理、移动端离线使用,会指向不同的选择。
- 团队技能:团队熟悉的技术栈,胜过一个更好但没人真正交付过的。
- 上线速度:成熟、默认配置合理的框架能让你更快上线。
- 招聘难度:流行的技术更好招人,Stack Overflow 年度开发者调查是个参考。
- 成本:授权费、托管费,以及维护它需要的人力。
- 扩展性和安全:能不能扛住十倍于现在的负载?能不能满足合规要求?
- 集成:各工具之间能不能共用标识、互相传数据,还是要你自己写大量胶水代码?
工具堆叠:一次审查示例
业务工具是一个一个加进来的,每加一个就多一段网页脚本、一份月账单、一份客户数据副本。下面是某营销网站审查的示例数据:
| 审查前 | 审查后 | |
|---|---|---|
| 每个页面加载的统计和客服脚本 | 5 个(两套统计、热图、客服挂件、一段被遗忘的 A/B 测试代码) | 2 个(一个同时加载客服的统计脚本,加广告标签) |
| 下载的第三方 JavaScript | 410 KB | 140 KB |
| 这些工具的月费用 | $2,380 | $1,410 |
| 客户标识被复制到的地方 | 5 处 | 2 处 |
省下的钱来自去掉重复的工具,而不是换成更便宜的。性能上的收益和省钱一样重要:第三方脚本会和你自己的代码争抢主线程。HTTP Archive 的《Web Almanac》每年都统计第三方脚本在整个互联网上的使用情况。
TapCub 在技术栈中的位置
TapCub 位于数据与业务工具层:网站、App、小程序统计加在线客服,共用同一个访客 ID。
- 一个网站脚本负责统计,打开一个开关就能显示客服挂件,不用再加代码。
- SDK 覆盖 iOS、Android、Flutter、React Native、鸿蒙和微信小程序,还有用于服务端事件的 HTTP 接口。
- AI 助手可以通过 MCP 查询你的数据,参见用 MCP 连接 AI 助手。
如果你正在精简工具,上面的清单同样适用:每个工具是做什么的、谁在用、是不是有两个工具在回答同一个问题。
资料来源
- 维基百科,Solution stack。
- Stack Overflow,开发者调查。
- HTTP Archive,Web Almanac:第三方。
这个解释清楚吗?
我们会根据反馈修改和补充这篇内容。
提交没有成功,请稍后再试。
谢谢你的反馈,我们会据此改进这篇内容。你已经反馈过这篇了,谢谢。
