NodeJs能實現PHP所有的功能嗎?

2020-07-16 10:06:31

NodeJs能實現PHP所有的功能嗎?

NodeJs能實現PHP所有的功能,本質上所有語言都可實現PHP所有的功能,而NodeJs一個基於Chrome JavaScript執行時建立的一個平台,也就是可以在伺服器端執行JavaScript。

NodeJs特性

V8引擎本身使用了一些最新的編譯技術。這使得用Javascript這類指令碼語言編寫出來的程式碼執行速度獲得了極大提升,又節省了開發成本。對效能的苛求是Node的一個關鍵因素。 Javascript是一個事件驅動語言,Node利用了這個優點,編寫出可延伸性高的伺服器。Node採用了一個稱為「事件迴圈(event loop)」的架構,使得編寫可延伸性高的伺服器變得既容易又安全。提高伺服器效能的技巧有多種多樣。Node選擇了一種既能提高效能,又能減低開發複雜度的架構。這是一個非常重要的特性。並行程式設計通常很複雜且佈滿地雷。Node繞過了這些,但仍提供很好的效能。

Node採用一系列「非阻塞」庫來支援事件迴圈的方式。本質上就是為檔案系統、資料庫之類的資源提供介面。向檔案系統傳送一個請求時,無需等待硬碟(定址並檢索檔案),硬碟準備好的時候非阻塞介面會通知Node。該模型以可延伸的方式簡化了對慢資源的存取, 直觀,易懂。尤其是對於熟悉onmouseover、onclick等DOM事件的使用者,更有一種似曾相識的感覺。

雖然讓Javascript執行於伺服器端不是Node的獨特之處,但卻是其一強大功能。不得不承認,瀏覽器環境限制了我們選擇程式語言的自由。任何伺服器與日益複雜的瀏覽器用戶端應用程式間共用程式碼的願望只能通過Javascript來實現。雖然還存在其他一些支援Javascript在伺服器端 執行的平台,但因為上述特性,Node發展迅猛,成為事實上的平台。

在Node啟動的很短時間內,社群就已經貢獻了大量的擴充套件庫(模組)。其中很多是連線資料庫或是其他軟體的驅動,但還有很多是憑他們的實力製作出來的非常有用的軟體。

最後,不得不提到的是Node社群。雖然Node專案還非常年輕,但很少看到對一個專案如此狂熱的社群。不管是新手,還是專家,大家都圍繞著專案,使用並貢獻自己的能力,致力於打造一個探索、支援、分享、聽取建議的樂土。

Node的優點

Node作為一個新興的前端框架,後台語言,有很多吸引人的地方:

RESTful API

單執行緒

Node可以在不新增額外執行緒的情況下,依然可以對任務進行併行處理 —— Node.js是單執行緒的。它通過事件迴圈(event loop)來實現並行操作,對此,我們應該要充分利用這一點 —— 盡可能的避免阻塞操作,取而代之,多使用非阻塞操作。

非阻塞IO

V8虛擬機器

事件驅動

以上就是NodeJs能實現PHP所有的功能嗎?的詳細內容,更多請關注TW511.COM其它相關文章!