美文网首页node.js程序员
Node.js作为中间层的前后端分离

Node.js作为中间层的前后端分离

作者: 程序员七哥 | 来源:发表于2017-06-17 16:17 被阅读349次

    Node.js作为中间层的前后端分离

    现今,许多公司的老项目都存在这样一些问题:

    * 前端代码越来越复杂
    * 前后端依旧高度耦合
    * 无法良好的支持跨终端
    

    解决方案:

    * 前端代码越来越复杂,我们希望尽可能地减少工作量,开始使用类似MV*的分层结构,使前端后分离成为必要。
    * 前端需要处理更多的工作,希望有权操控View,Router(如:SPA的尝试)
    * 各种终端设备的兴起,需要我们把页面适配到更多的地方。
    

    关于MVC的定义:

    MVC是一种设计模式,它将应用划分为3个部分:数据(模型)、展现层(视图)和用户交互(控制器)。换句话说,一个事件的发生是这样的过程:

    1. 用户和应用产生交互。
    2. 控制器的事件处理器被触发。
    3. 控制器从模型中请求数据,并将其交给视图。
    4. 视图将数据呈现给用户。

    传统弊端:

    性能问题

    • 渲染,取值都在客户端进行,有性能的问题
    • 需要等待资源到齐才能进行,会有短暂白屏与闪动
    • 在移动设备低速网路的体验奇差无比

    重用问题

    • 模版无法重用,造成维护上的麻烦与不一致
    • 逻辑无法重用,前端的校验后端仍须在做一次
    • 路由无法重用,前端的路由在后端未必存在

    跨终端问题

    • 业务太靠前,导致不同端重复实现
    • 逻辑太靠前,造成维护上的不易

    NodeJS作为中间层的全栈开发方案

    有了NodeJS之后,前端可以更加专注于视图层,而让更多的数据逻辑放在Node层处理。

    我们使用Node层:

    * 转发数据,串接服务
    * 路由设计,控制逻辑
    * 渲染页面,体验优化
    * 中间层带来的性能问题,在异步ajax转成同步渲染过程中得到平衡
    * 更多的可能

    相关文章

      网友评论

      本文标题:Node.js作为中间层的前后端分离

      本文链接:https://www.haomeiwen.com/subject/tiqbqxtx.html