详解从NodeJS搭建中间层再谈前后端分离(2)

我们不用类库或框架就可以实现这种MVC架构模式。关键是要将MVC的每部分按照职责进行划分,将代码清晰地分割为若干部分,并保持良好的解耦。这样可以对每个部分进行独立开发、测试和维护。

如:Backbone, EmberJS, KnockoutJS, AngularJS等框架。

但这样的方式仍旧存在问题:

各层职责重叠

Client-side Model 是 Server-side Model 的加工

Client-side View 跟 Server-side是 不同层次的东西

Client-side的Controller 跟 Sever-side的Controller 各搞各的

Client-side的Route 但是 Server-side 可能没有

性能问题

渲染,取值都在客户端进行,有性能的问题

需要等待资源到齐才能进行,会有短暂白屏与闪动

在移动设备低速网路的体验奇差无比

重用问题

模版无法重用,造成维护上的麻烦与不一致

逻辑无法重用,前端的校验后端仍须在做一次

路由无法重用,前端的路由在后端未必存在

跨终端问题

业务太靠前,导致不同端重复实现

逻辑太靠前,造成维护上的不易

渲染都在客户端,模版无法重用,SEO实现 麻烦

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

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

我们使用Node层:

转发数据,串接服务

路由设计,控制逻辑

渲染页面,体验优化

中间层带来的性能问题,在异步ajax转成同步渲染过程中得到平衡

更多的可能

其实更为重要的是,对于前端来说,NodeJS的学习成本是相当低的:我们无需学习一门新的语言,就能做到以前开发帮我们做的事情,一切都显得那么自然。

技术在不断变化中,唯有跟上技术革新的浪潮,才能不被时代所淘汰,不管是人还是企业。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/b4c54bcf4bf6290242043a64164241de.html