您的位置首页  科技生活  行业

专访环信隋云怡:ONE SDK如何着力布局物联网

  • 来源:互联网
  • |
  • 2016-03-19
  • |
  • 0 条评论
  • |
  • |
  • T小字 T大字

  10月14日-16日,“  2015移动开发者大会 · 中国 ” (Mobile Developer Conference China 2015,简称MDCC 2015)在北京新云南皇冠假日酒店隆重举行。本次大会由全球最大中文IT社区CSDN和中国最具关注度的全方位创业平台创新工场联合主办,以“万物互联,移动为先”为主题,邀请国内外业界领袖与技术专家共论移动开发的热点,在实践中剖析技术方案与趋势。


  在MDCC举行期间,CSDN对专注于移动IM云的环信SDK高级研发工程师隋云怡进行了专访。隋云怡表示,随着现在物联网的兴起,环信现在的SDK的架构对应对未来物联网平台还是略有不足,随即环信就考虑到如何去改善架构,使之能够较容易的适配到各个主流平台和物联网平台。然后环信年初计划了SDK3.0的开发,即ONE SDK。基本理念是实现共同IM 内核,使代码可被不同的平台最大化的重用,但是其中设计和实现也面临着巨大的挑战,比如如何适配到不同的平台,如何最大化的重用代码都是要面临的问题。接下来我们看一下本次采访隋云怡都向CSDN分享了哪些内容。


  隋云怡 环信SDK高级研发工程师


  CSDN:请您先做一下自我介绍,包括以往的从业经历以及现在负责的工作。


  隋云怡:大家好,我叫隋云怡,我一直在从事客户端前端的开发工作,曾经在索尼爱立信、西门子、诺基亚工作,去年受CTO邀请加入环信,主要负责SDK团队研发。一直以来,产品很稳定,用户量也比较大,非常感谢我们的团队。
  CSDN:环信SDK一直是您带着团队开发的?请您具体说一下您现在负责的主要工作,以及团队现在的情况?


  隋云怡:去年8月份,我加入环信之前,这个团队是我们的CTO带的,之后一直是由我带SDK项目的研发。我的工作是负责架构设计、主要模块的开发、团队的管理和建设,以及帮助初级工程师提高水平,我希望团队里这些不错的苗子尽快地成长起来。我们团队有13个人,其中4个安卓开发工程师、4个iOS开发工程师,还有一些属于深层次的技术支持,解决难度比较大的问题,以及两个测试工程师。


  CSDN:您演讲的主题是ONE SDK,想请您对它做一个介绍。


  隋云怡:我们现在有SDK2.0,之后会有SDK3.0,它是全平台覆盖的。SDK2.0暴露的问题是不同平台有不同平台的实现,而我们的功能模块、业务逻辑都是相同的,导致了资源浪费,致使维护成本巨大。更加痛苦的是我们再引入另外一个平台的时候需要招一些人,再做另一个团队的工作。后来,我们为了解决这些问题,引入ONE SDK。现在IOT呈现非常好的形势,我们希望在这里分一杯羹,想尽快投入进去打造更好的全面覆盖的SDK,经过重新设计,把SDK打造的更完美。


  CSDN:移动客服和环信本身的IMSDK是共享核心的SDK,现在再打造一个ONE SDK,整个产品线会发生什么样的调整呢?


  隋云怡:从SDK角度来说,我们尽量保持对Web和SDK2.0的兼容,客服SDK和当前的SDK是统一的,并没有另外的分支脱离出去,共用同一套代码,只是可能会对客服SDK增加一些额外的API支持。也就是契合着开发者包括App开发公司对于跨平台的需求,达到一次编程可以随处运行的效果。


  CSDN:今年Facebook推出了React Native,他想要统一移动端的云,环信在SDK方面有没有这个实践?


  隋云怡:这方面还没具体深入研究,但确实是个好的想法,其中优秀的地方我们肯定借鉴,把优点集中到我们的SDK上,不过目前为止还没有研究过这方面具体怎么做。


  CSDN:还是回到ONE SDK,目前它在环信整个产品线中处于什么样的地位?


  隋云怡:ONE SDK的理念就是实现跨平台的全平台覆盖,代码共享,节省人力成本,维护成本,使代码质量会大幅提高等问题。我们要打造IOT设备,并希望这些设备能在主要的IOT生态圈跑起来,然后植入我们的环信SDK和云服务,这是环信最好的理想和愿景。


  CSDN: 听说环信下一步要做连接人与物、物与物,那么现在在连接人与物以及物与物方面做到了哪步?


  隋云怡:那是想推出去的理想概念,我们目前阶段还是从技术角度来做铺垫。当技术日积月累,一旦到达某个程度,我们就可以真正行动,达到当初的愿景。也就是说SDK的重中之重,就是打造IOT的生态圈。从整个生态圈来讲,具体的规划已经在跟一些厂商联系了,做进一步配合。他们会帮我们定制一些基本的硬件,然后跑我们IOT的产品,计划已经提上日程,相信很快会有产品的出现。


  CSDN:我比较想了解环信ONE SDK的整个技术架构。


  隋云怡:实际上我们分了几个层次。有平台层、适配层、最终SDK的核心业务层。ONE SDK意在打造共同的分享的核心代码,这就是ONE SDK的概念。但每个平台还有不同的SDK,不同的平台有不同的API封装、适配平台的用法。这就出现了平台层,把很多和平台相关的业务放在平台去做。适配层是核心层,适配层就是和不同的平台绑定的实现的层,主要实现线程管理、定时器管理和平台相关的锁的管理,这种东西都是和平台息息相关的,脱离了平台就没有这些概念。所以我们必须做这样的层,使代码共享化。想达到这个情况,底层是真正具体的核心业务层,它实际上承载的是比较有竞争力的协议层,还有音视频层,这个层可以用来实时电话,可以看到视频。还有业务逻辑层,建立群会话、单聊会话,核心层会有不同的模块,模块化、插件化的目的是最后可以裁减,有的设备非常小,要求的代码量一定要小,内存要小,所以我们一定要有可定制裁减的功能,可以方便地给第三方App或者第三方厂家。还有重中之重的一层是协议层,协议层跟语言没有太大关系,和后台通讯的协议、机制,定义好哪个模块、字段是干什么的就可以了,好处是将来可以直接应用在IOT平台。


  CSDN:从架构来讲,为了更好地为IOT提供设备、连接更好的服务,刚才你讲的需要具体落实,是否能举个例子讲解一下吗?


  隋云怡:我们现在用的是树莓派的Raspberry Pi,它是嵌入式结构的物联网平台,代码也都跑过了,可以说架构已经验证过了。ONE SDK带来的纵向好处是你只要写完一套CODE,并符合这个规范基本都能过。不是这个圈子的人很难想象有一天冰箱、空调会直接连接起来。我们希望环信能做到那一步,你可以在冰箱上安一个视频就能跟客服对话。用了这个东西就非常便捷,也是一种创新。


  CSDN:环信一直有一个IM开源社区,一部分是回馈开发者,另一部分是让开发者帮助环信变得更好。ONE SDK方面,在开源上面有什么举措?


  隋云怡:我们正在计划中,目前我们还没有放在开源社区里来,原因是想给大家一个好的印象,我们将来给出的第一版非常不错、质量有保证的版本。不可能每个平台都做,没有这样的资源,只能借助Opensource Web感兴趣的人才帮助我们做这个事情。所以要借助开源平台。我们是有这个计划的,现在在上升期,等到稳定的时候回开源出去的,从技术角度来做到这点。


  CSDN:目前国内包括环信在内,支持开源的声音很多,开源的风气正在变得浓厚,对此您有什么观点?


  隋云怡:我们觉得开源是件好事,因为毕竟自己一个团队,做不了所有的事情,我们环信要效仿和学习Linux,吸收别人的反馈,想把生态圈打造得更大一些。


  CSDN:现在的物联网在语言方面依然使用的是面向对象的比较低端的C语言,您怎么看?


  隋云怡:语言因为C还是集合了效率、代码量可控的特点于一身,基本上平台SDK支持的都是C语言或C++,像WRTnode是支持JavaScript,而JavaScript中间还有个解析层,会浪费很大的内存,效率跟C语言比还是有一些差距。


  CSDN:会在SDK包的大小方面给团队限制吗,比如必须控制在多少以内?


  隋云怡:我们没有固定限制,不过还是尽量和当前的SDK做比较,不能超过它,否则会有很大问题。第一,代码写得有问题,第二,会影响很多开发人员,所以我们都是严格把关的。


  CSDN:从技术角度来讲,整个团队在开发这样一款SDK的时候有遇到过什么样的难题,是怎么解决的?


  隋云怡:是遇到过一些难题。就以database为例,我们做到抽象层,linux是支撑SQlite的,安卓底层是linux平台,Mac和iOS基本都有SQlite的支持,但安卓不允许引用SQlite那个动态库,它是实际存在的,怕有安全的问题或者其他的问题没考究过,它在上层做了一些封装。我们遇到一个问题,怎么平衡这个,我们想把SQlite代码拷到ONE SDK里,会增加SDK 600k的空间,要么调回去,调到Java层去写,但Java层会带来一个不好的情况,两套的database不好维护,最终想尽量用同一套database,它可能增加600k,我们把其他部分补救一下,但是我们不想影响整个架构的设计。我们经过很多考究之后发现架构要回到一个database。


  CSDN:有一个关于跨平台的问题,SDK现在是支持iOS,移动Web?


  隋云怡: Web跟我们分开了,没办法重用了。Web那套是专门做维护的,这个代码不会进到SDK里来。 HTML5是那种跨平台的移动开发,针对UI层进行的分装,一旦涉及到底层可能还是要转换一下。我们是偏底层的SDK,不是偏上层的SDK。我们讲究的是内存、执行效率、自有的协议。说到跨平台,还包括市场上不大的那些系统,如果呈现好的市态我们也会积极配合去做。


  CSDN:谈谈关于SDK下一步要做什么?


  隋云怡:接下来我们首先要完善架构,第一步有小的重构,第二步对协议进行改造,特别适合移动终端的开发。还要进行LTE积极的实现,在智能设备上。还有些设备的芯片,没有具体的操作系统,没有具体的API,我们下一步想找这样几个大的厂商放一些协议进去,真正达到互联的目的,这是我们想做的事情。现在整个公司在着力布局物联网,环信7月底的时候开过一场发布会,这对我们公司是一个重要的策略方向。现在每个公司的规划不一样,有的公司觉得移动深入生活了,另一部分看到了物联网时代的到来。物联网要推翻移动互联网,这个要跟不上脚步以后比较麻烦,我们在积极地跟进。

文章来源:C资讯

免责声明:本站所有信息均搜集自互联网,并不代表本站观点,本站不对其真实合法性负责。如有信息侵犯了您的权益,请告知,本站将立刻处理。联系QQ:1640731186
友荐云推荐