回覆列表
  • 1 # 使用者8641025026719

    1、node.js 沒有內建對多執行緒/多程序的支援,使用者必須使用 cluster/child_process 等擴充套件自行實現並行。swoole 內建對多執行緒/多程序的支援,使用者僅需配置引數即可。

    Swoole 是一個 PHP 擴充套件框架,不是一門語言,為什麼要比較一個框架和另一門裸語言執行環境,還不許別人用擴充套件?

    Node.js 對應和比較的物件,應該是Apache 或 fast-CGI。

    2、node.js 僅支援非同步。swoole 同時支援同步/非同步 2 種模式。

    更何況 async/await 語法出現後,這再也不是一個問題了,你可以以同步的模式來書寫非同步程式。

    3、node.js 沒有內建通用協議處理的支援,需要自行實現程式碼。swoole 內建了通用協議處理的支援,可以藉助 swoole 提供的功能輕鬆實現。

    是,自行實現,但是隻需要幾行程式碼而已。而獲得的好處是,精確而透明地控制每個細節,比如根據 head 中的身份驗證,決定是否接收 POST 請求剩餘的 body 部分。

    4 、swoole 內建了對 TCP 心跳檢測的支援。node 無。5、swoole 2.x 內建協程。node 無。

    Node.js 支援 PHP 不支援的東西多了,怎麼不提。隨便說一個,PHP 裡物件屬性名不能是空字串(我記得會自動變成類似 empty 的字串屬性名),parse 時差點暈倒。用關聯陣列,又無法區分進行 stringify 了。

    哪怕二者一模一樣,也沒有道理要求其中一個消失吧……

    更何況 JS 的語法比 PHP 方便太多了,我是 PHP 入伺服器程式設計的坑的,很多年後終於忍無可忍,Node.js 誕生時簡直像看到了曙光。

    但是,哪怕 PHP 一塌糊塗,這也不是反過頭來黑 PHP 的理由。PHP 在我們最困難的時候幫助過我們,他是我們的老朋友。現在他老了,若是有空了,開啟以前的程式碼,回去看看他。

  • 中秋節和大豐收的關聯?
  • 歌詞裡有我愛的他心碎?