关键认知 :前端不是"美化页面"那么简单,PM不懂前端,就不知道哪些需求"简单",哪些需求"要命"。
一、前端开发的血泪教训
1.1 一个"简单需求"让前端加班3天
2023年,我在做一个电商项目,上线前一天,运营提了个需求:
"首页商品卡片加个'限时抢购'的动态倒计时标签,很简单吧?"
我当时觉得确实简单,就写进需求:
然后前端告诉我一个晴天霹雳 :
"首页有100个商品,每个都要独立倒计时,会导致页面卡顿。需要重新设计渲染逻辑,至少3天。"
为什么会卡顿 ?
我后来才明白,100个倒计时意味着:
如果一开始我懂前端 :
我会这样设计:
代价 :
教训 :看似简单的需求,可能涉及复杂的前端性能问题。PM必须懂基础的前端知识。
1.2 PM眼中的前端 vs 真实的前端
PM眼中的前端(误解) :
真实的前端工作 :
PM常见的误解 :
1.3 不懂前端的PM vs 懂前端的PM
需求评审时 :
产品设计时 :
二、HTML/CSS/JavaScript是什么关系
2.1 HTML:网页的骨架
用盖房子来类比 :
HTML就是定义网页的结构 :
举个真实例子 :
一个商品卡片的HTML结构:
商品卡片├── 商品图片├── 商品名称├── 价格│ ├── 原价│ └── 现价└── 购买按钮
PM为什么要懂HTML ?
在评审设计稿时,你能判断:
2.2 CSS:网页的外观
CSS负责"好看" :
CSS的难点在哪 ?
真实案例 :
设计师给的设计稿:
前端要做的:
❌ "设计稿上是这样的,为什么网页不一样?"
✅ 网页是动态的,不同屏幕大小显示效果不同
❌ "这个效果抄XX网站的CSS不就行了?"
✅ 每个网站结构不同,不能直接复制CSS
2.3 JavaScript:网页的行为
JavaScript负责"交互" :
想象一下没有JavaScript的网页:
有了JavaScript:
JavaScript能做什么 ?
需求:用户点击"收藏"按钮
JavaScript要做的事:
看似简单的点击,背后有6步逻辑。
2.4 三者如何协同工作
用做菜来类比 :
一个完整的页面加载过程 :
PM需要知道的关键点 :
三、前端三大框架:React/Vue/Angular
3.1 为什么需要前端框架
没有框架时的痛点 :
想象你要做一个电商网站,有100个商品卡片。当用户点击"收藏":
传统方式的问题 :
一个商品还好,100个商品呢 ?
有了前端框架 :
框架的核心优势:
3.2 React:组件化思想
React核心理念 :把页面拆成独立的组件
用搭积木来类比 :
传统开发 = 画一整幅画(改一个地方很麻烦)
React开发 = 用积木搭房子(可以随意组合和替换)
一个电商首页的组件拆分 :
首页 ├── 导航栏组件 ├── 轮播图组件 ├── 商品列表组件 │ ├── 商品卡片组件(复用100次) │ │ ├── 图片组件 │ │ ├── 价格组件 │ │ └── 按钮组件 └── 底部导航组件
React的优势 :
适用场景 :
3.3 Vue:渐进式框架
Vue核心理念 :简单易学,渐进式使用
什么是"渐进式" ?
你可以:
Vue的优势 :
我做过一个项目,技术选型Vue:
3.4 Angular:企业级方案
Angular核心理念 :大而全的企业级框架
Angular vs React/Vue :
为什么企业喜欢Angular ?
但Angular的问题 :
3.5 如何选择框架
PM需要考虑的因素 :
选择建议 :
PM常见误区 :
❌ "用最新的框架"
✅ 用最适合团队和项目的框架
❌ "XX大厂用的框架就是好"
✅ 大厂的场景和你的可能完全不同
四、前端性能优化的8个技巧
4.1 技巧1:减少HTTP请求
问题场景 :
一个商品详情页需要加载:
总计:23次HTTP请求
每次请求都需要时间 :
23次请求 = 至少8秒!
优化方案 :
PM需要知道 :
50次:需要优化
4.2 技巧2:资源压缩与合并
我做过一个项目,首页加载慢,用户投诉多。
分析发现 :
优化后 :
压缩方式 :
PM的关注点 :
4.3 技巧3:图片优化
图片是性能杀手 :
一个电商首页,100个商品卡片,每个有1张图:
PM需要注意 :
4.4 技巧4:懒加载
什么是懒加载 ?
用户打开首页,屏幕只能看到前5个商品。
懒加载的场景 :
PM的误区 :
❌ "一次加载所有数据,用户体验好"
✅ 首屏快才是好体验,其他按需加载
4.5 技巧5:CDN加速
CDN是什么 ?
内容分发网络 (Content Delivery Network)
不用CDN :
用户(深圳) → 服务器(北京)
距离:2000公里
延迟:200ms
使用CDN :
用户(深圳) → CDN节点(深圳)
距离:10公里
延迟:20ms
CDN的优势 :
PM需要考虑的成本 :
4.6 技巧6:浏览器缓存
缓存的作用 :
用户第一次访问网站:
用户第二次访问(有缓存):
缓存策略 :
PM关注点 :
4.7 技巧7:代码分割
什么是代码分割 ?
传统方式:
代码分割:
效果对比 :
4.8 技巧8:首屏优化
首屏是用户第一印象 :
首屏优化技巧 :
某电商首页优化前后对比:
PM需要关注的指标 :
五、前端常见技术问题
5.1 跨域问题
什么是跨域 ?
真实场景:
浏览器会报错:"跨域请求被阻止"
为什么会有跨域限制 ?
安全原因。想象这个场景:
跨域的常见场景 :
PM需要知道的 :
5.2 兼容性问题
2023年某项目上线后,收到用户投诉:
兼容性问题的3个层面 :
1. 浏览器兼容
PM的决策 :
场景1:To C电商网站
场景2:政府项目
2. 屏幕尺寸兼容
常见设备屏幕宽度:
PM需要明确 :
3. 操作系统兼容
PM的实践建议 :
5.3 SEO优化
什么是SEO ?
Search Engine Optimization(搜索引擎优化)
为什么前端要关注SEO ?
真实案例:
前端影响SEO的3个方面 :
1. 页面渲染方式
PM需要决策 :
场景1:企业官网
场景2:后台管理系统
2. 页面结构
搜索引擎喜欢的页面:
3. 页面速度
谷歌的研究:
PM的SEO checklist :
六、前端开发流程
6.1 设计稿到代码
完整流程 :
各环节PM需要关注的 :
1. 设计稿review(PM参与)
检查点:
常见问题:
2. 技术可行性确认
PM要问前端:
设计师做了一个3D旋转的商品展示
3. 前端开发
PM关注的时间节点:
4. 设计还原度检查
常见的还原度问题:
PM的角色 :
6.2 前后端联调
什么是联调 ?
前端和后端对接接口的过程。
联调的常见问题 :
PM如何减少联调问题 ?
1. 需求阶段明确接口设计
PRD里写清楚接口格式和字段说明。
2. 联调前的准备
3. 联调时的沟通
❌ 不好的沟通:
"这个接口不行,你改改"
✅ 好的沟通:
"商品列表接口,返回的price字段是字符串,应该是数字,麻烦改一下"
6.3 测试与发布
前端测试的3个层面 :
1. 功能测试
测试点:
2. 兼容性测试
测试设备:
3. 性能测试
测试指标:
发布流程 :
PM关注的发布节点 :
七、小结:PM必备的前端知识
7.1 PM要懂的前端核心概念
7.2 前端需求评审checklist
需求评审前(PM准备) :
需求评审中(PM要问的问题) :
技术可行性:
性能考虑:
兼容性:
开发工期:
需求评审后(跟进事项) :
7.3 血泪教训总结
教训1:没考虑前端性能,导致页面卡顿
教训2:设计稿过度复杂,开发成本暴增
教训3:没有明确兼容性要求,上线后用户投诉
教训4:接口设计不合理,联调时频繁返工
给PM的建议 :