{eval=Array;=+count(Array);}
Node.js 和 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 ,就想往全棧方面考慮,實在為時過早。全棧是要搞定設計,后臺開發,前端開發,移動開發,后期運營維護上線,這里的每一步都不是一兩下能進階的,僅僅入門的話,實際上還不如不會。企業面試的時候,看啥啥都會,一問三不知。在精力有限的情況下,將一個技術用到極致,那才是真正的大神。
不成熟的程序員是見異思遷的,只考慮技術問題。市場是理性的,考慮語言的生態,部署難易,解決方案成熟度,招聘成本等因素。
Nodejs和PHP都要學,但要有個先后順序,先學PHP,再學nodejs ,因為nodejs 已經用到了后端的思想和知識了。
建議再學這兩門課之前,最好先學一下Linux,這樣你不光學的更扎實,也會走的更遠!
建議學習 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 比較有前途。
雖然全棧工程師只是碼農中的很小一部分,但還是有一些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。
Nodejs、PHP、Python、Java、Golang都可以。
不過如果想成為前端開發工程師Nodejs是必不可少的,但是Nodejs很難讓你對后端有一個更加深入的理解,你應該還要學一門后端編程語言才行,PHP或者Golang、Python,這三個學習的門檻都不算高。
所以Nodejs和PHP都要學,如果一定要舍棄一個,那可以先只學PHP。
用node 開發接口你用了就知道有多坑了。需要有很強的異步編程思維。否則簡單的curd加casher就很難搞定。 說PHP落伍的 可能思維和眼界還停留在tp PHP5.3點時代。 不管什么語音開發go 也好 PHP也好 都有做代碼和緩存數據庫上的優化 否則再好的語言也是白搭。 性能90%在數據庫上 你要考慮用什么的框架既可以簡化SQL操作 又可以有很強的定制SQL能力。在這方面PHP應該是沒對手的。 laravel很方便進行代碼的快遞迭代開發。但是寫好的代碼要考慮內存消耗,性能優化。這方面加上的話你就知道寫什么項目都是業務問題了。
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是比較難的語言,不適合快速學習和部署。
強烈推薦你學習nodejs
1、已經學會javascript語言可以直接上手nodejs,畢竟學習php也是需要時間的。
2、javascript一門語言前端和后端通吃,避免與其他語言很雜寫的麻煩,一會兒寫javascript,一會兒寫php,來回切換太麻煩。
3、nodejs也是前端工程師必備技能,可以直接應聘大前端,也利于個人職業規劃。
4、建議做“T”型人才,深耕一項技能小有成就后,再學習擴展周邊技能。
10
回答3
回答0
回答0
回答0
回答5
回答0
回答0
回答10
回答2
回答