workerman和swoole都是php socket 伺服器框架,都支援長連線、tcp和udp、websocket、非同步、分散式部署等
#workerman純php寫的,swoole是php的c擴展,性能肯定更高,百度、騰訊不少產品的server就是基於swoole的
workerman上手更快,文檔更豐富,社區活躍,社區基本上做到有問必答。 (建議學習: workerman教學)
效能上Swoole畢竟是C語言開發的,在某些地方如記憶體管理、資料結構、通訊協定解析上肯定要比PHP開發的workerman高。
功能上swoole提供的高階特性很多,列舉幾個workerman沒有的吧,例如SSL/TLS隧道加密、http2.0、非同步mysql驅動、異步redis驅動、異步的http/websocket客戶端、process、lock、atomic、table。另外Swoole 2.0內建了PHP原生協程的支持,PHP程式碼也可以使用類似Go語言的協程來實現高並發的網頁伺服器。
外部依賴上workerman需要依賴許多額外的第三方PHP擴充來實現,限制比較大,這些擴充並非是PHP官方維護的,維護性方面良莠不齊,有些擴充連PHP7都不支持,數年沒人維護。而Swoole基本上無依賴,底層的程式碼全部可控。
開發維護方面,Swoole的開發團隊目前有大概18人左右,開發者基本上都是來自騰訊、百度、阿里、滴滴、微博等國內一線互聯網企業,支持維護的團隊更穩定。
當然workerman的優勢是它完全使用PHP程式碼實現,開發者可以直接看它的原始碼。有特殊需求也可以直接改源碼來實現。如果換成swoole就不是那麼簡單了。
workerman做的事情更多一些,即框架又是工具和完整的解決方案,對於沒有太多後端程式設計功底的程式設計師也來說確實會容易很多。
而swoole其實只是一個底層函式庫,不是拿來可用的完整產品,基於swoole有很多PHP的框架和程序,例如tsf、zan php framework、hprose-swoole、zphp、swoole/framework、 blink、dorarpc、SwooleDistributed等等,一般開發者可以直接基於這些專案來開發。
Swoole是給高手用的,門檻比較高,需要使用者有深厚的功底。你在這裡問的哪個比較容易開發,這個沒辦法回答,這個要看你要開發什麼、團隊或個人的實際狀況如何,合適的才是最好的。
以上是workerman和swoole的差別的詳細內容。更多資訊請關注PHP中文網其他相關文章!