非商业转载请注明做译者、出处,并保留本文的原始连接:http://www.ituring.com.cn/article/202466前端
邹达,APICloud联合创始人兼CTO。他是APICloud云端一体平台的架构设计者,也是终端引擎和云端服务核心模块的技术实现者。他专一于浏览器及相关中间件技术,参与过多个主流浏览器引擎、JavaScript引擎以及移动中间件引擎的开发工做。邹达是一位拥有10年一线开发经验的资深码农,他对Web应用和本地应用开发,以及NodeJs、MongoDB、Redis等技术都有着深入的理解,对于大规模、高并发的云端服务开发也有着丰富的实战经验。程序员
问:你作过浏览器,作过手机,作过平台架构设计,一直到如今的云服务平台,每次角色转换背后的动力是什么?数据库
我研究生毕业的时候是2006年,那时候手机刚刚兴起,尚未智能机。当时寝室6我的都来北京了,当时咱们大部分人都是作服务器端开发,去神州数码、惠普,还有去作PC端的,可是作手机的很少。我当时去的德信无线,德信应该是那时候最大的手机贴牌厂商。后端
那时候手机的开发比较简单。由于feature phone自己的系统都已经写好了,你只须要调试驱动,作一个适配,根本不须要写太多的代码,一直是在改bug、调试,而不是从头至尾写一个软件。那时候手机上面就三个软件能够卖钱,浏览器、彩信、Email,其余的应用都是平台自带。Access是日本的手机浏览器厂商,那时候在中国市场预装量基本上是第一名,再就是obigo台湾联发科MTK系统里面的浏览器。当时工做须要我和他们的工程师也有交流,由于他们作的是核心软件,因此我当时仍是很羡慕他们。浏览器
后来高通投资了德信,要作高通blue平台上的一个浏览器。我感受这是一个机会,能够去作软件了。那时候我作浏览器里面的JavaScript解释器,由于整个软件须要从头至尾开发,因此这个过程对我来讲成长仍是挺快的。前端框架
后来由于要结婚,因此我回到了北京,去了Access继续作浏览器引擎。之前浏览器卖许但是很贵的,后来许可愈来愈便宜,由于智能机上面都自带浏览器。2010年国内智能手机兴起以后,浏览器的传统业务模式也就慢慢没落了。那时候我就开始想浏览器还有什么用,既不能做为入口,也不能收费。后来我想探索一下Web平台的可能性,就去了一家创业公司,开始作Web平台。咱们想作一个基于浏览器引擎的平台,至关于用浏览器引擎作应用。之前的产品表现形式都是网站,智能机起来以后就是App了。App能不能用浏览器的技术来作?是否是会节省一些成本?我带着这些问题开始去作基于浏览器的移动平台,一直作到如今本身出来创业作云端一体的平台。服务器
问:APICloud有一个比较鲜明的特色是云端一体,这个概念是如何产生的?微信
我从2010年开始就在写智能机上面的App,从2010年到2014年作了快有100个原生应用,我本身平时可能还会帮朋友作个应用什么的,作得其实挺累。安卓开发一遍,iOS开发一遍,要搭服务器、要设计数据库、两边要定义接口,要联调,要适配,环节很是多。因此我就想能不能用最简单的方式把活给干了。网络
因而咱们就想作一个云端一体,你后端不用写代码了,我在前端调用Restful接口来写业务逻辑,两边采用相同的语言,你只须要学JavaScript就能够了。先后端也不用再定义接口,定好模型后这个接口就固定了。移动端应用也是不论几个平台只开发一遍,而且中间有大量现成的API能够调用。我以前多是感受太痛苦了,因此如今就想解决这个问题,按照这样的思路去作产品。前端工程师
问:大家典型的开发者用户是什么样的?
咱们各类类型的用户都有。对于我的开发者来讲,由于咱们的系统简单,只须要有Web开发基础就能够,而不少我的开发者可能以前并非作专业的移动开发。以前有一个独立开发者,他开发了一个瘦身类的应用,利用APICloud先后端一我的搞定。我的开发者可能想学习,本身有想法,想本身去尝试作一个产品,经过APICloud就能够作到,咱们的端API和开发工具都是免费的。
咱们的另外一类用户是外包公司,他们要求开发效率高、成本低。好比西安的万紫网络和孔方网络都是咱们的用户,从咱们上线到如今,他们用APICloud可能已经作了二三十个项目了,用一两周的时间一个项目就完成了。原生开发的门槛高,开发者在北京都很差招,而咱们客户中不少外包公司都来自二三线城市。
另外,咱们的创业公司用户也很是多,由于咱们快。创业的第一个阶段就是概念阶段,创业者须要把产品快速作出来,推到市场验证一下。这些公司通常都会买咱们的培训服务,好比杭州的创业公司战旗TV,目前安装量基本已经达到1000多万。他们作的是游戏直播,他们利用咱们的平台基本上两周就完成了第一版上线,咱们刚上线的时候正好他们公司也刚开始作产品,咱们是9月15号上线,他们是10月15号第一个版本上线。再好比品读者,点连在线等等狠多都是一些A轮或B轮的创业公司。
还有就是大型企业,他们一个企业可能就有几十个应用要开发,但愿使用一个统一的开发平台,另外也包括大量的SI和ISV在使用APICloud平台。
问:大家最大的团队是开发者关系团队,他们主要解决的问题是什么?
开发者关系团队包括咱们的布道师、讲师、技术支持。技术支持更可能是在线上论坛和QQ群跟开发者作互动。讲师和布道师是在咱们每月在全国各地举行的线下活动和培训中去普及APICloud的使用方法,解决用户的问题。咱们本身的工程师能用好这个平台,并不表明其余的开发者也会用得很好。咱们的技术专家也会到大企业或者创业公司,给他们作短时间的专业培训,让他们的工程师快速上手。由于每一个讲师或者布道师同时服务的用户是固定的,随着咱们的开发者数量愈来愈多,购买咱们培训的公司愈来愈多,因此这里的需求也在不断增加。
问:如今APICloud上的API开发者有多少?如今平台的生态环境处于一个什么阶段?
如今平台上的开发者应该达到十几万了。
完整的生态环境须要几方面的人,有需求方、开发者、模块开发者、服务提供商。如今需求方还不完善,咱们仍然是经过人工方式去服务的。需求方找到咱们的开发者关系团队,说明想作的项目,而后咱们去帮忙找开发者。咱们未来会把这个环节作成产品,你能够在咱们的平台上看到不少方案,以及不少优质的开发者。
另外有一点是咱们尚未作的,咱们如今的开发者已经能写应用了,可是如何能让他们的利益最大化,让他们写出来的应用产生二次价值?咱们提供了一个相似于这种模版的商店,开发者完成本身的项目以后,他作的这个应用沉淀下来还能发挥出价值。
再有一点就是一些行业的解决方案。咱们其实给本身的定位是一个PaaS平台,上面要支撑不少的BaaS服务。这些BaaS服务应该是跟各个大服务商结合,提供行业的总体解决方案,这是咱们接下来要作的。
问:你在以前采访中说过相对于作十年技术,你更承认一项技术作十年。你如今作的移动应用云服务平台是不是一项值得长期投入的技术?
我作浏览器应该已经快十年了。我感受移动应用云服务平台应该是能够作到10年的。为何?由于咱们叫APICloud。虽然咱们是一个平台,可是咱们认为咱们未来的发展方向是API。无论是要解决移动端的问题,仍是服务器端的问题,咱们解决问题的方式仍是经过API。我认为API未来会代替不少的传统软件系统,由于未来全部的服务、功能、数据都应该是以API的形式来提供的。
咱们会抓住移动和云这两个方向。无论是手机仍是未来其余的移动设备,移动领域的API咱们是抓住了,未来无论将来怎么发展,API都要不断扩展。云和服务也是同样,未来的数据和服务必定是由专业的厂商提供,因此就须要各类类型的API。我感受围绕着API去作,一方面是作扩展,扩展愈来愈多的功能;另外一方面就是在API接入和管理上能够有不少的环节,你能够找到不少方向。
问:APICloud全站都是基于JavaScript开发的,这么作是基于什么考虑?
就是云端一体。由于使用跨平台的方式,咱们移动端的App开发是使用JavaScript。若是后端开发想要减小学习成本,那就也使用JavaScript,用Node.js。
问:JavaScript上手简单,可是深刻以后就会发现这种语言也能够很复杂很强大,请问对于想要突破学习瓶颈的程序员你有什么建议?
我以为必需要在项目上应用。若是本身学,通常很难有那么大的动力。
学习要分红两方面来讲。对于移动端,咱们建议你不要去花大量时间学习大的前端框架,由于咱们已经扩展了不少接口。你不须要用一些大的框架或者库,只要用最基础的代码就行了。可是服务器端你就必须得用了,由于Node.js相对来讲比较成熟,中间件很是多。用的过程当中你不仅要把人家的东西拿过来,还有不少东西都要修改,这个过程就须要看懂这些框架的代码,理解实现机制。也就是说,你在用开源代码的同时,必定要有这样的决心:我要把它重写一下,或者优化一下,融入到本身的项目中。
问:如今Web上不少流量已经流到App上了,不少前端工程师以为本身前途无望。APICloud对于前端工程师的意义是什么?
Web开发者的数量要远远大于App开发者。为何在移动互联网兴起以后,Web技术就没有特别大的有用武之地了呢?关键在于,之前的产品的表现形式是网站,是基于浏览器的,可是浏览器在移动端表现很差。HTML, CSS, JS都只是语言,拿一门语言跟安卓或者iOS这种移动平台去对比是不合适的。咱们能够将这些语言跟安卓上面的Java语言和iOS上的OC做对比,它们在语言层面上是平等的。Web缺乏的是一个移动平台级的支持,而APICloud提供的就是一个基于Web的应用化平台。有了这样的一个平台,就至关于JS跟Java或者OC同样了,有了一个能够跟iOS或者安卓对比的平台。这样开发者就能够在这个平台上继续使用Web技术,而产生的结果则是很是适合移动端的。