http://www.ox-holdings.com

promise写起来确实更加优美,用于开发iOS版即时通讯客户端

摘要即时通讯云 LeanCloud 下一代 JavaScript 即时通讯 SDK 的 3.0 beta 版本发布了!以下为来自即时通讯云 LeanCloud官方的消息:今天我们高兴地宣布 LeanCloud 下一代 JavaScript 实时通讯 SDK 的 3.0 beta 版本发布了!我们不仅为这一新版本(以下简称 v3)带来了性能提升,还加入了很多令人激动的新功能和改进,包括单点登录、未读消息通知、按条件查询对话、自动更新的对话和消息状态、自定义消息类型、更好的断线重连机制,以及重新设计的 API 等等。重新设计的 API在 v3 中我们改进的重点是 SDK 的易用性,为此我们设计了全新的 API。除了一些细小的命名与特性的区别,JavaScript SDK v3 的 API 与其他平台 SDK 的 API 已经统一。随着平台差异性的减少,开发者在为各平台应用设计与实现阶段所投入的工作量也会降低。相较于 v2,v3 API 对易用性的改进体现在以下几个方面:自动更新的对话和消息状态Promise 与异常处理新的事件模型可扩展的消息类型系统自动更新的状态v2 中封装了各种操作指令与事件,但是在真实的项目中,你仍然需要额外维护一些状态,这些状态包括了:对话:成员列表、未读消息数、最后消息时间、最后消息(如果有)消息:发送状态v3 中这些状态都会由 SDK 自动更新。这将大大简化业务逻辑的代码,比如当你使用类 MV* 框架时,你可以直接将这些实例与 View 层绑定,就像下面这个使用 Angular 展示消息列表的例子一样:<ul class="list-group"> <li class="list-group-item" ng-repeat="conversation in conversations"> <span class="badge">{{conversation.unreadMessagesCount}}Live demo: 与异常处理所有的异步 API 将返回 Promise 实例。相比于 v2 中回调的方式,Promise 将会避免回调嵌套过深的问题,同时解决了 v2 异步操作异常被 SDK 隐藏的问题。// 使用 Promise 以链式方法登录、创建会话、发送消息realtime .createIMClient('three-bodies') .then(tom => tom.createConversation({ member: ['the-earth'] })) .then(conversation => conversation.send(new TextMessage('不要回答!')) .then(message => { /* 成功 */ }) .catch(error => { /* 处理异常 */ });新的事件模型v3 中的事件 API 使用的依然是 Node.js 中EventEmitter的设计。与 v2 中所有事件都在RealtimeObject上派发不同,v3 中不同类型的事件会在不同的层面派发:网络状态相关的事件在Realtime实例上派发。某个客户端相关的事件在该IMClient实例上派发。某个对话相关的事件在该Conversation实例上派发,同时也会在其隶属的IMClient实例上派发。详细的事件列表与描述,请参阅API 文档的 Events 部分。可扩展的消息类型系统自定义一个消息类型从来没有像现在这么简单:@AV.messageType(3)@AV.messageField('foo')class CustomMessage extends AV.TypedMessage { constructor(foo) { super(); this.foo = foo; }}Live demo: TypeScript 或者 Babel 才能运行。这里还有个ES5 的例子。同时,基于 LeanCloud 存储服务,SDK 还提供了常见的富媒体消息类型(文件、图片、视频、音频、位置)。为了避免实时通讯 SDK 与存储 SDK 的耦合,这些富媒体消息类型是一个独立发布的 package,关于富媒体消息的详细内容请参阅《JavaScript 实时通信开发指南 – 富媒体消息》。新增功能JavaScript 的 API 与其他平台 SDK 的 API 的统一意味着以下功能已得到支持:单点登录「未读消息通知」模式对话条件查询构造器(ConversationQuery)断线重连机制SDK 的连接层也被重新设计,断线重连机制变得更加可靠,存在于 v2 中的 crash 与漏报已被消除。除了disconnect与reconnect,v3 中增加了两个新事件schedule与retry,通过它们你就可以了解到 SDK 在断线重连的过程中正在做什么,进而向用户给出更友好的提示。关于断线重连机制的细节请参阅《JavaScript 实时通信开发指南 – 网络状态响应》。性能提升v3 还包含了一些底层上的改进:二进制协议 ProtoBuf 的引入使传输消息时的流量消耗减少了 70%。多个 Client 实例共享一个长连接的措施减少了 SDK 消耗的资源。从 v2 升级v3 API 不兼容 v2。对于正在使用 v2 的用户,尽管 v2 中所有的 API 在 v3 中有对应的实现(参见《JavaScript 实时通信 SDK v3 迁移指南》),我们仍然需要提醒,迁移到 v3 意味着一定的迁移成本。此外,必须指出的是,v3 去掉了对 IE10 及以前版本的支持,如果需要兼容这部分运行环境,请继续使用 v2。在 v3 正式发布后,v2 依然会得到至少 6 个月的安全更新。LeanCloud官网

说到BaaS,它是继IaaS、PaaS、SaaS等云服务后衍生出来的一类新的ToB服务体系,其全称为后端即服务(Backend as a Service)。在移动互联网的今天,大多数创业公司为了快速实现产品功能,在自己后端团队跟不上需求进度或者需求实现后的IT费用超出公司的预算时,这时就需要借助一些已有的三方服务来满足需求。互联网的理念正是资源共享,你有这个资源,他有那个资源,而我正好需要对这些资源所提供的功能做快速产品试错的时候,借你和他的这些资源来用用是最好的解决方案。当然如果我的产品成功了,能给公司带来稳定的收入后,我们再自己创建这些资源就都是后话了。

前言

摘要轻量级IM框架MobileIMSDK v3.0发布了,本次更新包含了简化了消息发送目标的方式、支持Web版与APP版互通、优化了Protocal协议结构等主要升级。一、MobileIMSDK简介MobileIMSDK是一套专为移动端开发的原创即时通讯高可重用框架:超轻量级、高度提炼,lib包50KB以内;完全基于UDP协议实现;客户端支持iOS、Android、标准Java平台;可应用于跨设备、跨网络的聊天APP、企业OA、消息推送等各种场景。MobileIMSDK工程始于2013年10月(2017年06月26日发布了最新版v3.0),起初用作某产品的即时通讯底层实现,完全从零开发。MobileIMSDK现已公开并免费供开发者使用,希望对需要的人有所启发和帮助。

郑重声明:本文版权归新匍京a奥门-最全网站手机版app官方下载所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。