APE和Node.js之间的主要区别是什么?

7

有没有使用过这两个的人可以分享一下经验?它们之间的主要区别是什么,你更喜欢哪一个?谢谢。


3
Node.js和APE是截然不同的东西,它们不能直接进行对比。 - Raynos
3个回答

7

Socket.io与APE的区别:

  • socket.io使用javascript(node.js)编写,而APE使用C编写。我认为这是一个很大的区别,当你想要贡献代码时。也许是因为你喜欢这个项目,或者是因为你想要更多的功能。我认为,由于你会编程Javascript,所以更容易贡献Socket.io代码,因为根据很多人的说法,Javascript更容易理解(我同意,虽然C语言也非常棒)。
  • 我认为,与APE相比,socket.io支持更多的浏览器/传输方式,但我不确定。请参考Socket.io信息和APE页面上的信息:

APE Server是一个Comet服务器,实现了HTTP协议的POST和GET方法。它不能替代常规Web服务器(例如Apache、Lighttpd或Nginx),但APE服务器仅用于AJAX Push。

因此,我想APE支持的传输方式比socket.io少。


就像Raynos所说,很难比较这两个产品,我认为你应该先试用它们两个,然后再决定哪一个更适合你。

Socket.io/APE的相同点:

  • 你可以使用Javascript编写与服务器通信的代码。我认为,使用socket.io会更自由,因为所有内容都通过Javascript公开。

经验:

我只有使用socket.io的经验,我非常喜欢它。


APE不支持Windows系统。这意味着如果您在Windows上开发项目,您必须在虚拟机中安装Linux或使用其他操作系统。 - vee

3
在使用 Node.js 进行开发一段时间后,我不能说 APE 比 Node.js 更好。根据纯粹的流行度,Node.js 可能是开发者们的首选 -- 而且 Node.js 似乎也更加通用。
Node 本质上就是让你创建一个完整的 HTTP 或 TCP/IP。所以,所有的 MIME 类型处理、数据缓存、响应头和服务器端路由都需要用代码实现。Node 还支持流式传输。目前我不确定这是否比正常的 Ajax 长轮询问题少。
通过搜索引擎,我发现人们认为 APE 更像一个普通的推送服务器,其中 Comet 功能已经存在并可以供使用,而 Node 则要求你自己编写功能。但不要害怕使用 Node 编写自己的代码,他们有非常全面的文档,并且他们的方法非常容易学习。我只花了几分钟就编写出了一些重要的功能。
还可以查看这个链接:http://groups.google.com/group/nodejs/browse_thread/thread/9d9b301479851b1f?pli=1

3
我玩过一点node.js,试用了socket.io - 但最终使用APE完成了一个大型项目。
我认为,像往常一样,问题在于你想要实现什么目标。 仅比较服务器部分:使用node.js可以得到一个不会自动执行任何任务的机器,需要自己编写(或使用库)。 使用APE,频道和连接的处理已经内置(编译C)。尽管您仍需要基于JS构建自己逻辑的部分-或使用示例。
在客户端方面,socket.io提供了一个带有三个命令的客户端框架,APE具有其APE_JSF来处理连接(在通道方面比socket.io提供更多功能)
个人而言,我更喜欢APE,尽管对于初学者缺乏文档。 但是,请记住,APE不会传输文件/图像,它不是完整的Web服务器,而是针对实时推送进行优化,可以处理约10K并发用户。

他们声称达到了约10万个并发用户。不过,我也同意你的看法,文档真的很烂。我有关于在我的应用程序中使用APE的帖子,但我不知道该如何入手。请通过这个链接帮忙给我一些建议:http://stackoverflow.com/questions/8719755/how-to-hook-up-the-http-streaming-server-ape-ajax-push-engine-to-a-computation - Peter Lee

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接