2011-08-19 86 views
6

我想創建一個聊天應用程序,它將使用php/codeigniter來執行視圖和用戶界面。我一直在閱讀大量推薦node.js或socket.io的stackoverflow上的帖子。然而我也碰到過APE(Ajax Push Engine)。我對這兩者都不甚瞭解,並在想知道該用哪個。聊天應用程序:node.js或APE?

我在node.js上閱讀了很多關於它的好東西,但關於它的主要問題是它比較新,而且沒有太多真實世界的網站測試/使用它。

另一方面,APE呢。它看起來與node.js類似。但就像我說的,我不知道要選哪一個。

哪一個更適合創建聊天應用?

謝謝!

+0

Discalators:我已經使用了socket.io/node(以及socket.io/Tornadio)的許多項目,但從未使用過APE。就創建聊天應用程序而言,「更好」,他們都是完美的能力。正如我所看到的,socket.io功能更強大一些(例如,它利用WebSockets),而APE則更加穩定(在過去一個月中,socket.io的API已經發生了根本性的變化)。在此處查看更多信息:http://stackoverflow.com/questions/6513367/what-are-the-main-differences-between-ape-and-node-js –

回答

2

像你一樣,我不熟悉APE,但是node.js上的socket.io帶有chat app as it's main example app

確實,目前沒有很多站點使用Node.js。然而,Socket.io可能被認爲是Node的'殺手應用程序',因此它有相當多的談話/工作。

我假設APE有穩定的API,但是,哪個socket.io可能不一定有 - 例如,0.7版本是一個相當廣泛的API更改更新。發佈socket.io spec時可能會發生這種情況的次數較少。

+0

在我看到您的評論...之前寫了這篇文章...仍然相關儘管如此,我想。 socket.io規範的出版物表明它變得更加穩定,甚至可以朝多個服務器實現方向發展,然而這有點推測。 – Stoive

+0

在使用node.js時,我應該幾乎總是使用socket.io? – Derek

+1

不,如果我需要將'推送'功能集成到某個東西中,我會努力將Node.js + Socket.io與任何已存在的後端(PHP/.NET/JSP /其他)使用。例如,我嘗試用.NET找到一些東西,並得出結論,我最好用套接字創建一個「套接字」層。io – Stoive

6

我玩了一點node.js,嘗試了socket.io - 但最終做了一個APE的大項目。

我認爲,一如既往地存在着你想達到的目標。只比較服務器部分:使用node.js,您將得到一臺本身不會執行任何操作的機器,您需要自己編寫它(或使用庫)使用APE,通道和連接的處理已經內置(已編譯C)。仍然需要用JS構建自己的邏輯部分 - 或者使用示例。

在客戶端,socket.io提供了三個命令一個客戶端框架 - 和APE有它APE_JSF處理該連接(這比socket.io有關渠道帶來了更多的功能)

就個人而言,我更喜歡APE即使缺乏初學者的文檔。但是請記住,APE不會提供文件/圖像,它不是一個完整的Web服務器,但是它可以處理〜10K併發用戶的實時推送優化。

+0

我一直在關注你的帖子,看起來你並沒有閱讀node.js支持本地C/C++模塊以及它們很難寫,我承認它們很難找到,但在C中的MongoDB BSON解析器是一個很好的例子本地節點如何獲得 – ShrekOverflow

+1

我同意APE比NodeJS穩定得多,但令人困惑的文檔需要升級,否則新開發人員不會樂意使用它。 – ShrekOverflow

+0

你對這兩個意見都是正確的:除了編寫JS 之外,我沒有深入研究node.js選項而且APE文檔缺少一些東西,很難進入主題 但是,一旦你掌握了它,你可以用它印象深刻的事情。 你仍然可以實現與節點相同,我只是認爲當談到純粹的性能(> 10K用戶)節點會得到它的問題 – Xosofox