美文网首页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