究竟 Node.js 有什麼樣的能力讓 NETFLIX、LinkedIn 等企業搶著用呢?今天就讓我們帶你圖解 Node.js,完整介紹 Node.js 的特性和優缺點吧!身為工程師的你想要老闆幫你加薪,卻還不知道 Node.js 是什麼?想讓自己的年薪遙遙領先其他人,卻還沒有 Node.js 的能力?不用怕,今天看完這篇,你就會知道該怎麼開始你的加薪之路了!
Node.js 是什麼?誰適合學 Node.js?
Node.js 是由 JavaScript 編寫的,寫法相對簡單且可以達到前後端語言統一開發來提升效率及便利性,減少團隊在合作上的摩擦。簡單來說,可以把 Node.js 想成「能在後端運作的 JavaScript」。
因此近年來 Node.js 深受全球各大企業的喜愛,根據 104 人力銀行資料顯示,近 9 成的前後端工程師職缺都指出需要熟悉 Node.js 的能力。CakeResume 資料也顯示,企業對於後端工程師的能力需求中 Node.js 排行前三呢!
誰適合學 Node.js ?
想學習 Node.js 當然不分男女老少都能學,但如果有一點 JavaScript 基礎的人會比較好上手哦~
如果你希望邁向全端開發、想轉職 Web 後端工程師、想讓開發過程更便利、順暢的工程師,或是你已經是 Web 後端工程師,但想再進階學習、想成為兼具前後端技術的工程師、想自己架網站並累積作品的你
那 Node.js 就是你快速達成目標的選擇!!
Node.js 的五大優勢
1、實現全端開發
Node.js 統一了前後端的語言,不僅可以將程式碼標準化,也可以實現全端開發。
2、入門門檻低
Node.js 是能夠在伺服器端運行 JavaScript 的開放原始碼、跨平台 JavaScript 執行環境,所以對於本來就懂 JavaScript 語法的工程師,在學習上會比較容易上手。
3、加快開發速度
Node.js 使用目前最快的瀏覽器內核 V8 做為執行引擎,確保了 Node.js 的性能和穩定性。它可以將 JavaScript 編譯成原生機器碼並快速執行常見的 Web 應用任務,例如讀取或寫入資料庫,讀取或寫入網絡連接,以及讀取或寫入文件系統。
4、社群支援強
Node.js 的套件管理系統 npm 做得非常好,網站上已經有上千個套件,因此你可以很容易的找到需要的功能,不需要自己重頭寫,大大提升了開發的速度。
5、跨平台運作
它可以運行在 Windows、OSX 和 Linux 上運作,因此能實現跨平台開發、跨平台部署、跨平台運行。
Node.js 的五大特性
為什麼使用 Node.js?
影片版 👉 https://hiskio.com/courses/399/lectures/20015
1、包含許多內建函數
例如 http、cypto、fs 模組…可以幫助我們快速開發其他常用的工具,如:爬蟲,而不只是拿來開發後端服務而已。
2、多數套件包含非同步的 API
意思是我們不用擔心 thread 的問題。
透過非同步的編成,我們可以在不考慮 thread 的控制下,平行處理一些邏輯,這是使用 node.js 的一大特性。
3、C++ 語言的 addon
如果覺得這些套件不夠用,也可以自行開發 C++ 語言的 addon 套件來支援 Node.js。因為 Node.js 本身就有支援 C++ 語言的 addon,我們就可以直接在 Node.js 程式中使用。
4、npm 跟 module dependency manager
另外兩個重要的東西:npm 跟 module dependency manager,這兩個工具使得 Node.js 生態系非常強大,並且因為容易安裝,使的開發速度大幅提升。
5、Node.js 小而美
Node 之所以稱作為 Node 就是因為他的程式都小小的,模組化的來到維護的需求。
Node.js 的缺點
1、沒有thread的概念
Node.js 本身就是一個 thread 做所有的運算,而其他語言都有 thread 的概念。
2、非同步的邏輯不同於其他語言
非同步的邏輯異於其他語言,這是如果熟悉 thread 的人初期學 Node 最難以熟悉的地方。
3、太多不同的函式庫使用
npm 上面有成千上百個套件,在選用套件會難以決策之外,同時因為每個套件又可能相依於其他的套件,導致我們安裝一個套件會必須要把所以相依於的套件全部安裝上去,使的一隻程式肥大。
4、過多的小型套件 npm 安裝
這會造成程式不斷安裝相依的套件,例如一個小程式有 300 多個 npm 套件相依安裝而擁腫。
推薦的 npm 套組
什麼是 npm?
1. npm 是 Node.js 官方提供的套件管理工具
2. npm 就像是一個大超商,裡面提供很多別人寫好且開源的 code 提供我們下載使用
推薦的 npm 套組
各個套組的詳細介紹和更多推薦套組,歡迎點選查看喔~
👉 推薦 npm(1) 👈、 👉 推薦 npm(2) 👈
這次我們整理了 12 個 npm 套組給大家
學會 Node.js 有什麼優勢?
史蒂夫是公司的全端工程師,戴夫是公司的後端工程師
史蒂夫鑽研全球學習機會,戴夫精研如何成為擁有 60K 的後端工程師
為什麼史蒂夫和戴夫的薪水都遙遙領先同事?
因為史蒂夫和戴夫都選擇學習 Node.js
根據 LinkedIn 發布的 2020 年工作趨勢報告中,全端工程師和後端工程師皆為成長最為快速的新興職業。
其中全端工程師
所需專業技能: Node.js、 React.js、JavaScript、AngularJS、階層式樣式表(CSS)…
最受歡迎行業:電腦軟體、資訊科技與服務、網路、金融服務、高等教育…
後端工程師
所需專業技能:Node.js、JavaScript、亞馬遜網路服務、Git、MongoDB…
最受歡迎行業:電腦軟體、網路、資訊科技與服務、行銷與廣告、金融服務…
在全端工程師需求年成長 35% /後端工程師需求年成長 30% 的現況下
- 擁有 Node.js 能力的全端工程師年薪最高,平均約 150 萬
- 而擁有 Node.js 能力的後端工程師月薪也有前三高,平均約 67 K