14

我正在考虑使用 Meteor 来创建我的下一个应用程序,但我之前有几个问题。

  • 据我了解,服务器和客户端之间的通信使用 DDP 协议/WebSockets。哪些浏览器支持 Meteor?

  • Meteor 通信协议和 socket.io 有什么区别?

  • 如果没有区别,是否有可能使用 socket.io 代替本机 Meteor DDP 协议 / WebSockets ?

  • Meteor 可以与 Yeoman(Paul Irish 开发的工作流框架)结合使用吗?

非常感谢您!

4

2 回答 2

22

让我们看看我是否可以按照它们出现的顺序回答你的问题......

  • Meteor 支持所有主流浏览器。IE、Chrome、Safari。有关 IE 的版本,请参见上面 Rahul 的指针。
  • socket.io是一个消息级协议,负责发送、接收和路由消息。相比之下,DDP(Meteor 协议)是一个更高级别的协议,它模拟了将数据库部分复制到浏览器和 RPC 调用。实际上,DDP在幕后使用了消息级协议:sockjs.
  • 打破 Meteor 的消息级传输以实现插入式替换目前需要进行一些重构,并且需要对 Meteor 的源代码进行修改和弄脏。将来,消息级传输可能会更加封装,但 Meteor 通常会在那里提供一个合理的默认值——这可能是也可能不是总是sockjs基于 - 的。
  • 虽然我没有同时尝试过 Meteor 和 Yeoman,但它们涵盖了很多相同的领域。两者都想为您运行本地网络服务器;两者都对您的项目布局有意见,都可以选择缩小您的 javascript,都想管理您的包(Meteor 中对此的更多支持正在开发中),都为您的应用程序提供初始样板等。我怀疑它在开发 Meteor 应用程序时,使用纯 Meteor 工作流程会容易得多。
于 2012-12-24T18:14:45.687 回答
0

有一些包可以帮助实现普通的 websocket 功能 -Streamy并且Streamy-rooms浮现在脑海中。但是 Web 套接字功能和 DDP 之间存在很大差异。DDP 使用 websockets,但更多。websockets 中不包含诸如乐观更新之类的东西。此外,通过在客户端和服务器上都有一部分数据库,您不必连接套接字发射器和接收器。这使得开发更加直观和快速。如果您想要该特定行为,您还可以使用列出的包,例如,如果您不想将某些更改保留到数据库但仍要将它们发送给特定用户。

于 2015-10-19T00:21:49.267 回答