乐趣区

编程–前后端分离

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

退出移动版