第 9 课:理解技术基础
你不需要会写代码,但需要理解技术的基本概念。不然你跟开发沟通就像两个说不同语言的人在比划——能凑合,但效率低,还容易误解。这堂课讲产品经理必须懂的技术常识。
一、前后端分离
大部分现代 Web 应用都是前后端分离的架构。理解这个概念,你就理解了产品是怎么运作的。
什么是前端?什么是后端?
- 前端:用户看到的部分。页面布局、按钮、动画、交互。运行在用户的浏览器或 App 里
- 后端:用户看不到的部分。数据处理、业务逻辑、存储。运行在服务器上
打个比方:前端是餐厅的大堂,用户直接看到和接触;后端是厨房,用户看不到,但食物在那里制作。
为什么要分离?
分离前:大堂和厨房是一体的,改菜单要同时改大堂和厨房。
分离后:大堂可以独立装修(改界面不影响后端逻辑),厨房可以独立换设备(改后端不影响前端展示)。只要上菜的方式不变(API 接口不变),两边各自迭代。
对产品经理的意义:
- 改界面通常比改逻辑快——前端改动一般不影响后端
- 改数据结构通常比改界面慢——后端改动可能影响多个前端页面
- 有些需求看起来是前端改动,实际需要后端支持——"显示用户头像"需要后端提供头像存储和 API
二、API 接口
API(Application Programming Interface)是前后端之间的约定。
用餐厅类比
API 就像菜单:
- 菜单告诉客人(前端)可以点什么菜(获取什么数据)
- 菜单告诉厨房(后端)需要准备什么食材和做法(处理什么逻辑)
- 菜单不关心厨房怎么做(前端不关心后端实现)
API 对产品经理意味着什么
每次你需要前端展示新数据,就需要后端提供新的 API。常见场景:
| 你说的需求 | 实际涉及的工作 |
|---|---|
| "加一个搜索功能" | 后端:搜索 API + 索引;前端:搜索框 + 结果页 |
| "显示用户最近的活动" | 后端:活动记录 API;前端:时间线组件 |
| "导出数据为 Excel" | 后端:导出 API + 文件生成;前端:下载按钮 |
所以当你提需求时,开发会说"这个需要后端加接口"——这就是在说需要新增或修改 API。
数据流
用户操作 → 前端发送请求 → 后端处理 → 返回数据 → 前端展示结果
理解数据流帮你判断:
- 某个功能需要哪些 API 支持
- 哪些步骤可能成为性能瓶颈(比如后端处理慢、数据量大)
- 离线时哪些功能还能用(本地缓存的数据 vs 需要实时请求的数据)
三、技术栈选择
技术栈是开发团队选用的技术组合。常见技术栈:
| 层级 | 常见选择 |
|---|---|
| 前端框架 | React, Vue, Next.js |
| 后端语言 | Node.js, Python, Go, Java |
| 数据库 | PostgreSQL, MySQL, MongoDB |
| 部署 | AWS, Vercel, 阿里云 |
技术栈选择对产品经理的影响
- 开发速度:团队熟悉的技术栈开发快,新技术栈有学习成本
- 人才招聘:用主流技术栈容易招人,冷门技术栈招人难
- 生态支持:主流技术栈有更多现成的库和工具,冷门的需要自己造轮子
- 维护成本:越复杂的技术栈,长期维护成本越高
你不需要决定技术栈,但需要理解技术栈选择会影响开发效率和产品迭代速度。
四、理解开发的工作方式
版本控制
开发用 Git 管理代码。每次修改都是一次"提交",可以回退。这意味着:
- 需求变更有迹可循(谁改了什么、为什么改)
- 出了问题可以快速回退到上一个稳定版本
- 多人可以同时开发不同功能,最后合并
分支策略
开发通常在不同"分支"上工作:
- 主分支:稳定版本,对应线上产品
- 开发分支:正在开发的功能
- 特性分支:某个具体功能的开发
对产品经理的启示:
- 一个功能从"开发完成"到"上线"有距离——需要合并到主分支、测试、部署
- 多个功能可以并行开发,但上线节奏需要协调
- 紧急修复(hotfix)可以跳过正常流程直接上线
部署流程
代码从开发完成到用户可用的过程:
- 开发完成 → 提交代码
- 代码审查 → 同事检查代码质量
- 测试环境部署 → 测试验证
- 预发布环境部署 → 最终确认
- 生产环境部署 → 用户可用
理解这个过程,你就知道为什么"代码写完了但还不能上线"——中间还有审查、测试、部署多个环节。
关键概念
- 前后端分离:前端是用户看到的部分,后端是逻辑和数据,通过 API 通信
- API:前后端之间的约定,类似餐厅的菜单
- 数据流:用户操作 → 前端请求 → 后端处理 → 返回数据 → 前端展示
- 技术栈:开发团队选用的技术组合,影响开发速度和维护成本
- 版本控制:Git 管理代码变更,支持回退和并行开发
- 部署流程:开发 → 审查 → 测试 → 预发布 → 生产
课后练习
练习一:画出数据流
为你产品画一个数据流图:用户做了什么操作 → 前端发了什么请求 → 后端做了什么处理 → 返回了什么数据 → 前端怎么展示。
练习二:需求拆解
选一个你想做的功能,拆解它涉及的前端工作和后端工作。列出需要的 API。
练习三:用大白话解释
把"前后端分离""API""数据流"这三个概念解释给一个完全不懂技术的人听。如果解释不清楚,说明你自己也没真正理解。