-
1 # 程式設計師小謝
-
2 # 新城舊少哖
建議學習 Node.js ,因為你本身會js的話直接學Node會快很多。
PHP 和 Node.js 的基本區別在於 PHP 是一種程式語言,Node.js 是一個基於 Chrome V8 引擎的 JavaScript 執行環境。
1.效能:
在效能方面,Node.js 顯然好很多。由於 Node.js 遵循事件驅動的非阻塞I/O模型,與傳統的後端技術相比,Node.js 能夠處理大量的伺服器請求。
2.外部依賴:
Node.js 依賴關係較少,用幾行程式碼就可以設定一個 Web 伺服器。但執行 PHP 應用程式,就需要外部伺服器軟體。用 Node.js 的開發人員只需要 NPM(節點包管理器)就可以下載 Node 模組,這些模組可以輕鬆地整合到應用程式中,提供額外的功能。
3.開發環境:
Node.js 可以用於桌面應用程式開發(Windows,Linux和Mac),移動應用程式開發(混合和跨平臺應用程式),甚至構建基於控制檯的應用程式。雖然有一些也可以使用 PHP 來開發,但是大多數開發人員不會這樣做。
4.社群支援:
由於 PHP 比 Node.js 早誕生將近20年,所以在文件,API 和程式碼庫等線上資源方面更為豐富。所以很有可能其他人也嘗試了你想要用程式碼完成的事情並從中獲得了幫助。另一方面,Node.js 雖然已經得到了開發者和組織的廣泛關注,但是它支援開發者開發的資源缺相當少。
5.學習曲線:
編寫 Node.js 程式碼對於新手甚至是專業的 JavaScript 開發人員來說都不是件容易的事情,因為他們需要在入門之前理解一些複雜的概念,比如 web worker 和回撥函式。相反,PHP是一門非常友好的程式語言對於開發 Web 應用程式的新手來說。
總之這兩種技術都有各自的優點和缺點。我是覺得 Node.js 比較有前途。
-
3 # Echa攻城獅
雖然全棧工程師只是碼農中的很小一部分,但還是有一些IT業者的目標是成為全棧式工程師。要想成為全棧式工程師,需要學的東西還真不少。比如,前端要會html, css, Javascript,Jquery, 有的可能還需要懂vue, Angular,react native,後端要懂PHP, Java, C語言等。若是移動開發就要會Java/Android(安卓平臺)或者object-c(蘋果平臺)。
對於web開發來說,除了基本的html, Javascript現在是大熱門,其應用的範圍越來越廣,可應用的場景也越來越多。而後端技術,如php(或者替換語言,如Java、C語言)也是搭建網路平臺不可或缺的技能。說實在的,這兩門技藝都是成為全棧工程師必須掌握的技能。但是,如果時間來不及同時學兩門語言,那麼先學哪個對實現目標更為有利呢?個人以為,應該優先考慮學習PHP(或其他後端語言,如java或c),而不是Javascript.
Javascript雖然也是十分重要的,可是相對來說後端技術需要投入的學習時間和難度要更大些。如果有了html和css的基礎,專案開發中遇到少量需要使用Javascript的場景,完全可以透過網路現學些基礎、或者透過現成的jquery程式碼來應付,而後端程式設計如果沒有好好學習過,基本上啥也做不了!而且,如果先學會了後端技術,將來再學javascript就更簡單些。同時,也會縮短成為全棧工程師所需時間。因此,想成為全棧工程師的筒子們應該先攻克PHP(或其他後端語言),然後再學Javascript。
-
4 # 李豐國創業筆記
js和java是必學的,因為你在國內混。但java的門檻有點高,尤其是面向物件程式設計。當然,有很多熟手用過程來寫java。至於這些年鼓吹函數語言程式設計只能應用於某些特定的軟體工程領域,比如前端的react。軟體工程學的精髓幾乎都在java領域。學通了,你將來用什麼語言都無所謂了。
如果你覺得java門檻太高,可以考慮php。當然nodejs也是可以的,但nodejs的工程實踐其實一般。
我就是你所羨慕的全棧,但全棧是一個自然而然的過程,要看專案需要和你個人投入程式設計的時間總和。
-
5 # 非IT專業的程式設計棧
PHP這種“世界最好的語言”,早已跌下神壇,不利於現在的前後端分離模式的開發,而且它那糟糕的錯誤處理機制一直飽受詬病。移動資料時代,大量的APP,資料的迸發,迭代,使用js,配合vue,react,Angelajs等主流框架,幾乎涵蓋所有現有應用開發,node本身就是為了前端全棧而設計,是前端全棧的基石。
就目前發展而言,建議完全掌握js,html,css後,強化webpack,glup,es6,typescript等知識。然後迅速進入node開發後端,很快可以開發,部署應用。
在空餘時間再考慮go語言作為後端語言,雖然go的熱度不如Java,c和Python。但是作為五年個人開發者,個人認為Python如沒有較大的機制改變,會布PHP後塵,Java雖然是大廠維護,但它底層程式碼十分混亂,連開發Java的公司員工都在吐槽。c是比較難的語言,不適合快速學習和部署。
-
6 # 簡單一句soulful
【暫停維護】
兩年前的面臨和你一樣的選擇,當時學做的是java後端,之後轉前端學了react,熟悉了整個前端工程,也學習了node做後臺服務,昨天剛完成了自己的一個全棧專案,線上圖片伺服器,技術棧是react+dva+and+node+express+nginx,一個人完成了前後端開發,構建,持續整合,部署到雲服務等一系列功能,算是走出了全棧的第一步,麻雀雖小五臟俱全。網址是http://flashdragon.cn,你可以體驗下。
如果你也想全棧的話,那麼首先前後端的經驗都得有,有js經驗建議直接學node做服務端,先熟悉了套路,然後再選擇精盡技術,祝你成功
-
7 # W-Maker
用node 開發介面你用了就知道有多坑了。需要有很強的非同步程式設計思維。否則簡單的curd加casher就很難搞定。 說PHP落伍的 可能思維和眼界還停留在tp PHP5.3點時代。 不管什麼語音開發go 也好 PHP也好 都有做程式碼和快取資料庫上的最佳化 否則再好的語言也是白搭。 效能90%在資料庫上 你要考慮用什麼的框架既可以簡化SQL操作 又可以有很強的定製SQL能力。在這方面PHP應該是沒對手的。 laravel很方便進行程式碼的快遞迭代開發。但是寫好的程式碼要考慮記憶體消耗,效能最佳化。這方面加上的話你就知道寫什麼專案都是業務問題了。
-
8 # 零點程式設計師
Nodejs和PHP都要學,但要有個先後順序,先學PHP,再學nodejs ,因為nodejs 已經用到了後端的思想和知識了。
建議再學這兩門課之前,最好先學一下Linux,這樣你不光學的更紮實,也會走的更遠!
-
9 # 程式設計乾貨曬場
不得不說你很有追求,勵志做全棧!
其實技術上無所謂應不應該,你選擇裡的兩個,都在行業中佔有很不錯的比重
這是國外的開發者訓練營預測的2020年語言排行榜。既然是訓練營就肯定會有利益糾葛,對此排行榜不做評價,僅供參考。
先來說說PHP,它是伺服器指令碼語言,簡單,易用,快速,但是不得不承認最近幾年它的熱度在下降,以下是php的特點供參考
再來說一下nodejs。
Nodejs從2015年ES6的釋出並被各大企業接受開始逐步發力,現在可以說是獨一個你只會這門語言就可以實現全棧夢想的語言。他在前端的應用較為廣泛,vue, react 等都是依靠它來管理打包執行。
類比Java中JVM,Nodejs的出現讓Javascript不在只侷限與做瀏覽器的指令碼語言,同樣可以幫你完成後端繁瑣的業務處理。它天生的非同步程式設計思想也可以幫助你理解NIO。
所以,Nodejs和Php 我選前者。
-
10 # 碼譜
Node.js 和 PHP 是兩個伺服器端技術領域中的競爭者,需要精通哪種技術完全取決於你所面向的使用者群體和構建的應用程式型別。逐本溯源PHP 是超文字預處理器指令碼語言,用於製作可擴充套件的動態 Web 應用程式。它於1995年釋出,在過去幾十年中,一直是排名靠前後端開發語言。Node.JS 是基於 Chrome v8 Javascript 構建的平臺,可輕鬆構建快速,可擴充套件的網路應用程式,而不是傳統的執行緒方法。它於 2009 年釋出,被認為是定義新網路未來的流行平臺。大多數時候,出現早的技術應用廣泛,相對更成熟。不過,新技術會克服很多以前技術留下的缺陷,更為人性化。不相上下使用 PHP ,不但要要學習 php 語法,還要對 Javascript/css/html 都有一定了解,但是 PHP 確是一門新手友好型的程式語言,不需要了解太多背後的原理,即可快速上手開發。
使用 Node.js 只需要寫 Javascript,但是在入門之前需要理解一些複雜概念,比如 web worker 和回撥函式。
專案選擇 PHP 還是 Node.js 開發,並不是拍腦袋決定的,和網站的定位有很大關係。PHP 有 Wordpres 背書,全球有大量的網站使用到 PHP,如果能有合適的模板,能做到快速開發,快速整合上線,充分應對小流量的客戶請求。Node.js 遵循事件驅動的非阻塞I/O模型,處理大量服務請求得心應手,各種模組輕鬆整合,並且幾乎不需要外部依賴就能執行起一個 web 應用。如今,還有一種流行的應用——單頁應用程式(Single Page Application),看起來只有一個頁面,頁面重新整理都是透過與 Node.js 互動直接生成 html,很方便實現千人千面效果。另外,Node.js 在模組化與協同程式設計方面,PHP 也是望塵莫及。理解全棧學會了 JS ,就想往全棧方面考慮,實在為時過早。全棧是要搞定設計,後臺開發,前端開發,移動開發,後期運營維護上線,這裡的每一步都不是一兩下能進階的,僅僅入門的話,實際上還不如不會。企業面試的時候,看啥啥都會,一問三不知。在精力有限的情況下,將一個技術用到極致,那才是真正的大神。
不成熟的程式設計師是見異思遷的,只考慮技術問題。市場是理性的,考慮語言的生態,部署難易,解決方案成熟度,招聘成本等因素。
-
11 # 肥胖西瓜
我認為,如果你正在學js的話,又對於PHP和java都是小白的話,建議你學習node和java,畢竟java的用途更廣,可以涉及到b/s,c/s,移動端,如果急著幹活,可以選擇先學node,畢竟他可以全棧
-
12 # Sean段
全棧(Full Stack)開發顧名思義就是全面的技術棧,不過技術棧對應於不同的產品開發是不同的。例如網站開發就需要學會前後端的技術,例如HTML+CSS+JS、VUE、Angular等前端技術以及Node.js、Java、PHP或者.Net等後端技術,只有結合了前後端才能算是在網站開發上擁有了全棧。
那回答題主的問題,學會JS後想做全棧開發,是選擇Node.js還是PHP作為後端技術棧?
選擇什麼樣的技術棧還是需要根據自己的實際情況來確定的,畢竟學習技術尤其是應用型的技術還是要考慮幾個方面的。
學習成本首先要考慮的就是學習成本,這裡說的成本未必是經濟成本,當然透過培訓課或者一些線上課來學習可以提高一些效率,但是主要的成本還是時間成本,畢竟如果需要很長的學習週期的話,就沒有必要在初學時候來深度研究了。從學習成本上來說,PHP和Node.js的入門都比較容易,不過如果已經熟悉了JS,而且沒有其他程式語言基礎的話,可以考慮選擇Node.js,畢竟同樣的語言會比較容易理解。
實踐機會應用型的開發技術都需要透過時間來完善的,沒有實踐機會的話,光是理論知識絕對是不夠的。所以,選擇哪個後端程式語言來學習也要考慮到實踐的機會。而且,最佳的實踐機會就是在工作或是實際專案環境中的。以前我招過不少透過培訓學校學習變成語言的開發者,很多都是有專案實踐的,但是這些專案都是培訓班或是學校裡面的專案,很多都是重複或者沒有太多實際參考價值的。因此,選擇PHP還是Node.js可以考慮目前哪個語言的實際可做專案多一點,或者已經工作的話,可以看看工作環境中使用哪個語言比較多。
發展前景發展成全棧開發應該還是希望自己的開發職業道路可以有所進步,要職業道路能發展,所學的技術的發展前景就比較重要了。相對比PHP和Node.js,PHP目前還是使用最多的網路產品的後端技術,不過最近已經有逐步放緩的跡象,畢竟是一個發展了很長時間的程式語言了,而且PHP只侷限於後端開發。Node.js作為一個比較新的後端技術,有不少優勢的同時,也在快速發展中,而且Node.js中的資源包還被運用到了前端框架中,所以絕對是一個上升的程式語言。這點上Node.js還是有一定的優勢的。
總而言之,選擇什麼樣的程式語言來完善自己的技術棧並沒有一個固定的答案,還是需要結合自身不同情況來做選擇的。
-
13 # 大霧哥哥哥
全棧很少公司招的,開發效率太慢了,建議專攻一項,前端或者後端都可以,如果想了解後端,可以瞭解php,有前端基礎入門好快
-
14 # 金生水起程式猿
強烈推薦你學習nodejs
1、已經學會javascript語言可以直接上手nodejs,畢竟學習php也是需要時間的。
2、javascript一門語言前端和後端通吃,避免與其他語言很雜寫的麻煩,一會兒寫javascript,一會兒寫php,來回切換太麻煩。
3、nodejs也是前端工程師必備技能,可以直接應聘大前端,也利於個人職業規劃。
4、建議做“T”型人才,深耕一項技能小有成就後,再學習擴充套件周邊技能。
-
15 # 李東bbsky
Nodejs、PHP、Python、Java、Golang都可以。
不過如果想成為前端開發工程師Nodejs是必不可少的,但是Nodejs很難讓你對後端有一個更加深入的理解,你應該還要學一門後端程式語言才行,PHP或者Golang、Python,這三個學習的門檻都不算高。
所以Nodejs和PHP都要學,如果一定要捨棄一個,那可以先只學PHP。
商人工作在白色寬闊,俯檢視
-
16 # 程式設計師小許眼裡
根據現在主流的技術實現,如果想做到全棧開發,node.js作為前端技術也是需要學習的。各類MVVM設計模式的前端框架,例如vue, react等都是在node.js的環境上開發,這個是現在主流的前端開發模式/框架。
後臺語言,最熱的、生態最完善的還是學習Java為宜。Java的生態很全,各類軟體開源框架非常完善,穩定性高,是大部分公司開發商用軟體的首選,資料量大了之後,入門各類大資料技術也上手相對簡單。node.js用作純後臺的還是少數小網站會用上,php現在也逐漸被市場放棄,所以這兩種如果學習用作後臺開發語言,除非你只想開發一些輕量級的網站,不然還是選擇Java更合適。
-
17 # 新疆阿亮
學了js 可以開發前端 也可以開發後端 沒必要再學PHP了,nodejs就可以了,要使用自己擅長的語言。如果是工作需要,看看公司需要什麼開發後端的,GO也是不錯的選擇。
-
18 # 豁達的科技人生
肯定node啊。
這樣你就可以用JavaScript來寫後端了。
如果學PHP,你還得再學PHP的語法
回覆列表
那需要走的路還很長,至少前後端的技術你都要去學習,js僅僅是前端的一部分,當然nodejs也可以寫後端,但是還是遠遠不夠的,因為在我接觸的公司中,基本都是用java來寫後端,前端也是用js的框架。