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).可能会出现大规模应用程序开发方面的问题