PHP與Node.js

來源:互聯網
上載者:User
Node.js是一個基於Chrome JavaScript運行時建立的平台, 用於方便地搭建響應速度快、易於擴充的網路應用。Node.js 使用事件驅動, 非阻塞I/O 模型而得以輕量和高效,非常適合在分布式裝置上啟動並執行資料密集型的即時應用。

過 去的合作關係很簡單。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特點:編碼速度

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

Node.js特點:原始速度

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

PHP特點:內部競爭

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

Node.js特點:融合團結

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

以上內容就是PHP與Node.js之間的知識分享,希望能協助到大家。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.