BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

邹达:大前端趋势下的驱动力
录制于:

| 受访者 邹达 关注 0 他的粉丝 作者 InfoQ 关注 10 他的粉丝 发布于 2018年7月22日 | 都知道硅谷人工智能做的好,你知道 硅谷的运维技术 也值得参考吗?QCon上海带你探索其中的奥义
17:23

个人简介 邹达, 从2006年开始做浏览器引擎,做了十几年浏览器引擎,从2013年开始创建APICloud 之后,又开始做API。

   

1. 欢迎邹达老师,我们首先可以介绍一下您自己?

邹达:我之前主要是做浏览器引擎,其实按照这个严格的前端定义其实我从2006年开始做浏览器引擎,做了十几年浏览器引擎,从2013年开始创建APICloud 之后,又开始做API。其实按照整个严格的前端的定义呢,我不是标准的前端开发工程师。但是现在随着整个大前端的发展,其实前端包含的领域越来越多了,不管我今天是在做浏览器引擎还是做JavaScript引擎,还是做混合开发,还是做API的中台,其实我今天就踏踏实实落在了大前端的领域当中,所以说也非常高兴正是因为这个大前端的发展,让整个APICloud这样一个平台,特别是面向前端开开发者的平台有这样的机会,能和大家一起做分享。

   

2. 目前移动混合开发处于技术成熟度曲线的哪个阶段?

邹达:这个问题在我今天演讲当中我也提到了,因为按照Gartner对于技术成熟曲线的描述,我今天我也绘制了一个混合开发技术的技术程序。我认为混合开发技术现在应该属于第四个阶段,slope of enlightenment,属于一个攀升期,特别是可能是进入到一个攀升期的尾部,为什么这么讲呢?我认为对于整个混合技术来讲,其实它的起步阶段应该是在2010年左右,因为那个时间,其实混合技术的概念已经被提出,并且像类似PhoneGap的产品已经在市场上已经发布。它的高点我认为出现在2014年的年底和2015年的上半年左右,因为在这个时间节点,在2014年的下半年HTML5定稿了,包括我们API平台我们也是在2014年的9月份上线了。2015年的上半年应该是Facebook发布了ReactNative,所以说在时间结点的行业对跨平台混合开发是有很大的期望的。

但是在2015年的年底到2016年初,其实大家可能会认为混合进入了一个低谷,为什么?因为这个时候,一个技术其实它从发布到成熟,它一定要经过一个阶段,那个时候大家包括对它的理解对它的期望过高。包括引擎上面的一些兼容性的问题,性能上的问题,主要的我认为还是功能的问题。因为在中国想使用一门技术,一定要跟中国的服务器结合。我们今天开发一款应用,基本上国内所有的领域我们会用到很多开放的服务,那这些服务我们都需要在混合的平台或者组件当中去支持。我相信很多的就是一些性能,兼容性,包括特别是一些扩展性的问题,使得混合技术在2016年初的时候可能大家会认为达不到自己的需求。但是我认为经过2016年,2017年,2018年的发展之后,其实混合开发技术它已经经过了平台化,组件化和生态化的过程,它已经进入了一个光明期。

   

3. 那移动混合开发技术的发展方向如何?

邹达:因为随着整个这个混合技术的发展,我认为整个这个方向可以分成两类,对所有产品,按照大的分类。我这种分类原则就是是不是混合,是不是基于完全标准的htmlJS,Html标准。

第一类就是基于w3c Html标准,进行JavaScrip层面上的扩展,我认为这是第一类,有代表性的,像PhoneGap,包括APICloud,像微信小程序,APPMoby这属于这样一个分类。另外一个分类我认为就是中间语言的翻译,比如像国外像ReactNative,包括week,Appcelerator,其实它不管是使用C#还是使用JavaScript它都选择了一门中间语言来进行翻译,我认为主要是这两个方向。

APICloud是属于第一个阵营,为什么?因为我们认为现在的HTMLJS和JS它的整个技术标准的体系的制订已经经过很多年的沉淀,它的语义化的表示,和它的功能非常的丰富,没有必要再重新发明一套。

   

4. 那移动混合开发技术的发展前景需要什么样的人才?

邹达:我认为其实对所有的技术,它出现的最根本的动力就是去提高效率,就是让我们原先一个工程师可以做两个人的事情,或者三个人的事情,我认为是一种效率,让越少的人,能做越多的事情,其实混合开发做这件事情它本身它一个很大的好处,大家熟知的就是跨平台,它可以让一个公司可以做,安卓、IOS,甚至其他,多终端的应用。我感觉这是它的一个出发点,跨平台是它的优势。

另外我认为,其实就包括API,它提供一种方式是一种功能的复用。我们可以把大量的功能封装成模块,通过复用的方式去使用。所以说我认为对于整个混合技术,包括它对开发人员的一些要求,我认为它慢慢的会趋向于全栈工程师的角度去发展。就相当于让一个人,他有了一个强大的API平台的支持,把所有的功能封装好之后,提供成前端工程师可以直接去调用的JavaScript接口,它有非常大的一个弹药库,给它提供功能。另外呢,本身又使用标准的H5技术,它可以去做多终端的事情。

   

5. 您认为目前的前端人员可以分为哪几大类,他们在大前端的趋势下如何定位自己的发展方向,发挥自己的优势呢?

邹达:我认为如果,站在一个前端工程师的角度,去看整个IT的系统的架构,不管是之前,我们讲那种传统的7层架构,还是在云时代讲的IaaS,PaaS和SaaS,我认为这种完全是站在后端的角度去定义IT架构。但是如果站在这个前端的角度,我认为整个IT架构的分层分为两层,一层就是APP,一层就是API。我们开发一个APP需要什么样的API?我们基于这样的一套技术,在前端,利用我们前端有的MVC架构来进行实施,所以按照这样一个逻辑,我认为首先它应该分成两部分,一类是提供API的人。为整个前端去提供API,去研究去调用API的人。第二类我认为就是我们使用API来开发应用的人。使用API开发应用如果还要细分,我认为可以分成两类,一类可能更多的是做这种界面展示的功能,另一类就是通过JavaScript来实现相应的这种业务的逻辑,功能的调用。我认为可以分为这么三类。

   

6. 在PC时代诞生了WordPress这样的现象级平台,APICloud给人的感觉有点像是移动时代的类似这样的平台,与WordPress有哪些相同点和不同点呢?

邹达:我认为我们的相同点,可能更多的是一些设计上的一些思路和理念。我感觉最大的相同点就是大家都是要提高效率,这个我相信是大家一致的出发点。第二个就是WordPress它也有很多的插件,它有个比较好的生态,让大家可以基于WordPress这样一套扩展的机制,提供了大量的插件,这两点其实我感觉跟APICloud可能比较相象,因为APIcloud我们也是有一套模块扩展的标准,而且今天我们提供了六百多的模块,只有两百多个是我们官方开发的,其他四百多个都是第三方的服务厂商和各种开发者去提供,所以这两点是比较相似。

不同点,我感觉也是非常的清晰。因为WordPress它在PC时代它更多的强调的是模版,它提供了很多WordPress模板,这个理念和APICloud完全是重合的,因为我们强调是定制。因为我们认为整个未来用户的需求导向是用户站在前端去描述自己的需求。而且随着整个移动互联网的发展,其实我们之前在开发一个线下产品,一个线下实体店的时候,我花了多少精力进行定制,我今天就要花多少精力去定制线上的这款APP,这款产品。所以说每一款产品一定是不一样的。模板是不能使用的。我感觉这是第一点最大的区别。

第二点就是对提供API的这个层面上,功能提供的方式不一样,WordPress它更多的提供是一些封装好的功能,它可能实现甚至跟业务逻辑有些,因为它是一些内容管理的系统,可能跟业务有结合。而APICloud,我们提供的API都是一个功能独立的,跟业务没有任何结合,我们提供的都是最细的,最垂直的API,所有的API怎么去使用去组合,那都是前端工程师自己的事情。

   

7. APICloud如何定义服务企业与开发者社区的关系?

邹达:APICloud从2014年上线到2015年底,我们是没有任何的商业模式的,我们完全就是在做2D这件事情,B2D是我们主要做的事情。就是去做这样一个社区,免费提供给开发者使用。所以说今天很多的这个我们的客户,其实它找到APICloud,包括我们今天在做一些APICloud定制平台,包括做一些企业的互联网化生态平台,做了一些2B的事情和2E的事情,在很多客户的印象当中,还认为APICloud是一个2D的平台,是因为我们降维去做了这样一个事情,所以说APICloud我们首先是一个移动应用的Cloud平台,然后才是一个应用的定制平台和企业互联网化的生态平台,我感觉这是一个发展的历程。其实APICloud我认为我们能够比较顺利地走到今天,我们的思路一直没有变过,整个发展过程完全按照我们思路去做。首先做个B2D的平台去聚焦开发者,包括我们推出了一些模块Store,其实把一些模块的开发者和服务厂商聚合到这个生态当中来,聚合了这样一个生态之后,我们又通过定制平台把需求方聚合进来,应用的需求方,那么有了这样的一个需求方,开发者,模块提供商,服务提供商,以及APICloud这样一个完整的生态能运转起来之后,我们认为我们可以去把用我们平台上面的这些Develop资源去服务很多这种B端或者是这个B端的用户。

   

8. APICloud如何定义平台下的模块还有APP的知识产权?

邹达:使用APICloud开发的所有的应用知识产权都是归开发者所有的。因为我们平台就是一个工具的平台,我们提供了大量的引擎和API。所有的这些API,像你说到的,我们是以模块的方式来进行提供的,也就是说,每一个API的组织可能十个,或者二十个API它是按照模块的方式进行组织,那这种模块可以是由APICloud官方提供,也可以由个人开发者和服务厂商,基本上国内所有垂直类服务的模块在APICloud都能找到,并且都是这些厂商自己封装的,比如像科大讯飞的语音识别,高德的地图,那其实这些模块本身的提供商就是这些第三方的服务厂商,所有的知识产权一定是归他们所有,个人开发者为我们提供的模块知识产权也归个人开发者所有。

   

9. APICloud在APP软件安全方面有哪些举措?

邹达:我们对于这个安全方面,我认为其实我们有4个方面,因为我感觉不仅仅是APICloud这样的平台,所有的应用开发者平台,或者是引擎都应该有相应的安全的机制。APICloud主要通过四个方面来进行。

第一个方面,我认为应该就是代码级别的安全,因为使用这种混合技术开发,他使用的是标准的HTML,CS,JS这种前端的脚本的代码,正常来讲这种代码其实是没有加密的,其他人都可以很容易获取到,针对这点APICloud我们推出了这种全包加密的方式,就是在APICloud我们开发者开发完之后只要在APICloud平台云编译的时候选择全包加密,我们会对这个里面所有的HTML,CS 和JS代码进行全包加密,我想这是这个代码级别的安全。

第二个层面上,我认为是这种数据传输上的安全。这个其实不管是安卓,iOS,还是其他的系统当中,因为我们一定需要这种前后端的交互,这种交互的过程中我们如何保证数据通讯的安全,APICloud我们是支持标准的HTTPS的协议,并且支持终端和服务器端HTTPS的证书。同时我们平台上也有很多加密的算法,基本上所有行业当中,主流的加密算法开发者在APICloud平台上都可以找到,开发者也可以按照自己的需求来进行数据传输过程中的加密和解密。

第三类,我认为就是数据存储的安全,本地的数据如何去保证它安全?在这点,APICloud我们有一个自己的定义的应用的沙箱,以及资源访问的协议。同时,开发者也可以根据我们提供的大量的加密算法把这个数据加密之后存储在本地。

那最后我认为就是API调用的安全。因为在整个过程当中,APICloud扩展了非常多的,有一万多个API,这些API对于有些企业级应用它可能要限制一下,是不是每个API,每个用户都能去调用。其实对于这种API的权限我们有一套自己的机制,你可以去定义这个API在云端代码当中调用,还是在本地的代码当中调用,包括可以设置它能够调用的这个域的范围,比如你可以指定只能是在某个网站,所以说这样的一个通过市场的机制来保证安全的机制。

   

10. 我最后想问一下APICloud的终极梦想是什么?

邹达:其实我们当时在创建APICloud的时候,那个时候是App比较火的时候。我们当时在想域名的时候就是在找一些APP相关的域名,但是后来,我们也分析了一下,我们认为未来会进入到一个API的时代,所以说我们后来也是花了很多钱,购买了在apicloud.com这样一个域名,因为我们认为其实APP是我们今天应用业务落地的一个非常主要的使用的形式,但是,这个APP它需要使用的所有的功能还是需要通过API的方式提供,所以说APICloud我们在技术层面上的一个更大的愿景,我们希望APICloud能够成为一个强大的API的中台,把前端开发工程师所需要使用的一切的功能、数据和服务,在APICloud这样一个中台进行标准化的封装,然后形成标准化的接口提供给前端去使用,这是技术层面上的。

如果放到一个业务层面上,我认为一切能够交给别人去做的事情,在技术层面上来看,它都叫API,所以说像APICloud,我们今天打造这样一个生态平台,我们就是利用我们平台上面的大量的这种开发者的资源和他们的能力,为企业提供这种服务,就相当于企业可以把它们的,可能是一个大的项目,可能是一个功能,可以通过APICloud平台,这种API一方面是技术的API,另一方面是人力资源的API,是一种能力的API,是一个服务的API,通过这样一个平台,我们把各种类型的API聚合起来,提供给企业。

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT