為什么前端要使用Node開(kāi)發(fā)

前不久和一個(gè).net同事吃火鍋,臨近結(jié)束提到了前端的技術(shù)框架推正,這位同事也會(huì)前端滩报,但是在他印象里前端似乎依舊是傳統(tǒng)的運(yùn)行于瀏覽器進(jìn)行開(kāi)發(fā);任憑我怎么說(shuō)妇拯,前端已經(jīng)是通過(guò)node進(jìn)行開(kāi)發(fā)并且現(xiàn)在各大公司已經(jīng)很基本的大規(guī)模使用了幻馁,他依舊不信或者說(shuō)不能夠理解node開(kāi)發(fā)在前端的意義, 于是乎我想整理一篇文章告訴他,前端是怎么使用node開(kāi)發(fā)的仗嗦;

一预麸、傳統(tǒng)的JavaScript

傳統(tǒng)的js是運(yùn)行在瀏覽器上的,因?yàn)闉g覽器內(nèi)核分為兩個(gè)部分:

渲染引擎---復(fù)制渲染HTML和CSS,

?JavaScript 引擎---負(fù)責(zé)運(yùn)行 JavaScript, Chrome 使用的 JavaScript 引擎是 V8儒将,它的速度非忱艋觯快且性能好。

二钩蚊、什么是Node.js?

官網(wǎng)上對(duì)其特點(diǎn)描述為:

1. 它是一個(gè)Javascript運(yùn)行環(huán)境

2. 依賴于Chrome V8引擎進(jìn)行代碼解釋

3. 事件驅(qū)動(dòng)

4. 非阻塞I/O

5. 輕量贡翘、可伸縮,適于實(shí)時(shí)數(shù)據(jù)交互應(yīng)用

6. 單進(jìn)程砰逻,單線程

相對(duì)于傳統(tǒng)的JavaScript來(lái)說(shuō)鸣驱,Node.js 是一個(gè)運(yùn)行在服務(wù)端的框架,它的底層就使用了 V8 引擎蝠咆。我們知道 Apache + PHP 以及 Java 的 Servlet 都可以用來(lái)開(kāi)發(fā)動(dòng)態(tài)網(wǎng)頁(yè)踊东,Node.js 的作用與他們類似,只不過(guò)是使用 JavaScript 來(lái)開(kāi)發(fā)刚操,它大大提升了開(kāi)發(fā)的性能以及便利闸翅。使用node開(kāi)發(fā)還可以使用配套的npm包管理工具:

NPM是隨同NodeJS一起安裝的包管理工具,能解決NodeJS代碼部署上的很多問(wèn)題菊霜,常見(jiàn)的使用場(chǎng)景有以下幾種:

允許用戶從NPM服務(wù)器下載別人編寫的第三方包到本地使用坚冀。

允許用戶從NPM服務(wù)器下載并安裝別人編寫的命令行程序到本地使用。

允許用戶將自己編寫的包或命令行程序上傳到NPM服務(wù)器供別人使用鉴逞。


因?yàn)閚ode本身就是一個(gè)服務(wù)端的框架记某,對(duì)于一些簡(jiǎn)單的項(xiàng)目,我們可以不需要后端配合构捡,直接用node進(jìn)行數(shù)據(jù)庫(kù)的增刪改查液南,比如下面的代碼就是通過(guò)使用express進(jìn)行開(kāi)發(fā)的:


通過(guò)配置接口我就可以實(shí)現(xiàn)原來(lái)需要后端配合做的事情了,大大方便了我們對(duì)一些簡(jiǎn)單場(chǎng)景下的應(yīng)用勾徽;

三滑凉、Node開(kāi)發(fā)的缺陷:

雖然node開(kāi)發(fā)已經(jīng)能夠給我們帶來(lái)非常棒的體驗(yàn),那么它存在什么樣的先天不足呢捂蕴,下面是從網(wǎng)上查找的資料:

1. 不適合CPU密集型應(yīng)用譬涡;CPU密集型應(yīng)用給Node帶來(lái)的挑戰(zhàn)主要是:由于JavaScript單線程的原因闪幽,如果有長(zhǎng)時(shí)間運(yùn)行的計(jì)算(比如大循環(huán))啥辨,將會(huì)導(dǎo)致CPU時(shí)間片不能釋放,使得后續(xù)I/O無(wú)法發(fā)起盯腌;

解決方案:分解大型運(yùn)算任務(wù)為多個(gè)小任務(wù)溉知,使得運(yùn)算能夠適時(shí)釋放,不阻塞I/O調(diào)用的發(fā)起;

2. 只支持單核CPU级乍,不能充分利用CPU

3. 可靠性低舌劳,一旦代碼某個(gè)環(huán)節(jié)崩潰,整個(gè)系統(tǒng)都崩潰

原因:?jiǎn)芜M(jìn)程玫荣,單線程

解決方案:(1)Nnigx反向代理甚淡,負(fù)載均衡,開(kāi)多個(gè)進(jìn)程捅厂,綁定多個(gè)端口贯卦;

(2)開(kāi)多個(gè)進(jìn)程監(jiān)聽(tīng)同一個(gè)端口,使用cluster模塊焙贷;

4. 開(kāi)源組件庫(kù)質(zhì)量參差不齊撵割,更新快,向下不兼容

5. Debug不方便辙芍,錯(cuò)誤沒(méi)有stack trace


今天是大年初一啡彬,對(duì)于今年的規(guī)劃當(dāng)然是希望有機(jī)會(huì)進(jìn)入一個(gè)非常棒的團(tuán)隊(duì)學(xué)習(xí);大樓之下故硅,我自知渺小庶灿,頂峰雖然唾手不可及,也要努力加油吃衅!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末跳仿,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子捐晶,更是在濱河造成了極大的恐慌菲语,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,039評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件惑灵,死亡現(xiàn)場(chǎng)離奇詭異山上,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)英支,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,426評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門佩憾,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人干花,你說(shuō)我怎么就攤上這事妄帘。” “怎么了池凄?”我有些...
    開(kāi)封第一講書人閱讀 165,417評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵抡驼,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我肿仑,道長(zhǎng)致盟,這世上最難降的妖魔是什么碎税? 我笑而不...
    開(kāi)封第一講書人閱讀 58,868評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮馏锡,結(jié)果婚禮上雷蹂,老公的妹妹穿的比我還像新娘。我一直安慰自己杯道,他們只是感情好匪煌,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,892評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著党巾,像睡著了一般虐杯。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上昧港,一...
    開(kāi)封第一講書人閱讀 51,692評(píng)論 1 305
  • 那天擎椰,我揣著相機(jī)與錄音,去河邊找鬼创肥。 笑死达舒,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的叹侄。 我是一名探鬼主播巩搏,決...
    沈念sama閱讀 40,416評(píng)論 3 419
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼趾代!你這毒婦竟也來(lái)了贯底?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書人閱讀 39,326評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤撒强,失蹤者是張志新(化名)和其女友劉穎禽捆,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體飘哨,經(jīng)...
    沈念sama閱讀 45,782評(píng)論 1 316
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡胚想,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,957評(píng)論 3 337
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了芽隆。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片浊服。...
    茶點(diǎn)故事閱讀 40,102評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖胚吁,靈堂內(nèi)的尸體忽然破棺而出牙躺,到底是詐尸還是另有隱情,我是刑警寧澤腕扶,帶...
    沈念sama閱讀 35,790評(píng)論 5 346
  • 正文 年R本政府宣布孽拷,位于F島的核電站,受9級(jí)特大地震影響蕉毯,放射性物質(zhì)發(fā)生泄漏乓搬。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,442評(píng)論 3 331
  • 文/蒙蒙 一代虾、第九天 我趴在偏房一處隱蔽的房頂上張望进肯。 院中可真熱鬧,春花似錦棉磨、人聲如沸江掩。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 31,996評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)环形。三九已至,卻和暖如春衙傀,著一層夾襖步出監(jiān)牢的瞬間抬吟,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 33,113評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工统抬, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留火本,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,332評(píng)論 3 373
  • 正文 我出身青樓聪建,卻偏偏與公主長(zhǎng)得像钙畔,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子金麸,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,044評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容