自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

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

開(kāi)發(fā) 前端
經(jīng)過(guò)這幾年的發(fā)展,前端普遍進(jìn)入了技術(shù)深水區(qū),只會(huì)Web頁(yè)面開(kāi)發(fā)已經(jīng)難以滿足企業(yè)需求,Node逐漸成為了剛性技能。但是很多同學(xué)還沒(méi)有在業(yè)務(wù)上使用過(guò)Node,也不知道使用Node會(huì)帶來(lái)哪些好處,更加沒(méi)有辦法說(shuō)服老板。

經(jīng)過(guò)這幾年的發(fā)展,前端普遍進(jìn)入了技術(shù)深水區(qū),只會(huì)Web頁(yè)面開(kāi)發(fā)已經(jīng)難以滿足企業(yè)需求,Node逐漸成為了剛性技能。但是很多同學(xué)還沒(méi)有在業(yè)務(wù)上使用過(guò)Node,也不知道使用Node會(huì)帶來(lái)哪些好處,更加沒(méi)有辦法說(shuō)服老板。

在翻看很多技術(shù)文章時(shí),大家都提到“中間層”,在很多大型企業(yè)中,Node確實(shí)承擔(dān)了“中間層”的角色,那么,Node為什么被廣泛的應(yīng)用在“中間層”呢?

要回答這個(gè)問(wèn)題,先來(lái)陳述下什么是中間層。

通常我們把Web領(lǐng)域分為客戶端和服務(wù)端,也就是前端和后端,這里的后端就包含了網(wǎng)關(guān),靜態(tài)資源,接口,緩存,數(shù)據(jù)庫(kù)等。而中間層呢,就是在后端這里再抽離一層出來(lái),在業(yè)務(wù)上處理和客戶端銜接更緊密的部分,比如頁(yè)面渲染(SSR),數(shù)據(jù)聚合,接口轉(zhuǎn)發(fā)等等。

以SSR來(lái)說(shuō),在服務(wù)端將頁(yè)面渲染好,可以加快用戶的首屏加載速度,避免請(qǐng)求時(shí)白屏,還有利于網(wǎng)站做SEO,他的好處是比較好理解的。那么對(duì)于數(shù)據(jù)的聚合,接口轉(zhuǎn)發(fā)來(lái)說(shuō),這樣做有什么意義呢?

這里從以下幾個(gè)角度分析

01、業(yè)務(wù)驅(qū)動(dòng)

Node有個(gè)突出的優(yōu)勢(shì),他的開(kāi)發(fā)者可以是前端。前端直接和產(chǎn)品交互對(duì)接,對(duì)于頁(yè)面所需要的數(shù)據(jù)有更好的理解。

每個(gè)頁(yè)面要用到哪些接口,每個(gè)接口要用到哪些字段前端是最清楚的,再加上實(shí)際業(yè)務(wù)開(kāi)發(fā)中,前端頁(yè)面需求經(jīng)常會(huì)發(fā)生變化,需要修改字段或者數(shù)據(jù)結(jié)構(gòu),所以對(duì)接頁(yè)面的這部分接口由前端直接開(kāi)發(fā)非常合適,可以顯著的減少溝通成本。

02、架構(gòu)需要

面向用戶的接口由Node中間層負(fù)責(zé)以后,真正的服務(wù)端可以專注于提供基于領(lǐng)域模型的對(duì)內(nèi)接口,做微服務(wù)。

比如可以基于Goods模型,提供所有商品相關(guān)的接口,基于Users模型,提供所有用戶相關(guān),當(dāng)一個(gè)接口需要商品+用戶信息時(shí),由Node分別查詢組裝。從整體業(yè)務(wù)代碼維護(hù)角度來(lái)說(shuō),變得更容易,不會(huì)因?yàn)闃I(yè)務(wù)發(fā)展使得每個(gè)接口都異常繁雜。

03、性能滿足

如果僅僅是架構(gòu)層面的需求,需要有一個(gè)中間層來(lái)沉淀業(yè)務(wù),那用Java,PHP也可以做到,為什么說(shuō)Node更適合做呢?

因?yàn)镹ode天生異步!

眾所周知,js是一門單線程語(yǔ)言,所以Node在實(shí)現(xiàn)的時(shí)候,需要借助libuv來(lái)實(shí)現(xiàn)異步。

 


 

如圖所示,libuv為Node提供了線程池,事件池,異步I/O等能力。

正是因?yàn)槠渲芯W(wǎng)絡(luò)I/O的異步能力,可以讓Node做接口聚合時(shí),能夠更高效的異步并發(fā)處理。

04、成本較低

Node使用js開(kāi)發(fā),只需要學(xué)習(xí)簡(jiǎn)單的api,前端開(kāi)發(fā)者就可以無(wú)障礙使用,學(xué)習(xí)成本很低。

而且,Node具有活躍的社區(qū)和豐富的模塊池,擁有很多現(xiàn)成的功能實(shí)現(xiàn),框架方面,也有成熟的koa,express等基本框架和egg等二次封裝框架,可根據(jù)需求選擇上手也比較方便。

有了以上幾點(diǎn)原因,實(shí)實(shí)在在的好處,相信各位同學(xué)已經(jīng)有充足理由可以說(shuō)服老板讓你使用Node啦。

責(zé)任編輯:龐桂玉 來(lái)源: 前端大全
相關(guān)推薦

2009-11-25 11:30:09

網(wǎng)吧路由器選擇

2022-05-19 10:45:36

軟件開(kāi)發(fā)技術(shù)

2013-11-01 09:34:56

Node.js技術(shù)

2015-03-10 10:59:18

Node.js開(kāi)發(fā)指南基礎(chǔ)介紹

2011-09-09 14:23:13

Node.js

2011-11-01 10:30:36

Node.js

2011-09-08 13:46:14

node.js

2011-09-02 14:47:48

Node

2012-10-24 14:56:30

IBMdw

2011-11-10 08:55:00

Node.js

2021-12-25 22:29:57

Node.js 微任務(wù)處理事件循環(huán)

2022-06-08 19:10:27

MarcusLeCun算法

2020-05-29 15:33:28

Node.js框架JavaScript

2012-02-03 09:25:39

Node.js

2015-06-23 15:27:53

HproseNode.js

2021-04-06 10:15:29

Node.jsHooks前端

2020-10-26 08:34:13

Node.jsCORS前端

2021-02-01 15:42:45

Node.jsSQL應(yīng)用程序

2024-07-08 08:53:52

2021-07-09 00:24:10

No.jsNode.js原理
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)