@
meetocean 这是架构方式与分工的问题:
1. 非前后端分离, 这时候前端的工作重点就是要提供良好的结构, 提供良好的交互, 视觉还原,ajax, 性能优化等工作。 这样的前端就比较传统。 专注 UI、性能; 这时候渲染工作不应该让前端去做, 而是后端分配人手去做, 后端人手不需要前端技能多牛 X, 因为对前端 UI 要求有良好的结构了, 特异性结构,易奔性结构不行的。前后配合;
2. 前后端分离,这种形式如果是移动端或者后台类就不会很复杂, 如果是 PC 端,用户中心类就会比较复杂, 首先前端渲染页面技术选型的问题, 在兼容性上要考虑很多, 站点类型, 面向的人群,年龄跨度等等都需要考虑到。 渲染技术可以是 ajax 也可以是 mvc, 这都需要架构去调研权衡。 这时候前端工作就比较中, 视觉,性能,渲染等等, 但是也可以把这些再分成不同工种。
同时后端架构要合理, 有合理的单点登陆, 合理的验证, 合理的替代 session 技术, 合理的接口形式,合理的跨域方案,才能实现真正的前后分离, 让前端只专注前端工作。 此外,SEO 方案也需要考虑, 前后分离下, 强求前端来 SEO,就以国内现在的搜索引擎的尿性, 如果不做特殊 SEO 方案, 就可能要前端做牺牲, 会崩坏前后端分离的架构。一般来说,后来还需要再做一版后端渲染的页面, 然后在某一层负载或者 nginx 之类的 http 服务上引导分离普通用户和蜘蛛。这样才是一种完善的前后分离。
3. 两者混合, 那么架构手段也是上 1 2 的混合,也不需要前端通吃后端。