這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。
go:
Golang的誕生有著很強的目的性,所以根基顯得非常的沉穩,語言未來針對高效能,高並發的最佳化也更得心應手。更主要Golang可以切實的解決實際問題,並在記憶體與CPU使用上大幅優於node。為此,針對有大量請求的服務端,Golang是個不錯的選擇。
從大型工程的角度來說,go 是完爆 Node 的。效能,記憶體開銷,靜態類型,對非同步處理,異常的處理,可調試性,系統穩定度,工具鏈的成熟度等級,等等,都是 go 佔優。
Go的目標是希望提升現有程式設計語言對程式庫等依賴性(dependency)的管理,這些軟體元素會被應用程式反覆調用。由於存在並行編程模式,因此這一語言也被設計用來解決多處理器的任務。使用Go編譯的程式可以媲美C或C++代碼的速度,而且更加安全、支援並行進程。
Node.js
Node 在依賴處理方面更好,npm 對依賴版本的管理 (go 的依賴不能指定版本,還需要藉助非官方的工具)非常優秀,另外 Node 社區的活躍度要比 go 好。
Node 在做網站這方面,尤其是需要直接面向使用者的 http 伺服器這方面,有一個天然的優勢,那就是前後端的語言統一。一方面可以減少切換語言的腦力成本,提高開發人員的效率,另一方面可以實現前後端共用模板,從而實現首屏伺服器渲染,局部更新瀏覽器渲染的架構,提高首屏的載入速度。
如果你做的網站後台就是個簡單的 CRUD 應用,或者是做產品原型,或者你同時還想兼顧前端,Node 會是更好的選擇;但如果你的後台很複雜,需要區分各種服務,搞資料分析,分布式叢集等等,那絕對是選 go。
本文來自:CSDN部落格
感謝作者:qizhiqq
查看原文:go和node.js的對比
查看原文:http://www.zoues.com/2016/10/20/golang%e8%af%ad%e8%a8%80%e5%92%8cnode-js%e7%9a%84%e5%af%b9%e6%af%94/