PHP與Node.js—一個史詩般開發者的分享

黄舟
發布: 2023-03-06 13:30:01
原創
3974 人瀏覽過

兩個老朋友之間最終以戰鬥的方式分開,這是經典的好萊塢情節,通常,摩擦開 始於一個人對另一個人的說話不感興趣時。在程式語言這部電影中,Node.js的引入使得朋友輕易地變成了怨恨對手:PHP和JavaScript,兩個 合作夥伴曾經一起統治互聯網,但現在卻彼此分開。

PHP與Node.js—一個史詩般開發者的分享

過 去的合作關係很簡單。 JavaScript處理瀏覽器上的細節,而PHP管理80埠和MySQL之間的所有伺服器端任務。這是一個幸福的聯盟,支援互聯 網的許多關鍵部分。在WordPress,Drupal和Facebook之間,人們幾乎在網路上的每一分鐘都有PHP的參與。

然後一些聰明的開發者發現JavaScript可以用在伺服器上。突然,沒有必要使用PHP來建構伺服器堆疊了。一種語言既可以建構Node.js,也是客戶端運行框架所需要的。 「JavaScript無所不在」成為了某些人的口頭禪。

從那時起,兩個平台都不斷地擴大和改進。 Node.js的開發人員現在可以選擇一個不斷擴充的優秀框架集合:Express,Angular,Meteor等。清單很長,最大的問題是選擇最優秀、最適合的。

PHP也加快了速度,zippy即時編譯器提供的答案比以前更快。現在的PHP 7.0和HHVM都為Chrome和Node.js提供了相同的即時優化引擎V8。不僅如此,HHVM還有一個Hack,它對諸如lambda,泛型和集合等複雜編程特性提供完全支援。

有人稱讚Node.js和JavaScript,也有人對PHP的程式碼基礎和穩定性感到滿意。 JavaScript也會和它的老朋友一起實現統治世界嗎?

PHP特點:混合程式碼

如果你想加入一個分支,一個if-then語句就可以,看起來也很漂亮。或者也許你想混合文字或資料庫中的資料。使用PHP,開啟PHP標籤,幾秒鐘就可以開始寫程式碼。不需要模板,因為一切都是模板!不需要額外的文件或精心設計的架構,只需要你的指尖程式。

Node特點:程式碼分離

混 合程式碼可能最終不是好事。雖然,這件事很有趣,但很快你的程式碼就會變的邏輯混亂。真正的程式設計師會添加結構並將基礎層與邏輯層分開。這使程式碼對新程式設計師 來說更加清晰,易於理解和維護。在Node.js上運行的框架由程式設計師構建,程式設計師知道模型,視圖和控制器分開是最好的。

PHP特性:深度程式碼庫

網路中充滿了PHP程式碼。用於建立網站(WordPress,Drupal,Joomla)的最受歡迎的平台是用PHP編寫的。不僅平台是開源的,大多數的插件也是如此。 PHP程式碼無所不在。

Node特點:更新的程式碼意味著更現代的功能

當然,有成千上萬偉大的開源PHP文件,但誰想要花幾個小時,幾天或幾一週的時間研究幾年沒有更新的程式碼呢?Node.js插件不僅更新,而且是建立在最新的架構方法上的。它們由程式設計師構建,程式設計師知道現代網路應用程式應將大部分智慧推送給客戶端。

PHP特點:簡單(排序)

PHP沒有太多的東西:一些變數和基本的函數,用來編譯字串和數字。除了將資料從80埠移動到資料庫和回來之外做的不多,PHP是一個不複雜的工作所需的。

Node特點:複雜的閉包

JavaScript可能有許多小的特性,但在大多數情況下,它是一種現代語言,運行現代語法和一些有用的功能,如閉包。你可以很容易地重新配置和擴展它,使強大的函式庫例如jQuery成為可能,你可以傳遞類似物件的函數。

PHP特點:新程式碼正在建立

如果你是程式設計師,想要做的不僅僅是與資料庫交互,而是對結果進行格式化,現在你可以使用PHP做很多事情。 Facebook的HHVM增加了對Hack 的支持,Hack是一個完整的語言,充滿了類型註釋,泛型和lambda表達式等現代特性。使用這個會限製程式碼只運行在HHVM上。

Node特點:數十種語言選項

如果PHP使用者樂意存取Hack,他們應該考慮遷移到Node.js世界,因為許多主要語言可以交叉編譯以在JavaScript中運行,如Java,C#或Lisp和Scala,OCaml和Haskell。

PHP特點:無需客戶端應用程式

在瀏覽器和伺服器上使用相同的語言是很好的,但如果你不需要在瀏覽器上使用任何語言怎麼辦?如果以HTML格式發送資料怎麼辦? 純HTML比其他任何東西都更頻繁地被使用,並且PHP已經被優化以創建它,既然如此,為什麼還要在瀏覽器上使用JavaScript?

Node特性:高效率交付的基礎

如果你願意花時間創建一個漂亮的瀏覽器端網路應用程序,Node.js經過最佳化,可透過Web服務提供資料。如果你的應用程式很複雜,數據豐富,這是高效交付的良好基礎。

PHP特性:SQL

PHP 被建構為與MySQL及其許多變體(如MariaDB)共存。如果MySQL不完全正確,還有來自Oracle和Microsoft的其他SQL資料庫。 程式碼可以對查詢進行一些更改。 一些穩定的,開發良好的程式碼將與SQL資料庫相連接,這意味著也可以輕鬆地整合到PHP專案中。

Node.js特點:JSON

不是說不能為PHP堆疊取得JSON函式庫,但使用JavaScript時,使用JSON比較簡單、靈活。它是從瀏覽器到Web伺服器到資料庫的一種語法。

PHP特點:編碼速度

對於大多數開發人員,為網路應用程式編寫PHP感覺更快:沒有編譯器,沒有部署,沒有JAR檔案或預處理器,只是你最喜歡的編輯器和一些目錄中的PHP檔案。當一個專案需要快速開發時,PHP是最好的工具。

Node.js特點:原始速度

當你算入大括號和括號時,寫JavaScript程式碼有點困難。它的核心在於精細準確。

PHP特點:內部競爭

HHVM團隊和Zend團隊正在努力為每個人提供快速程式碼。出現了獨立的基準,每個人都將程式碼推向極限,這意味著更好的效能。

Node.js特點:融合團結

你 真的想要兩個不同的程式碼庫嗎?競爭有助於發展,但碎片化很快就會出現。如果你必須花幾個星期或幾個月重寫程式碼,競爭不會有什麼好處。雖然No​​de.js在 幾年前經歷了分裂,隨著io.js的推出,Node.js的Universe已經重新統一了,它給了PHP開發人員很久以來未曾有過的語言團結。

 

以上是PHP與Node.js—一個史詩般開發者的分享的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!