Node中间层实践(一)——基于NodeJS的全栈式开发

为什么选择node中间层

文章节选自【探索】NodeJS中间层搭建

现用的开发模式适用场景

  • 以后端的为主的MVC模式 在实现一些同步展现的业务效率很高 但是遇到异步同步结合的页面 在与后端沟通就会显得相对麻烦一些
  • ajax为主的spa型开发模式 比较适合开发app类型的场景 但是只是适合做app 因为seo问题不好解决 对于很多类型的系统 这种开发方式也过重

前后端分离

从职责上划分 node实现了前后端分离的中间层
在这里插入图片描述

  • 前端负责 view 和 controller 层

  • 后端负责 model 业务处理/数据等
    在这里插入图片描述

前端掌握了Controller,就可以做路由设计、网站目录结构、网站前端架构。
掌握了View,就可以通过后端模板引擎(jade/pug,Ejs,swig等),边写边绑数据。更别提,pug之流 还有mixin,让我们对 html进行函数化,大大提高效率。

NodeJS让前端无需学习一门新的语言,就能做到这些事情。

基于NodeJS“全栈”式开发

下面的这张图很简单形象的说明了Node中间层
在这里插入图片描述

中间层的性能问题

多加了一层通讯,肯定会有一定的性能损耗。但分层带来的损失,一定能在其他方面的收益弥补回来,而且合理的分层能让职责清晰、方便协作,大大提升开发效率。也可以通过优化通讯方式和协议,尽可能把损耗降到最低。

Node什么都能做,为什么还要JAVA/PHP?

我们的初衷是做前后端分离,如果考虑这个问题就有点违背我们的初衷了。即使用Node替代Java/PHP,我们也没办法保证不出现今天遇到的种种问题,比如职责不清。我们的目的是分层开发,专业的人,专注做专业的事。基于JAVA/PHP的基础架构已经非常强大而且稳定,而且更适合做现在架构的事情。

前端的任务更重要了

常见的前后端分离的开发模式中,后端为前端提供了路由结构和页面的数据绑定,前端只需要切页面和少量的逻辑。

在node中间层中,前端不仅仅要切页面和做页面逻辑,还要做url design、页面数据绑定、联调与沟通,还要考虑SEO的问题,伪静态页面、title/keyword设置、网站地图,甚至包括错误日志等等。

虽然前端的工作量增加了不少,但是基于模块化的开发,让总体的效率提升了。
对于后端程序员,接口整合的工作交给了前端服务器进行处理,同时和前端耦合度大大降低,工作量和工作效率都减少了。

另外,由于前后端分离,测试都可以分开来了,专门测试接口的和专门测试ui层。

总结


我觉得,以后基于NodeJs的全栈式开发的模式将会越来越流行,这也会引领前端步入工程化时代。但是要把Node全栈开发变成一个稳定的、方便的开发工具,还有很多路要走。这次公司的交易平台项目就是一个很好的实践,接下来,请继续关注我对这个项目的总结,希望能给各位带来灵感。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值