对MessagePack的JavaScript实现的困惑

时间:2013-07-31 11:34:17

标签: javascript messagepack

官方MessagePack页面链接到页面:

但它的最后更新是三年前。另一方面,JavaScript中还有其他MessagePack实现,例如:

他们之间有什么不同?哪一个是最正宗的?我应该使用哪一个?

4 个答案:

答案 0 :(得分:5)

从技术上讲,https://github.com/msgpack/msgpack-javascript是msgpack for JavaScript的官方MessagePack实现。通过句柄“uupaa”的开发人员编写了它的实现。他有一段时间没有接触过这段代码。

我有一个突出的拉取请求,修复了我希望他在某个时候实现的地图处理问题。但是,除此之外,我使用这个库没有任何问题。

我决定不使用creatix的解决方案的原因是因为它为msgpack特定添加了JS特定的扩展。这些扩展与其他msgpack实现不兼容。

答案 1 :(得分:2)

也许你应该试试https://github.com/creationix/msgpack-js;它是过去几个月中唯一更新的。我也在研究MessagePack的客户端javascript库,我不确定哪一个也可以使用;它们看起来都是合适的实现,所以我只需要对它们进行测试。

答案 2 :(得分:1)

来自msgpack.org网站,我只知道kawanet的一个JavaScript实现,即msgpack-lite。但是,它不支持DateTime扩展,所以我继续制作自己的库。它很小,几乎一样快。它也完全支持正式的MessagePack规范,仅此而已。如果您愿意,可以尝试一下:https://github.com/ygoe/msgpack.js我自己在服务器端使用C#库与WebSocket通信结合使用。

(免责声明:我是链接库的作者。)

答案 3 :(得分:0)

我已经重新开始维护https://github.com/msgpack/msgpack-javascript  ,以@msgpack/msgpack的形式发布,在TypeScript中具有全新的代码库,针对浏览器或纯ECMA-262 JavaScript引擎进行了优化,并采用了诸如whatwg-stream,AsyncIterator等新的ES功能。

我希望清除混乱。