【发布时间】:2013-07-31 21:49:44
【问题描述】:
MessagePack官方页面链接到该页面:
但它的最后一次更新是三年前。另一方面,在 JavaScript 中还有其他 MessagePack 的实现,例如:
它们之间有什么区别?哪一个是最正宗的?我应该使用哪一个?
【问题讨论】:
MessagePack官方页面链接到该页面:
但它的最后一次更新是三年前。另一方面,在 JavaScript 中还有其他 MessagePack 的实现,例如:
它们之间有什么区别?哪一个是最正宗的?我应该使用哪一个?
【问题讨论】:
从技术上讲,https://github.com/msgpack/msgpack-javascript 是用于 JavaScript 的 msgpack 的官方 MessagePack 实现。使用句柄“uupaa”的开发人员编写了它的实现。他已经有一段时间没有碰过代码了。
我有一个未完成的拉取请求,它修复了我希望他在某个时候实施的地图处理问题。不过,除此之外,我使用这个库没有任何问题。
我决定不使用creationix 的解决方案的原因是它在msgpack 规范中添加了特定于JS 的扩展。扩展与其他 msgpack 实现不兼容。
【讨论】:
也许你应该试试https://github.com/creationix/msgpack-js;这是最近几个月唯一更新的。我还在研究 MessagePack 的客户端 javascript 库,但我不确定要使用哪一个;它们看起来都像是合适的实现,所以我必须对它们进行测试。
【讨论】:
来自 msgpack.org 网站,我只知道一个 JavaScript 实现,即 kawanet 的 msgpack-lite。不过,它不支持 DateTime 扩展,所以我继续制作自己的库。它非常小,几乎一样快。它也完全支持官方 MessagePack 规范,仅此而已。如果您愿意,可以尝试一下:https://github.com/ygoe/msgpack.js 我自己将它与服务器端的 C# 库结合用于 WebSocket 通信。
(免责声明:我是链接库的作者。)
【讨论】:
我已经重新开始维护https://github.com/msgpack/msgpack-javascript
,以@msgpack/msgpack 发布,在 TypeScript 中使用全新的代码库,针对浏览器或纯 ECMA-262 JavaScript 引擎进行了优化,采用了新的 ES 功能,如 whatwg-stream、AsyncIterator 等。
我希望它能消除混乱。
【讨论】: