编程--前后端分离

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

相关推荐