PHP vs Node.js
網(wǎng)絡(luò)正在處于一個(gè)日新月異的發(fā)展時(shí)代。服務(wù)器端開發(fā)人員在選擇語言的時(shí)候非常困惑,有長(zhǎng)期占主導(dǎo)地位的語言,例如C、Java和Perl,也有專注于web開發(fā)的語言,例如Ruby、Clojure和Go。只要你的項(xiàng)目運(yùn)行良好,你的選擇就顯得沒有那么重要了。
但是如何讓這些新的web開發(fā)人員做出一個(gè)正確的選擇呢?
我不希望展開一場(chǎng)PHP、NodeJs兩大陣營(yíng)之間的戰(zhàn)爭(zhēng),我將會(huì)對(duì)比這兩種語言所在領(lǐng)域的發(fā)展?fàn)顩r:
PHPRasmus Lerdorf在1994年創(chuàng)造出了PHP。它是由安裝在web服務(wù)器(Apache、Ngix)上的組件運(yùn)行的。
PHP代碼可以和HTML混合到一塊。 對(duì)于初學(xué)者就能很快寫出很有價(jià)值的代碼,這并不需要太多的練習(xí)。 這讓PHP變得越來越流行, 現(xiàn)在全球百分之八十的服務(wù)器上都在運(yùn)行著PHP。全球四分之一的網(wǎng)站都在用的一個(gè)內(nèi)容管理系統(tǒng)--WordPress,就是用PHP寫的。
Node.jsRyan Dahl在2009年創(chuàng)造了Node.js。它是基于Google的V8 JavaScript解釋引擎(在Chrome瀏覽器里它負(fù)責(zé)執(zhí)行客戶端的JavaScript代碼)。與其它語言不同的是Node.js內(nèi)置了處理網(wǎng)絡(luò)請(qǐng)求和響應(yīng)的函數(shù)庫(kù),所以你不需要單獨(dú)的服務(wù)器(Apache、Ngix)或者其他依賴。
Node.js雖然很新但是很快就獲得了極大的追捧。在很多的大公司都有在使用,例如:Microsoft,Yahoo,LinkedIn和PayPal。
我們所鐘愛的C#、Java、Ruby、Python、Perl、Erlang、C++、Go、Dart、Scala、Haskell等等,它們呢?如果文章里邊比較了如上所有語言的各種參數(shù),文章將會(huì)非常長(zhǎng),你還會(huì)讀它么?你期望一個(gè)程序員了解所有的程序開發(fā)語言嗎?這顯然是不可能的。我主要對(duì)PHP和Node.js做了比較,主要原因如下:
首先它們之間值得比較。兩者都是開放源碼,都是致力于web開發(fā),并且都可用于相似的項(xiàng)目。
PHP已經(jīng)發(fā)布了很久了,但是Node.js才剛剛興起,并受到越來越多的關(guān)注。難道PHP的程序員應(yīng)該相信Node.js的宣傳?應(yīng)該考慮轉(zhuǎn)換語言?
我了解,熱愛編程語言,自從20世紀(jì)90年代之后我就一直使用PHP和JavaScript,并且也有幾年的Node.js的經(jīng)驗(yàn)。除此之外我也涉獵了其他的技術(shù),但是在這里我還不能對(duì)他們作出客觀評(píng)價(jià)。
另外,對(duì)多少語言做比較不重要,因?yàn)榭倳?huì)有某些地方的某些人抱怨我沒有提到他們語言。
SitePoint上的角逐程序員會(huì)花費(fèi)很多時(shí)間來提升他們自己的編程能力。一些人有編程語言之間的延伸能力,但是這些達(dá)到更高層次的人根據(jù)很多的因素來做出他們自己的選擇。從主觀方面來說,你將會(huì)推進(jìn)并且捍衛(wèi)你的技術(shù)決策。
SitePoint Smackdowns并沒有采取“選擇適合你自己的,朋友”這樣的觀點(diǎn)。我將會(huì)根據(jù)個(gè)人的經(jīng)驗(yàn)、要求和喜好提出建議。你可能不會(huì)同意所有的我所說的所有觀點(diǎn),這并不重要,重要的是你的意見將會(huì)給其他人做出更加明智的選擇。
評(píng)估方法下面將會(huì)對(duì) PHP 和 Node.js 進(jìn)行十個(gè)輪次的比較。每個(gè)回合都會(huì)考量可以應(yīng)用到任意 web 技術(shù)的常見的開發(fā)挑戰(zhàn)。我們不會(huì)太深入討論細(xì)節(jié);很少有人會(huì)關(guān)心隨機(jī)數(shù)生成器或數(shù)組排序的價(jià)值。
贏得最多回合的將會(huì)是優(yōu)勝者。準(zhǔn)備好了嗎?開始較量吧。。。。。。
第一輪:起步創(chuàng)建一個(gè)“Hello World” web 頁(yè)面有多快呢?在 PHP 中:
<?php echo 'Hello World!';?>
相關(guān)文章:
1. php測(cè)試程序運(yùn)行速度和頁(yè)面執(zhí)行速度的代碼2. ASP中常用的22個(gè)FSO文件操作函數(shù)整理3. 三個(gè)不常見的 HTML5 實(shí)用新特性簡(jiǎn)介4. Warning: require(): open_basedir restriction in effect,目錄配置open_basedir報(bào)錯(cuò)問題分析5. ASP調(diào)用WebService轉(zhuǎn)化成JSON數(shù)據(jù),附j(luò)son.min.asp6. SharePoint Server 2019新特性介紹7. React+umi+typeScript創(chuàng)建項(xiàng)目的過程8. 無線標(biāo)記語言(WML)基礎(chǔ)之WMLScript 基礎(chǔ)第1/2頁(yè)9. ASP.NET Core 5.0中的Host.CreateDefaultBuilder執(zhí)行過程解析10. php網(wǎng)絡(luò)安全中命令執(zhí)行漏洞的產(chǎn)生及本質(zhì)探究
