1.前端后端关注点1).前端: 高并发/高可用/高性能,安全,存储,业务 2).后端: 页面表现,速度流畅,兼容性,用户体验2.WEB前后端分离(前端静态化、后端数据化、平台无关化,架构分离化)1).未分离时期 A).存在问题 a).前端无法单独调试 b).前端不可避免会遇到后台代码2).半分离时期(Ajax 与 SPA(Single-page application)应用结合方式)(浏览请求—RESTFUL接口—返回JSON数据,解析,渲染) A).存在问题 a).JS存在大量冗余,在业务复杂的情况下,页面的渲染部分的代码,非常复杂 b).返回JSON数据比较大的情况下,渲染的十分缓慢,会出现页面卡顿的情况 c).SEO非常不方便,由于搜索引擎的爬虫无法爬下JS异步渲染的数据,导致这样的页面,SEO会存在一定的问题 d).资源消耗严重,在业务复杂的情况下,一个页面可能要发起多次HTTP请求才能将页面渲染完毕(移动端影响大) 3).分离时期(前端View/Controller | 后端Model,业务处理/数据) A).存在问题 a).人员问题(后端学习成本–VUE.JS/NODE.JS) b).产品迭代周期问题(新增了接口制定流程/前后端联调流程) c).前端需要学习业务(视觉交互+业务) B).存在优势 a).前端JS可以做很大部分的数据处理工作,对服务器的压力减小到最小 b).后端错误不会直接反映到前台,错误界面较为友好 c).后端很难去探知前台页面的分布情况,而这又是JS的强项;JS又是无法独立和服务器进行通讯。前后端各尽其职可以最大程度的减少开发难度3.NODE.JS(Ryan Dahl、2009.5)1).特点(独特异步、非阻塞I/O) 适合运用在高并发、I/O密集、少量业务逻辑的场景2).NODE作为中间件优势 A).适配性提升(后端专注自己的业务逻辑开发,前端专注产品效果开发) B).响应速度提升(分担简单逻辑运算,灵活) C).性能得到提升(内网阶段拼接多个后台API数据)4.VUE.JS(尤雨溪、2014.2) | REACT.JS(FACEBOOK、2013.3)1).共同点 A).基于Virtual DOM模型 B).提供了响应式 (Reactive) 和组件化 (Composable) 的视图组件 C).将注意力集中保持在核心库,而将其他功能如路由和全局状态管理交给相关的库2).REACT优点与缺点 A).优点 a).灵活性和响应性 b).虚拟DOM c).丰富的JavaScript库 d).可扩展性 e).不断发展 f).WEB或移动平台 B).缺点 a).陡峭的学习曲线3).VUE优点与缺点 A).优点 a).易于使用(基于HTML的标准模板) b).更顺畅的集成 c).更好的性能,更小的尺寸 d).简单的学习曲线(HTML、JavaScript) e).适应性(提供无障碍的迁移,简单有效的结构和可重用的模板) B).缺点 a).可能会出现大规模应用程序开发方面的问题