meteor的兼容性

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

  • 从我所了解的服务器和客户端之间的通信使用DDP协议/ WebSockets。 什么浏览器支持meteor?

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

  • 如果没有区别,是否有可能使用socket.io而不是原生的Meteor DDP协议/ WebSocket?

  • Meteor是否可以与Yeoman结合使用(由Paul Irish开发的工作stream框架)?

提前谢谢你!

让我们看看我能否按照他们出现的顺序来回答你的问题…

  • meteor支持所有主stream浏览器。 IE,Chrome,Safari。 请参阅上面的Rahul指针,了解IE的版本。
  • socket.io是一个消息级协议,负责发送,接收和路由消息。 相比之下,DDP(meteor的协议)是一个更高级别的协议,模拟您的数据库的部分复制到浏览器和RPC调用。 事实上,DDP 使用一个消息级别的协议: sockjs
  • 打破meteor的消息级传输,目标是实现更换,目前需要进行一些重构,并使用Meteor的源代码进行修改。 未来,消息级传输可能会更加封装,但是meteor通常会在那里提供一个合理的默认值 – 这可能会也可能不总是基于sockjs的。
  • 虽然我没有尝试过Meteor和Yeoman在一起,但他们覆盖了很多相同的地方。 两者都想为您运行您的本地networking服务器; 都有你的项目布局的意见,都可以select缩小你的JavaScript,都想要pipe理你的包(更多支持这个在meteor在开发中),都为您的应用程序提供了一个样板初始位等。我怀疑它在开发Meteor应用程序时,使用纯Meteor工作stream程要容易得多。

有一些软件包可以帮助实现普通的websocketfunction, StreamyStreamy-rooms 。 但是,networking套接字function和DDP之间有很大的区别。 DDP使用websockets,但更多。 乐观更新等事情不包括在websockets中。 此外,通过在客户端和服务器上都有一部分数据库,您不必连接套接字发射器和接收器。 这使开发更直观,更快捷。 如果您需要特定的行为,则还可以使用列出的软件包,例如,如果您不想保留对数据库的某些更改,但仍然将其发送给特定的用户。