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

為什么 Node.js 是后端開發(fā)的規(guī)則改變者

譯文 精選
開發(fā) 前端
Node.js是一個(gè)開源的跨平臺JavaScript運(yùn)行時(shí)環(huán)境,它讓JavaScript成為與PHP、Python、Perl、Ruby等服務(wù)端語言平起平坐的腳本語言。值得注意的是,Node.js在2017年改變了世界,這一年它得到了廣泛的使用。

作者丨P. Rehan

編譯丨諾亞

“Node.js有危險(xiǎn)了!”

“任何能夠自救的開發(fā)人員都應(yīng)該盡快遷移到另一個(gè)后端環(huán)境!”JavaScript的仇恨者說。

不用理會這些言論。Node.js將繼續(xù)存在,并將成為后端Web開發(fā)的終極游戲規(guī)則改變者。

一、是什么讓 Node.js 成為后端開發(fā)的寵兒?

在過去的后端開發(fā)時(shí)代,PHP是構(gòu)建Web項(xiàng)目的主要工具。

但隨著歲月流逝,在Web開發(fā)中PHP逐漸變得不那么合時(shí)宜,就像古怪又神經(jīng)質(zhì)的大叔,沒有人知道它為什么還存在了。之后Ruby(基于Rails)出現(xiàn)了,帶著一籮筐的顛覆性的花哨技術(shù),就像喝拿鐵咖啡的潮人一樣。我們都有過這樣的“親戚”,(可惜的是)我們并不想和他們在一起。Java就更不用提了。

直到幾年前,一種新的、不那么時(shí)髦但卻非常高效的東西進(jìn)入了后端開發(fā)的世界,那就是——Node.js。

簡單來說,Node.js是一個(gè)開源的跨平臺JavaScript運(yùn)行時(shí)環(huán)境,它讓JavaScript成為與PHP、Python、Perl、Ruby等服務(wù)端語言平起平坐的腳本語言。值得注意的是,Node.js在2017年改變了世界,這一年它得到了廣泛的使用。

Node.js的歷史是在打破GitHub上的4萬星標(biāo)記之前創(chuàng)建的。它只是在Web瀏覽器之外運(yùn)行代碼的小型JavaScript環(huán)境之一。但是,事實(shí)證明,Node.js正是后端開發(fā)界多年來一直在尋找的:一個(gè)能夠處理大量流量的勢不可擋的迷人環(huán)境。

以下功能使Node.js成為后端Web開發(fā)的典型代表:

  • 其占用空間小,使其成為基于云的應(yīng)用程序的出色開發(fā)工具。
  • 由于它的V8 JavaScript引擎,它幾乎和光一樣快。
  • 應(yīng)用程序開發(fā)具有很強(qiáng)的可擴(kuò)展性和響應(yīng)性。
  • 它的社區(qū)中有近10萬名活躍的開發(fā)人員。
  • 它擁有無窮無盡的 API 和無限的生態(tài)系統(tǒng),允許你創(chuàng)建從基本的 1-2-3 應(yīng)用程序到火箭科學(xué)級微服務(wù)結(jié)構(gòu)的所有內(nèi)容。

二、奧秘是什么?

試想:一個(gè)后端開發(fā)環(huán)境如何在保持健壯性和響應(yīng)能力的同時(shí)管理如此多的查詢?流經(jīng)其血管的秘密成分是什么?

Node.js除了使用與Google Chrome相同的引擎外,還采用事件驅(qū)動的非阻塞I/O方法。

正是它推動了Netflix(流媒體服務(wù))、Discord機(jī)器人(聊天機(jī)器人)和8 Ball Pool(在線游戲)等實(shí)時(shí)應(yīng)用程序的發(fā)展。

將事件驅(qū)動的非阻塞 I/O 模型想象成一個(gè)超級英雄,你將其命名為 Node-Man。

他的獨(dú)特能力是處理多項(xiàng)任務(wù)并毫不費(fèi)力地救人。他的能力來自 I/O 模型,該模型可以處理多個(gè)請求,而無需等待一個(gè)請求完成后再進(jìn)行下一個(gè)請求。

這就是節(jié)點(diǎn)人超越閃電俠并擊敗鋼鐵俠的方式。

三、被誤解的Node.js:五個(gè)必須了解的真相

以下是關(guān)于 Node.js 的五個(gè)常見誤解:

1. Node.js 不是大型商業(yè)應(yīng)用程序的最佳選擇,因?yàn)樗狈蓴U(kuò)展性。上次我們看到,每個(gè)組織都在嘗試將其應(yīng)用程序提升到新的性能高度,而Node.js將提供這一點(diǎn)。

2. PayPal,沃爾瑪,Trello、領(lǐng)英,以及Netflix,都聲稱它僅適用于小型應(yīng)用程序。它們是一些最復(fù)雜的應(yīng)用程序,使用 Node.js 來處理請求,并且運(yùn)行時(shí)幾乎沒有停機(jī)時(shí)間。

3. 它僅用于Web開發(fā)。事實(shí)上,Node.js 非常適合桌面應(yīng)用程序、物聯(lián)網(wǎng)設(shè)備和命令行工具。Slack和Visual Studio Code都是Electron-Node.js強(qiáng)大組合的產(chǎn)品。Gatsby和Yarn是命令行工具,用于創(chuàng)建在Node.js上運(yùn)行的快速和安全的網(wǎng)站。

4. CPU 密集型任務(wù)會破壞 Node.js。當(dāng)然,這是一個(gè)單線程環(huán)境,性能會受到請求數(shù)量的影響。但是,你可以通過創(chuàng)建任務(wù)隊(duì)列或生成特定于任務(wù)的異步子進(jìn)程來解決此限制。

5. Node.js 允許在最值得信賴的庫上運(yùn)行時(shí)進(jìn)行輸入驗(yàn)證和清理,因此它不是一個(gè)很好的安全替代方案。Node.js 支持 TLS/SSL 通信。它對通信進(jìn)行加密,并保護(hù)它免受漏洞和攻擊。

四、影響后端開發(fā)未來的Node.js 趨勢

除了可擴(kuò)展性和閃電般的效率之外,Node.js最大的優(yōu)勢是其簡單的學(xué)習(xí)曲線。這就像在掌握節(jié)點(diǎn)后玩連接節(jié)點(diǎn)的游戲。

由于這些特性,GraphQL、無服務(wù)器計(jì)算、微服務(wù)架構(gòu)和漸進(jìn)式Web應(yīng)用程序(PWA)等Web開發(fā)概念正變得越來越流行。

小型、獨(dú)立的服務(wù)時(shí)代即將到來,每個(gè)服務(wù)都是業(yè)務(wù)功能所獨(dú)有的,通過 API 進(jìn)行交互,并從單個(gè)共享代碼庫運(yùn)行。

模塊化和可擴(kuò)展的Web應(yīng)用程序開發(fā)時(shí)代即將開啟。

五、一年后Node.js會在哪里?

自2009年發(fā)布以來,Node.js已經(jīng)走了很長一段路,但對于這個(gè)JavaScript跨平臺來說,最令人興奮的旅程還沒有到來。

可以展望的是,Node.js最終將揚(yáng)帆遠(yuǎn)航,逃離后端開發(fā)的水域。它將跟蹤機(jī)器學(xué)習(xí)、人工智能、物聯(lián)網(wǎng)設(shè)備和桌面應(yīng)用程序的發(fā)展,探索其中的未知領(lǐng)域。

如果認(rèn)為這些領(lǐng)域不受其他語言和庫的影響,那將是愚蠢的。

GO、Deno、ASP.net和Flask等后端框架/語言對Node.js的采用和生存構(gòu)成了威脅。

即使存在風(fēng)險(xiǎn),未來也是光明和繁榮的,就像 Node.js API 庫一樣。         

參考鏈接:https://pinjarirehan.medium.com/why-node-js-is-the-ultimate-game-changer-for-backend-development-26415839bbe2

責(zé)任編輯:武曉燕 來源: 51CTO技術(shù)棧
相關(guān)推薦

2011-09-02 14:47:48

Node

2023-10-10 14:01:11

Node.js后端

2012-05-02 15:56:20

PHP

2017-04-05 13:06:23

Node.jsJava開發(fā)

2017-05-05 09:10:38

Node.jsJava開發(fā)

2021-01-11 09:00:00

開發(fā)Node.js后端

2015-03-10 10:59:18

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

2020-04-20 16:00:05

Node.js框架JavaScript

2016-05-18 10:15:25

PythonNode.js

2012-01-10 10:04:43

Node.js

2012-03-01 15:55:42

2023-11-20 22:26:51

Go開發(fā)

2023-10-09 08:39:30

Node.jsBun 1.0JavaScrip

2024-07-12 14:54:48

2014-08-18 11:06:47

js框架Node.js

2022-01-04 21:36:33

JS瀏覽器設(shè)計(jì)

2023-10-04 07:35:03

2023-03-02 23:09:53

Node.jsC++JS

2022-12-22 07:44:04

2024-10-06 13:47:43

后端開發(fā)者項(xiàng)目
點(diǎn)贊
收藏

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