钛媒体注:由《商业价值》与钛媒体正式合并成立的BT传媒,首次联合CSDN主办Challenge—— “2014 技术商业500人论坛”今日继续在北京举行。在“移动开发工具纵横谈”对话环节,主持人CSDN董事长蒋涛,与云之讯CTO贾俊杰,个推CTO叶新江,APICloud CTO邹达共同讨论了开发者遇到的普遍问题,推送服务对开发者的价值等话题。嘉宾也分享了自己最欣赏的移动服务和工具,例如开发者用Docker模拟开发和运行环境环境,理清业务流程等。
主持人:有请三位嘉宾上台就坐:他们是:云之讯CTO贾俊杰;个推CTO叶新江;APICloud联合创始人兼CTO邹达。今天话题都讲到移动,我们三家跟移动密切相关,首先,请三位介绍一下自己和自己公司的情况。
贾俊杰:我是来自深圳云之讯的贾俊杰。云之讯相当于也是跨界的产品,我们融合了OTT通讯的技术和传统运营商通讯的技术,构建了开放的平台,以SDK和API市把ATT通讯和传统运营商的通讯包括音频、视频实时通信、短信功能开放出去,我们的想法是把技术难度比较高的封装成非常简单的API的方式给中小企业和开发者,让他们以最快方式集成到他们的应用中去。我们的团队主要来自于华为和腾讯,我们主要在深圳。
叶新江:大家好!我是来自个推的叶新江。个推这个产品从2011年开始,到现在差不多3年时间,目前上面有几万个App开发者,日活用户2亿多,最大在线1亿多。我自己2011年加入个推,个推是个性互动的一个产品,我个人之前在MSN,看到移动互联网势头起来以后,也想做点事情,所以加入到了个推,一直做到现在。
邹达:我是邹达,来自于APICloud,APICloud是移动应用云提供商,我们做了云端一体的平台,在端这块,特别是针对于移动运营开发,我们提供了端API,对于服务的开发,我们提供云API,在端这块,我们有跨平台的开发引擎。我们和开放平台的提供商进行合作,比如个推或者云之讯,可以将他们的SDK集成到我们的平台上,作为我们的一个模块,开发者使用我们一套SDK和一套开发模式就可以搞定App开发,我个人以前主要做浏览器引擎的开发。移动互联网起来之后,主要做移动App开发,现在主流的App开发离不开服务,后来又在做服务,一路走来,不管是对个人开发者,还是对中小企业,以及大的企业,其实整个开发成本都非常高,我们想提供一种方式,能够加快开发的效率,方便管理,提高运营效率。谢谢大家!
主持人:三位其实都是服务于开发者,特别是以移动为主,现在移动应用的开发整个流程和过程当中可能碰到的挑战是什么?
贾俊杰:通讯相关的内容我们做的比较多,做通讯相关的产品,国内一些企业在通讯能力上的积累其实不太多,如果想快速的开发一个通讯产品,很难在短时间内做的非常好,我们如果做通讯基础工作,像音视频通话,实际上是有一定的技术门槛的,需要非常强大的网络支持,另外,还有编解码技术或者后台调度策略,对音视频的质量影响非常大,构建成本非常高,另外,开发过程非常漫长,我们原来做一些其它的OTT业务,一个简单的CS架构可以很容易搭建起来,通讯比较难。按照我们的经验,原来做通讯产品,可能都要半年或一年的时间才能真正做好。从业界的情况来讲,很多做通讯产品的企业都在思维或者思路上有些转变,一些非自己核心的底层技术会通过第三方平台实现,对于产品快速推出和新功能迭代都会有很大帮助。
主持人:现在每家好象都在做推送,包括那天QQ圈的朋友们也在搞QQ Push,大家会用第三方服务,但是,竞争现在是什么状况呢?或者第三方服务带来的最大价值是什么?
叶新江:说到推送,我们可以再往前看几年,几年前也有推送,只是推送是通过类似短信这种方式下去的,大家每天收到无数条短信,无论是不是你想看的短信,推送本身价值一直存在,在移动互联网时代,推送的价值体现在运营手段和服务能力的提升上,一个应用推出去以后,很多时候用户用一段时间以后,如果他觉得没有更新鲜的东西,他可能就放一边不用了。用户既然下载,说明之前是有这种需求的,只是说我们有没有很好的方式让用户能够重新产生兴趣,这个时候推送就是很好的手段,推送有点像手机一样,打电话不打电话的时候都是联网的,联网的能力是运营商的优势,在移动互联网上,推送跟这种能力类似。
移动互联网时代,最终用户和开发者之间的界限会越来越模糊,只要用户有一个想法的话,他是可以把它转成App的,在实现想法的过程当中,他会发现当你只有十万个人或者十万个人用的时候,可能有些东西是不会在意的,比如一些基础的安全,包括并发等等,但是,当到一百万、一千万甚至一亿的时候,他发现这些事情是他自己没法做的,像个推,如果说工具,也可以,实际上更多是服务,我们会提供类似这样的服务,能够让他的App跟用户的连接做的更好,像APICloud更多的也是在这个层面帮到App开发者。包括物联网,大家看到物联网马上会起来,物联网很重要的特征是数据的下行,很多设备把数据汇报上来以后,你发现需要控制一些设备的时候,这时候推送是非常非常好的手段,我们先行一步,对我们来讲,压力也是蛮大的,一直有这种危机感。
主持人:他们两家可能是从提供服务的角度讲的,APICloud的邹总可以讲一下你们的情况。
邹达:昨天,跟蒋总有沟通,蒋总说整个APICloud其实提供了一个应用的开发平台,其实我们自己就是做移动开发工具的公司,从我们的角度来考虑,从应用本身考虑,以前那些应用分为2B、2E和2C的应用,2C应用更注重体验,2B应用可能更注重功能,2E应用更注重安全。我们有一个端和云,在端这块,解决了开发效率问题和用户体验的问题,H5App开发效率很高,本身有跨平台特性,浏览器本身由各大厂商支持,设备硬件的集成包括跟开放平台的对接并没有提供出来,原生的服务会提供出来,APICloud通过API方式把所有功能以API方式提供出来,对于端这块,提供端API,提供应用开发所需要的功能,对于云这块,我们可以跟不同的服务提供商一起结合,明年最大的主题就是“融合”,通过我们的API把所有的服务、所有的开放平台的功能集成进来,提供给我们的开发者使用。
昨天,跟蒋总沟通,蒋总说你们本身就是做工具的,刚刚又讨论完广告模块,说你们可不能做广告,从移动工具提供商的角色结合APICloud说一下我们的工具是用什么工具开发的,从我个人来看,对于工具的选择,要根据公司的自身情况进行选择,每个公司团队规模、产品类型以及技术特点可能都存在不一样的地方。对于APICloud,我们是50多人的团队,规模并不太大,对于任务的管理,我们选择使用国外一个产品,在我们公司的墙上,我们挂着非常大的显示器,我们会把人员的任务在屏幕上显示出来,一目了然。对于我们这样规模的团队,真的非常好用,是非常轻便的工具,对于数百人规模的公司来讲,人数太多了,反而可能不是那么好用。从产品类型来考虑,我们的差别用户就是广大的开发者,开发者帮助我们进行需求管理,SDK每周都会发布一个版本,我们的开发者开发和使用过程中会发现很多问题,会通过QQ群给我们反馈,我们要不断的跟开发者进行互动,并且让他们有参与感,我们有专门的人员进行统计,如果是非常好的需求,我们会加进来,并且提供相应的奖励,所有开发者就是在帮助我们管理需求。
对于技术类型,整个公司强调云端一体,所有端的开发和云的开发只需要掌握一门语言,整个团队有浏览器经验。刚才,也谈到了服务器的监控,我们的机房里也会提供相应的产品,比如我们也会用开源产品。另外一点,功能的需求,对于移动应用的开发,每个应用都有自己的特点,特别是业务特点,但是也有一些公共需求,比如推送、VOIP、即时通讯等等,对于工具的选择,要根据公司的特性进行合理的选择。
主持人:把后面的话题讲了,前面讲的是移动应用,结论是现在有大量的第三方服务,今年移动开发大会有一百多家,给开发者提供各种能力、资源和服务的,不管是VOIP,还是推送,不止一家,包括APICloud的服务。第二个话题,我们自身是怎么用的?开发者要把自己的能力更好的用起来,也要用到很多工具,除了开发API本身,内部可能用开源的框架做,你们的整个结构是什么样的?
邹达:技术型为主的团队,整个结构可以分成四个部分:
- 第一部分,叫做引擎,端的引擎,分成安卓和iOS,这是一个团队;
- 第二部分,模块团队,所有功能、所有API通过模块使用的,这是第二个团队,比如开源SDK的集成;
- 第三部分,服务,我们有我们的网站,我们有推送、版本管理、安全控制、统计分析等等;
- 第四部分,App团队,我们要告诉开发者如何写App,我们要出很多版本。人数最多的是服务开发团队和应用开发团队。我们定期跟开发者进行互动,并且做一些培训。
主持人:个推心里是什么规模?
叶新江:个推现在差不多100人左右,技术岗位的人员差不多一半多一点,我们分了几部分:第一部分,基础平台,推送平台,基础平台里分两块:一块是后端,一块是前端,前面有SDK,后端是通讯系统,另外一块是数据部门,日活两个多亿,每天超过超过1T的数据,我们会利用这些数据对用户进行画像,最终在合适的时间、合适的地点、合适的场景下把合适的内容推送给合适的用户,基于大数据处理能力和大并发的通讯系统,我们专门有一个数据部门,还有运维部门,5个人,5个人的运维部门支撑了这么多级用户的运维工作。
主持人:内部系统的开发流程是怎样的?用了哪些工具?
叶新江:工具这块,使用的不光光是软件,我们可以看的高一点,在办公场所设计上,把一千平米左右的办公区域全部开放,所有高管也坐外面,没有私有办公室,办公区域除了几根很细的柱子以外,站起来就能看到每一个人,为了方便大家能够及时的沟通。对于一些我们认为很重要的事情,我们设置了一些用木头做的小马,我们称之为马上办,比如有一件事情两天内必须做完,而且认为重要重要,我们就把一匹马给你,一个是告诉你这件事情非常重要,另外,告诉你这件事情非常紧急,另外,可以利用一匹马调动资源,有时候老板可能在会上说这个事情很重要,大家多坐一个屋子里开会,可能有的时候这个部门觉得应该你驱动,那个部门应该觉得你驱动,有时候会推托,一推托,可能一两天就过去了,其实也是工具,不一定是电子化工具。在具体流程上,采用持续集成,所有测试全部用自动化方式,对于上亿的并发系统来说,任何小的改动都可能产生比较大的影响。
主持人:出过事故吗?
叶新江:有,我们不认为事故是不好的,公司员工本身非常年轻,我们跟员工说:“你犯错不要紧,如果没有从错误当中吸取教训,那肯定是有问题的”。局部出问题不会影响到整个系统,除非外面整个机房掉电了,我们也没办法,用的是运营商的网络。我们确确实实要求运维人员必须会写代码,如果有现成工具,你可以直接用,如果没有的话,你必须自己写代码。我个人在国有企业呆过,在微软也呆过,对于整个流程比较重视,在座的以后如果创业的话,最好一开始就建立流程,这样的话,团队大起来以后就不会手忙脚乱。工具这块大致就是这样,所有工具都是为了保障沟通和提高效率,提高效率也是建立在沟通基础上的,协同非常重要。
主持人:贾总这边有补充吗?
贾俊杰:从开发过程来讲,应该差不多,我体会更深的是我们运维方面的难度,我们经历了三个阶段:第一个阶段,没有监控,最开始的时候,监控措施很少,往往比客户发现的还要晚;第二阶段,出现问题以后,我们开始重视运维监控措施,我们要自己开发,开发之后,发现还是有些不足,我们发现很多主机监控、网络监控有很好的第三方平台,我们也用了监控宝,可以非常好的把你的主机运行情况和网络情况、运维趋势监控好,所有监控非常全面,如果有什么问题,我们会第一时间收到短信,自动发短信告警,监控成本、维护成本降低了很多。
从业务上来讲,我们聚焦于我们自身有长处的音视频通讯相关的技术上,实际上我们也用到第三方语音合成或者语音识别的平台,我们会利用第三方工具提升我们的效率和功能的丰富程度。
主持人:最后,请每个人举一个自己喜欢的产品和例子,我自己也有,今年年初时候有一个人来找我,是电商的App,他们给我讲了他们的销售额和公司的融资额,把我惊呆了,是纯技术驱动的公司,觉得淘宝打广告费的方式并不是最好的方式,最好方式是根据用户销售结果进行驱动,完全用算法驱动,App上会写你有多少库存,我说他们公司才20多人,怎么知道库存呢?他说那个数字是论写的,道理是我做了大量的测试,他说经过测试证明在一个屏幕上只能放一个库存的数据,显示多了以后,对销售额没有促进,只有显示一个的时候是最好的,包括里面的图片,也只放两张,当时我看了以后我说这不是蘑菇街嘛,他说不是。未来我们如果能够用好这些工具,对整个产品的研发甚至商业模式都会产生很高的效率,我们可能正在进入这个点,我只是抛砖引玉,大家看的也比较多,可以给大家介绍一下你们最喜欢的工具。
邹达:我可以结合一下我们的一些思路,一些好产品对我们思路会有很好的引导。以前,我们看过一个国外的网站,APIGAME,做API转换的,不管你提供任何格式,不管后端数据库是什么格式,任何格式的数据都可以转化成你想要的格式的数据,使用过程中,可以不断的定制,可能加入五个过程,比如第一个过程可能是安全层面的接入,你可以做什么定制,数据方面可以做数据过滤,第三,你可能会规定一些格式,第四个层面,跟你这个业务有什么结合点,可能做一些数据的,我们运用到云API,我们跟他的思路不一样,他完全是自己做,让用户自定义,我们想跟所有服务说合作,我们有我们的端API,我们希望在端这块把做的自定义功能、过滤功能、方便开发者使用的功能做进去,通过端和云的配合来解决这个问题,这是对我们影响很大的一款产品。
叶新江:我推荐给大家的还是我们现在用的,我们之前有一个比较困扰我们的问题,我们做一个功能的时候,当一个系统比较庞大的时候,开发人员可能心里也没数,或者根本没看到他改的东西对整个系统到底有什么影响,测试的时候,环境各方面可能不是比较单一的,我们从这些角度找了一些工具,现在发现我们可以利用像Dock这样的工具,这是比较技术化的工具,可以让你尽可能模拟实际的运营环境,一个开发人员在这个环境下根本不需要其他人员参与他就可以模拟整个环境,Dock解决了我们很好的问题。解决了我们很大问题,从开发角度来讲,这个工具好。
贾俊杰:像小米的畅聊,实现了免费通话功能,集成在手机ROM里一个通讯功能,好象是打一个传统的电话,实际上这个电话走的是第三方平台,是免费的,从体验上讲是非常值得称赞的。
根据《网络安全法》实名制要求,请绑定手机号后发表评论