[知乎回答] 前端是否要学习 Node.js?
大家好,我是若川。最近組織了源碼共讀活動,感興趣的可以加我微信?ruochuan12很多小伙伴都表示收獲頗豐。一起學(xué)的大多數(shù)200行左右的Node.js源碼。今天推薦這篇文章。(剛剛在寫明天掘金要發(fā)的文章,差點(diǎn)忘記今天還沒發(fā)文。
在知乎上看到的一些問題:“就如今的前端市場而言,node有木有必要學(xué)?”、“對于前端來說后端語言是學(xué)自己不感興趣的 node,還是感興趣的 go?” 基于這些問題,談下自己的思考,僅供參考:
前端開發(fā)者是否有必要學(xué) Node.js?
最近前端圈火爆的 “JavaScript 權(quán)威指南” 第 7 版發(fā)布了,新版已更新至 ES2020,迎來了很多重大改變,談點(diǎn)和本文相關(guān)的,也感謝 “華章圖書” 的贈書,目前已收到本書,看了下在第 7 版中增加了 Node.js 相關(guān)介紹,在第 16 章介紹了 Node.js 編程基礎(chǔ)、Buffer、文件系統(tǒng)、進(jìn)程、線程和 HTTP 網(wǎng)絡(luò)編程等。那么做為前端開發(fā)者的你如果收到本書后是不是也要了解下?
在前端這塊,用 Node.js 做一些 BFF 類型的聚合項(xiàng)目、SSR 服務(wù)端渲染、或者寫一些 CLI 工具、構(gòu)建工具等,這些想必你也已經(jīng)聽過了。做為一個(gè)前端開發(fā)者當(dāng)你已經(jīng)擁有了 JavaScript 的基礎(chǔ),學(xué)習(xí) Node.js 也是你最快進(jìn)入后端的途徑,使用同一門編程語言的誘惑力是無可替代的。如果覺得 JavaScript 不夠,選擇 TypeScrit 好伐
如果你不知道該如何使用 Node.js,可以看看筆者之前總結(jié)的,看看這些企業(yè)都在用 Node.js 做什么,也都是一些真實(shí)的 Node.js 應(yīng)用實(shí)踐分享:Node.js 在企業(yè)中的應(yīng)用實(shí)踐集錦 - 2020 年中匯總
前端開發(fā)者如何推動基礎(chǔ)架構(gòu)項(xiàng)目落地,參見這篇分享:Node.js 為前端賦能 | 如何推動基礎(chǔ)架構(gòu)項(xiàng)目落地
回到這個(gè)問題 “就如今的前端市場而言,node有木有必要學(xué)?” 建議學(xué),例如前端經(jīng)常用到的一些打包工具 Webpack、Gulp,編譯工具 bable,一些腳手架工具 create-react-app 等都是基于 Node.js 來實(shí)現(xiàn)的,如果能夠了解一些 Node.js 相關(guān)知識,對于學(xué)習(xí)這些工具也能更好的掌握它們。工作中遇到問題了,解決起來也更加的得心應(yīng)手,如果想要寫一個(gè)博客或個(gè)人網(wǎng)站,前后端開發(fā)用同一種語言它不香嗎?
前端開發(fā)者該選擇 Node.js 還是 Go?
“對于前端來說后端語言是學(xué)自己不感興趣的 node,還是感興趣的 go?”?
首先明確一點(diǎn) Node.js 不是一門新的編程語言,Node.js 是 JavaScript 在服務(wù)端的運(yùn)行時(shí),提供了讀寫文件、網(wǎng)絡(luò)編程的能力。使得 JavaScript 開發(fā)者可以使用 Node.js 寫一些 CLI 工具、編寫一些 Web 服務(wù)器。
這個(gè)問題的答案和上個(gè)問題一樣,對于前端來說 Node.js 是首先推薦你學(xué)的,基于同一門語言,學(xué)習(xí)成本相對低,學(xué)完之后在工作中也是有可能用到的。但是這個(gè)問題呢還要看個(gè)人,因?yàn)椤?strong>興趣”,就向上面說的不感興趣該怎么選擇,興趣是學(xué)習(xí)最大的動力,如果真的沒有興趣建議還是別學(xué)了,可能最后也學(xué)不好,還會認(rèn)為 Node.js 怎么設(shè)計(jì)的這么...,畢竟強(qiáng)扭的瓜不甜。
如果你擔(dān)心 Node.js 是否適合大型項(xiàng)目,參見這篇分享:“云”端的語雀:用 JavaScript 全棧打造商業(yè)級應(yīng)用
Node.js 在服務(wù)端的技術(shù)選型,可以看看這篇分享 一個(gè) Node.js 技術(shù)選型案例:使用 CARMEN 作為卡牌手游技術(shù)棧
Node.js 能做的事情很多,Node.js 除了可以用在前端也可以用在服務(wù)端,在一些 Web 場景還是挺好的,效率也很高,筆者就是工作在服務(wù)端的一個(gè) Node.js 開發(fā)者,當(dāng)然后端也沒那么簡單,不只要考慮 API 設(shè)計(jì),還要關(guān)注服務(wù)的穩(wěn)定性、性能,數(shù)據(jù)庫設(shè)計(jì)、消息中間件等這些都是必不可少的,包括一些運(yùn)維、部署的知識也都是要學(xué)習(xí)下的,這些也并非某一門語言獨(dú)有,是做為一個(gè)服務(wù)端通用的知識體系。多學(xué)習(xí)不同編程語言背后的設(shè)計(jì)思想、優(yōu)勢與劣勢,磨練技藝、突破自我、適時(shí)選擇。
不要搞編程迷信,不要盲目互吹或黑某一門語言,如果可以,有條件的情況下,建議學(xué)習(xí)一門編譯型語言,可以是 Go/Rust/Java... 以便將來有天可以做到真正的技術(shù)選型,而非被技術(shù)選擇。
最近組建了一個(gè)江西人的前端交流群,如果你是江西人可以加我微信?ruochuan12?私信 江西?拉你進(jìn)群。
推薦閱讀
1個(gè)月,200+人,一起讀了4周源碼
我歷時(shí)3年才寫了10余篇源碼文章,但收獲了100w+閱讀
老姚淺談:怎么學(xué)JavaScript?
我在阿里招前端,該怎么幫你(可進(jìn)面試群)
·················?若川簡介?·················
你好,我是若川,畢業(yè)于江西高校。現(xiàn)在是一名前端開發(fā)“工程師”。寫有《學(xué)習(xí)源碼整體架構(gòu)系列
從2014年起,每年都會寫一篇年度總結(jié),已經(jīng)寫了7篇,點(diǎn)擊查看年度總結(jié)。
同時(shí),最近組織了源碼共讀活動
識別上方二維碼加我微信、拉你進(jìn)源碼共讀群
今日話題
略。歡迎分享、收藏、點(diǎn)贊、在看我的公眾號文章~
總結(jié)
以上是生活随笔為你收集整理的[知乎回答] 前端是否要学习 Node.js?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 前端入门之路
- 下一篇: 前端学习(3188):ant-desig