以下为来自即时通讯云 LeanCloud官方的消息: 今天我们高兴地宣布 LeanCloud 下一代 JavaScript 实时通讯 SDK 的 3.0 beta 版本发布了!我们不仅为这一新版本(以下简称 v3)带来了性能提升,还加入了很多令人激动的新功能和改进,包括单点登录、未读消息通知、按条件查询对话、自动更新的对话和消息状态、自定义消息类型、更好的断线重连机制,以及重新设计的 API 等等。 重新设计的 API在 v3 中我们改进的重点是 SDK 的易用性,为此我们设计了全新的 API。除了一些细小的命名与特性的区别,JavaScript SDK v3 的 API 与其他平台 SDK 的 API 已经统一。随着平台差异性的减少,开发者在为各平台应用设计与实现阶段所投入的工作量也会降低。 相较于 v2,v3 API 对易用性的改进体现在以下几个方面:
自动更新的状态v2 中封装了各种操作指令与事件,但是在真实的项目中,你仍然需要额外维护一些状态,这些状态包括了:
v3 中这些状态都会由 SDK 自动更新。这将大大简化业务逻辑的代码,比如当你使用类 MV* 框架时,你可以直接将这些实例与 View 层绑定,就像下面这个使用 Angular 展示消息列表的例子一样:
Live demo: http://jsplay.avosapps.com/fuk/embed?html,js,output Promise 与异常处理所有的异步 API 将返回 Promise 实例。相比于 v2 中回调的方式,Promise 将会避免回调嵌套过深的问题,同时解决了 v2 异步操作异常被 SDK 隐藏的问题。
新的事件模型v3 中的事件 API 使用的依然是 Node.js 中 EventEmitter 的设计。与 v2 中所有事件都在
详细的事件列表与描述,请参阅 API 文档 的 Events 部分。 可扩展的消息类型系统自定义一个消息类型从来没有像现在这么简单:
Live demo: http://jsplay.avosapps.com/xor/embed?js,console 当然,这个例子中用到了继承与装饰器,你还需要 TypeScript 或者 Babel 才能运行。这里还有个 ES5 的例子 。 同时,基于 LeanCloud 存储服务,SDK 还提供了常见的富媒体消息类型(文件、图片、视频、音频、位置)。为了避免实时通讯 SDK 与存储 SDK 的耦合,这些富媒体消息类型是一个独立发布的 package,关于富媒体消息的详细内容请参阅《JavaScript 实时通信开发指南 – 富媒体消息》。 新增功能JavaScript 的 API 与其他平台 SDK 的 API 的统一意味着以下功能已得到支持: 断线重连机制SDK 的连接层也被重新设计,断线重连机制变得更加可靠,存在于 v2 中的 crash 与漏报已被消除。 除了 性能提升v3 还包含了一些底层上的改进:
从 v2 升级v3 API 不兼容 v2。对于正在使用 v2 的用户,尽管 v2 中所有的 API 在 v3 中有对应的实现(参见《JavaScript 实时通信 SDK v3 迁移指南》),我们仍然需要提醒,迁移到 v3 意味着一定的迁移成本。 此外,必须指出的是,v3 去掉了对 IE10 及以前版本的支持,如果需要兼容这部分运行环境,请继续使用 v2。在 v3 正式发布后,v2 依然会得到至少 6 个月的安全更新。 LeanCloud官网 |
来源:即时通讯网 - 即时通讯开发者社区! |