想用Node.js,老板不同意?

开发 前端
经过这几年的发展,前端普遍进入了技术深水区,只会Web页面开发已经难以满足企业需求,Node逐渐成为了刚性技能。但是很多同学还没有在业务上使用过Node,也不知道使用Node会带来哪些好处,更加没有办法说服老板。

经过这几年的发展,前端普遍进入了技术深水区,只会Web页面开发已经难以满足企业需求,Node逐渐成为了刚性技能。但是很多同学还没有在业务上使用过Node,也不知道使用Node会带来哪些好处,更加没有办法说服老板。

在翻看很多技术文章时,大家都提到“中间层”,在很多大型企业中,Node确实承担了“中间层”的角色,那么,Node为什么被广泛的应用在“中间层”呢?

要回答这个问题,先来陈述下什么是中间层。

通常我们把Web领域分为客户端和服务端,也就是前端和后端,这里的后端就包含了网关,静态资源,接口,缓存,数据库等。而中间层呢,就是在后端这里再抽离一层出来,在业务上处理和客户端衔接更紧密的部分,比如页面渲染(SSR),数据聚合,接口转发等等。

以SSR来说,在服务端将页面渲染好,可以加快用户的首屏加载速度,避免请求时白屏,还有利于网站做SEO,他的好处是比较好理解的。那么对于数据的聚合,接口转发来说,这样做有什么意义呢?

这里从以下几个角度分析

01、业务驱动

Node有个突出的优势,他的开发者可以是前端。前端直接和产品交互对接,对于页面所需要的数据有更好的理解。

每个页面要用到哪些接口,每个接口要用到哪些字段前端是最清楚的,再加上实际业务开发中,前端页面需求经常会发生变化,需要修改字段或者数据结构,所以对接页面的这部分接口由前端直接开发非常合适,可以显著的减少沟通成本。

02、架构需要

面向用户的接口由Node中间层负责以后,真正的服务端可以专注于提供基于领域模型的对内接口,做微服务。

比如可以基于Goods模型,提供所有商品相关的接口,基于Users模型,提供所有用户相关,当一个接口需要商品+用户信息时,由Node分别查询组装。从整体业务代码维护角度来说,变得更容易,不会因为业务发展使得每个接口都异常繁杂。

03、性能满足

如果仅仅是架构层面的需求,需要有一个中间层来沉淀业务,那用Java,PHP也可以做到,为什么说Node更适合做呢?

因为Node天生异步!

众所周知,js是一门单线程语言,所以Node在实现的时候,需要借助libuv来实现异步。

 


 

如图所示,libuv为Node提供了线程池,事件池,异步I/O等能力。

正是因为其中网络I/O的异步能力,可以让Node做接口聚合时,能够更高效的异步并发处理。

04、成本较低

Node使用js开发,只需要学习简单的api,前端开发者就可以无障碍使用,学习成本很低。

而且,Node具有活跃的社区和丰富的模块池,拥有很多现成的功能实现,框架方面,也有成熟的koa,express等基本框架和egg等二次封装框架,可根据需求选择上手也比较方便。

有了以上几点原因,实实在在的好处,相信各位同学已经有充足理由可以说服老板让你使用Node啦。

责任编辑:庞桂玉 来源: 前端大全
相关推荐

2022-05-19 10:45:36

软件开发技术

2009-11-25 11:30:09

网吧路由器选择

2013-11-01 09:34:56

Node.js技术

2015-03-10 10:59:18

Node.js开发指南基础介绍

2011-11-01 10:30:36

Node.js

2011-09-02 14:47:48

Node

2011-09-08 13:46:14

node.js

2011-09-09 14:23:13

Node.js

2012-10-24 14:56:30

IBMdw

2011-11-10 08:55:00

Node.js

2021-12-25 22:29:57

Node.js 微任务处理事件循环

2022-06-08 19:10:27

MarcusLeCun算法

2020-05-29 15:33:28

Node.js框架JavaScript

2015-06-23 15:27:53

HproseNode.js

2012-02-03 09:25:39

Node.js

2021-07-09 00:24:10

No.jsNode.js原理

2020-10-26 08:34:13

Node.jsCORS前端

2024-07-08 08:53:52

2021-04-06 10:15:29

Node.jsHooks前端

2021-02-01 15:42:45

Node.jsSQL应用程序
点赞
收藏

51CTO技术栈公众号