国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

多方位解析PHP vs Node.js之爭(zhēng)

瀏覽:3日期:2022-09-13 15:17:58

PHP vs Node.js 之爭(zhēng)由來(lái)已久,前者用于動(dòng)態(tài)網(wǎng)頁(yè)開(kāi)發(fā),后者是用來(lái)編寫(xiě)高性能網(wǎng)絡(luò)服務(wù)器的 JavaScript 工具包,到底他們?nèi)绾危縄nfoWorld 測(cè)試中心的 Peter Wayner 日前撰文指出兩者的優(yōu)勢(shì)所在,不妨一看。

多方位解析PHP vs Node.js之爭(zhēng)

以下為譯文:

這是典型好萊塢情節(jié):分道揚(yáng)鑣的兩位老朋友間的戰(zhàn)斗。摩擦經(jīng)常開(kāi)始于一位對(duì)另一位不言而喻的領(lǐng)域感興趣。這部電影的編程語(yǔ)言版本是 Node.js 的引入將好友情節(jié)變成一場(chǎng)旗鼓相當(dāng)?shù)谋荣悺HP 和 JavaScript,兩個(gè)曾經(jīng)一起統(tǒng)治互聯(lián)網(wǎng)的合作伙伴現(xiàn)在為了開(kāi)發(fā)者心中的份額開(kāi)始一決雌雄。

在過(guò)去,他們的合作關(guān)系很簡(jiǎn)單。JavaScript 處理瀏覽器上的小細(xì)節(jié),PHP 處理所有的存在于 80 端口和 MySQL 的服務(wù)器端任務(wù)。這個(gè)幸福的聯(lián)合不斷支持著因特網(wǎng)的許多關(guān)鍵部分。在 WordPress、Drupal 和 Facebook 上,人們幾乎不會(huì)離開(kāi) PHP 一分鐘。

但是,后來(lái)一些聰明的孩子發(fā)現(xiàn)他能使 JavaScript 運(yùn)行在服務(wù)器上。突然,我們發(fā)現(xiàn)沒(méi)必要使用 PHP 構(gòu)建下一代服務(wù)器棧了。一種語(yǔ)言就足夠建立 Node.js 和運(yùn)行在客戶端的框架。對(duì)一些人來(lái)說(shuō),“JavaScript 無(wú)處不在”變成了咒語(yǔ)。

當(dāng)然,結(jié)局并沒(méi)有寫(xiě)完。相比較與吹噓 Node.js 的純粹和 JavaScript 無(wú)處不在的簡(jiǎn)單的程序員,還有另外的程序員,他們對(duì)深度代碼庫(kù)和了解 PHP 的穩(wěn)定性感到滿意。怪老頭能夠擊退服務(wù)器端新貴嗎?JavaScript 能推翻它的老朋友,實(shí)現(xiàn)統(tǒng)治世界嗎?我們?cè)谖⒉t里再抓一把爆米花,坐下來(lái)瞧瞧。

PHP 贏在何處:混合內(nèi)容的代碼

你正在打字,想法隨之變成你網(wǎng)站中的文本。你想為進(jìn)程添加一個(gè)分支,根據(jù) URL 的一些參數(shù),一點(diǎn) if-then 語(yǔ)句就會(huì)使它看起來(lái)漂亮。或者可能你想從數(shù)據(jù)庫(kù)中加入文本或數(shù)據(jù)。用 PHP,你能打開(kāi) PHP 魔法標(biāo)簽在幾秒內(nèi)開(kāi)始編寫(xiě)代碼。不需要模板——一切都是一個(gè)模板。不需要額外的文件或者煞費(fèi)苦心的體系結(jié)構(gòu),因?yàn)榭删幊踢壿嬆芰烤驮谀愕闹讣狻?/p>

Node 贏在何處:分離的內(nèi)容

混合內(nèi)容的代碼是拐杖,最終會(huì)使你受到損害。當(dāng)然,在最初的兩到三次,混合 HTML 代碼是有趣的。但是不久,你的代碼庫(kù)亂成一團(tuán)。真正的程序員添加結(jié)構(gòu),從邏輯層分離出裝飾層。對(duì)新的程序員來(lái)說(shuō),代碼很容易理解清楚,便于維護(hù)。運(yùn)行在 Node.js 的框架由這樣的程序員所建,他們知道當(dāng)模型,視圖和控制器分離時(shí),生活會(huì)變得更好。

PHP 贏在何處:深的代碼庫(kù)

網(wǎng)絡(luò)充滿了 PHP 代碼。最受歡迎的構(gòu)建網(wǎng)站平臺(tái)(WordPress、Drupal 和 Joomla)都是用 PHP 編寫(xiě)。不僅這些開(kāi)源平臺(tái),大部分他們插件也是用 PHP 編寫(xiě)。網(wǎng)上到處有 PHP 代碼,它等著你去下載、修改和為你所用。

Node 贏在何處:新的代碼意味著更多現(xiàn)代特征

當(dāng)然,網(wǎng)上有數(shù)以千計(jì)的開(kāi)源 PHP 文件,但是一些是 8 歲的 WordPress 插件希望、祈禱有人下載它們。有誰(shuí)愿意去花費(fèi)幾個(gè)小時(shí)、幾天或者是幾周的時(shí)間去倒騰那些已經(jīng)好幾年沒(méi)有更新的代碼?Node.js 插件不僅是新的,而且用最新體系的完整知識(shí)構(gòu)建而成。

PHP 贏在何處:簡(jiǎn)單(在一定程度上)

PHP 中沒(méi)有太多的東西:幾個(gè)處理字符串、數(shù)字的變量和基本函數(shù)。它除了把數(shù)據(jù)從 80 端口移動(dòng)到數(shù)據(jù)庫(kù)并返回,不會(huì)做的太多。這是應(yīng)該做的。現(xiàn)代數(shù)據(jù)庫(kù)是個(gè)神奇的工具,它能離開(kāi)重的負(fù)載。對(duì)不應(yīng)該復(fù)雜工作,PHP 的復(fù)雜度是適量的。

Node 贏在何處:閉包和更多的復(fù)雜性

JavaScript 可能會(huì)有許多把一些人逼瘋的小特質(zhì)。但在大多數(shù)情況下,它是一個(gè)娛樂(lè)現(xiàn)代語(yǔ)法的現(xiàn)代語(yǔ)言,有幾個(gè)有用的特征,比如閉包。你能容易地重新配置和拓展它,使強(qiáng) 大的函數(shù)庫(kù)像 jQuery 成為可能。你能像傳遞對(duì)象一樣四處傳遞函數(shù)。為什么限制你自己呢?

PHP 贏在何處:不需要客戶端應(yīng)用程序

所有的關(guān)于在瀏覽器和服務(wù)器上使用相同的語(yǔ)言的討論是好的,但是如果你不需要在瀏覽器上使用任何語(yǔ)言呢?如果你運(yùn)送 HTML 表單中數(shù)據(jù)呢?瀏覽器彈出,不會(huì)出現(xiàn)被未啟動(dòng)的 JavaScript 造成的令人頭疼的事情和小故障,這個(gè) JavaScript 試圖在瀏覽器上創(chuàng)建一個(gè)來(lái)自二十多個(gè) web 服務(wù)調(diào)用的頁(yè)面。純粹的 HTML 比其他東西工作更頻繁,而 PHP 是最優(yōu)化去創(chuàng)建 HTML。為何費(fèi)心在瀏覽器上用 JavaScript 呢?在服務(wù)器上建立所有操作,避免小手機(jī)上的小瀏覽器重載。

Node 贏在何處:與 HTML-fat PHP 調(diào)用相對(duì)的瘦服務(wù)調(diào)用

雖然 AJAX-crazy HTML5 Web 應(yīng)用程序有許多移動(dòng)部件,他們很酷,非常有效。一旦 JavaScript 代碼在瀏覽器緩存中,新數(shù)據(jù)沿著線路移動(dòng)。這沒(méi)有大量的 HTML 標(biāo)記語(yǔ)言,不重復(fù)地去下載整個(gè)頁(yè)面。只有數(shù)據(jù)改變了。如果你愿意投入時(shí)間創(chuàng)建一個(gè)平滑的瀏覽器端 Web 應(yīng)用程序,這將會(huì)有不錯(cuò)的報(bào)酬。Node.js 是最優(yōu)化地去傳送數(shù)據(jù),僅僅只有數(shù)據(jù)通過(guò) Web 服務(wù)。如果你的應(yīng)用程序是復(fù)雜而又?jǐn)?shù)據(jù)豐富的,這將是有效傳送的良好基礎(chǔ)。

PHP 贏在何處:SQL

PHP 與 MySQL 和它的許多變體,比如 MariaDB。如果 MySQL 不全是正確的,還有其他的來(lái)自 Oracle 和 Microsoft 的偉大的 SQL 數(shù)據(jù)庫(kù)。你的代碼用很少的改變就能轉(zhuǎn)換成你的查詢。廣闊的 SQL 世界沒(méi)邊界。一些最穩(wěn)定,成熟的代碼與 SQL 數(shù)據(jù)庫(kù)連接,意味著所有力量也能容易地被整合到 PHP 項(xiàng)目中。它可能不是完美幸福的家庭,但它是大的。

Node.js 贏在何處:JSON

如果你必須接入 SQL,Node.js 的函數(shù)庫(kù)可以做到。但 Node.js 也有 JSON,一個(gè)與許多最新 NoSQL 數(shù)據(jù)庫(kù)交互的通用語(yǔ)言。這并不是說(shuō)你不能為你的 PHP 棧獲得 JSON 庫(kù),但當(dāng)使用 JavaScript 時(shí)有些流體可使用 JSON 的簡(jiǎn)單性去處理。這是從瀏覽器到 Web 服務(wù)器,再到數(shù)據(jù)庫(kù)的語(yǔ)法。冒號(hào)和花括號(hào)在每處的作用相同,這節(jié)約了你的時(shí)間。

PHP 贏在何處:編碼速度

對(duì)大多數(shù)開(kāi)發(fā)者,編寫(xiě) PHP Web 應(yīng)用程序感到更快:沒(méi)有編譯器,沒(méi)有部署,沒(méi)有 JAR 文件或者預(yù)處理器——僅僅是你喜歡的編輯器和一些 PHP 文件目錄。你的進(jìn)度會(huì)不同,但就一起迅速確定項(xiàng)目而論,PHP 是一個(gè)很好用的工具。

Node.js 贏在何處:原始速度

編寫(xiě) JavaScript 代碼的過(guò)程中,當(dāng)你在計(jì)算花括號(hào)和圓括號(hào)時(shí),它有點(diǎn)難,但是編寫(xiě)成功后,你的 Node.js 代碼可以飛。它的回調(diào)機(jī)制很巧妙,因?yàn)槟軒湍愎?jié)約運(yùn)行線程的時(shí)間。核心被建好,旨在為你做一切,這不是每個(gè)人想要的嗎?

英文原文:PHP vs. Node.js: An epic battle for developer mind share

標(biāo)簽: PHP
相關(guān)文章:
主站蜘蛛池模板: 日本精品99| 免费成年网 | 国产亚洲女在线精品 | 国产午夜a理论毛片在线影院 | 精品久久久中文字幕二区 | 亚洲精品欧洲一区二区三区 | 天堂mv亚洲mv在线播放9蜜 | 免费一级a毛片在线播放视 免费一级α片在线观看 | 亚洲午夜a | 欧美日本一区亚洲欧美一区 | 欧美视频在线观 | 中文字幕乱码中文乱码综合 | 欧美一级在线观看 | 亚洲午夜片子大全精品 | 亚洲www视频 | 国产精品91在线 | 暖暖在线精品日本中文 | 中文字幕日韩在线 | 欧美黑人性xxx猛交 欧美很黄视频在线观看 | 成人精品免费视频 | 俄罗斯三级毛片 | 国产精品亚洲午夜不卡 | 美女张开腿 | 欧美成人性色xxxxx视频大 | 国产精品99久久久 | 欧美一级毛片兔费播放 | 久久精品国产400部免费看 | 就草草在线观看视频 | 韩国激情啪啪 | 日韩在线一区二区 | 日本特级黄毛片毛片视频 | 日本久久99 | 成人亲子乱子伦视频 | 纯欧美一级毛片_免费 | 日韩三级视频在线观看 | 久久久国产一区二区三区丝袜 | www.精品 | 国产视频亚洲 | 男人女人真曰批视频播放 | 正在播放国产一区 | 免费观看久久 |