您好,登錄后才能下訂單哦!
今天小編給大家分享一下學習Nodejs的目的有哪些的相關知識點,內容詳細,邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。
以下是對學習node必要性的具體闡述
1.node.js最根本的能力是讓js能夠脫離瀏覽器運行,學好node,可以讓自己不再是一個“純前端”
2.學習nodejs是進行前端工程化的基礎(NodeJS Stream)
3.學好node,可以編寫服務端API,實現獨立開發項目
4.作為中間層(引申問題:什么是中間層?)
中間層(BFF)也叫做應用層,在架構中處于服務層(Java)和客戶端之間,主要發揮的作用:
接收客戶端請求
渲染HTML頁面
Bigpipe,Comet,Socket
合并接口請求
路由定制
數據緩存
現在為什么說很多時候前端也需要編寫自己的api?
1.經典的雙層結構:前端+服務端
2.三層結構:前端+后端+服務端(現在的中大型項目所采用的結構)
三層結構的服務端只負責操作數據庫,管理數據
,把數據返給后端,基本上就是純粹的數據,不包含數據業務
后端就是所謂的中間層,如果前端來開發,那么優先選擇nodejs,因為對于前端來說學習成本最低。
如果對自己的職場定位是做一輩子的純前端,那么不需要學習nodejs,但是事實上做一輩子純前端很難,一般到了35歲,所具備的能力還只是“搬磚”,那么在職場上的價值會越來越低。
CTO往往是由服務端工程師擔任
理由:
1.需要設計整個公司的技術架構
2.需要從全局考慮問題
3.需要掌控公司最重要的資產:數據(誰掌握數據,誰才有話語權)
學好node并不是說就可以去做CTO,但至少可以大大的提高我們前端的職場地位。
從技術上,利用自己的能力獨立完成一個項目、產品,是一件非常有成就感的事情。
就算排除掉前面的所有理由,作為一名純前端,學習node也有很大的好處,可以培養我們的編程思維,擴展我們考慮問題的角度。
NodeJs的優缺點及適用場景
NodeJs的兩大特點:事件驅動,非阻塞I/O
所以NodeJs的最大的兩個優點
1.處理高并發,相比較于其他后端語言,每個連接發射(emit)一個在NodeJS引擎進程中運行的事(Event),放進事件隊列當中,而不是為每個連接生成一個新的OS線程(并為其分配一些配套內存)
2.I/O密集型應用
因為JavaScript單線程的特點, NodeJs不適合CPU密集型應用;CPU密集型應用給Node帶來的挑戰主要是:由于JavaScript單線程的原因,如果有長時間運行的計算(比如大循環),將會導致CPU時間片不能釋放,使得后續I/O無法發起;
解決方案:分解大型運算任務為多個小任務,使得運算能夠適時釋放,不阻塞I/O調用的發起;
NodeJs的適用場景:
RESTful API
這是NodeJS最理想的應用場景,可以處理數萬條連接,本身沒有太多的邏輯,只需要請求API,組織數據進行返回即可。它本質上只是從某個數據庫中查找一些值并將它們組成一個響應。由于響應是少量文本,入站請求也是少量的文本,因此流量不高,一臺機器甚至也可以處理最繁忙的公司的API需求。
統一Web應用的UI層
目前MVC的架構,在某種意義上來說,Web開發有兩個UI層,一個是在瀏覽器里面我們最終看到的,另一個在server端,負責生成和拼接頁面。
大量Ajax請求的應用
例如個性化應用,每個用戶看到的頁面都不一樣,緩存失效,需要在頁面加載的時候發起Ajax請求,NodeJS能響應大量的并發請求
總而言之,NodeJS適合運用在高并發、I/O密集、少量業務邏輯的場景
以上就是“學習Nodejs的目的有哪些”這篇文章的所有內容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學習更多的知識,請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。