"); //-->
在这样一个前物联网时代,各种智能设备已经逐渐浮现,随之而来的是移动端设备飞速成长。移动端的数据量已经到达70%以上,而我们每天也会花费数个小时通过手机来获取外界信息。这就涉及到各种手机客户端、APP,那么站在开发者角度,我们又该怎样解读当下市场APP开发面临的诸多问题呢?APICloud联合创始人兼CTO邹达在2017物联网开发者大会上接受了《电子产品世界》编辑专访,就这些困扰诸多开发者的问题给出了精彩的分析和解答。
微信小程序并不能取代APP
微信小程序作为移动端的新生代小鲜肉,当微信小程序刚出现的那一刻,很多人应该和小编有过同样的质疑:APP是否会因此而走向没落呢?就现在看来,并没有!究其根本原因还在于两者在作用和价值上有着本质的不同。
如果一个企业在做移动端产品方面有相应的投入,其完全可以同时做三款产品——H5、微信和APP。但是这三款不同的终端产品的作用和价值是不同的。
H5作用是引流和宣传。H5虽然实现起来简单,但是其功能有限,体验不好,其主要起到引流和宣传的作用。我们每天会花费几个小时到手机上,很少打开H5网页浏览器浏览网页,而H5网站意义是引流和宣传的作用,使用户虽然不知道产品具体功用,但是至少听说过,有印象。
微信的作用是导流、宣传和通知的作用。企业在微信中实现的主要是宣传和咨询,核心产品都还是在APP中,微信公众号的目的是导流作用,通过微信公众号可以知道去哪个APP中完成更多产品购买或查找。例如腾讯新闻,当阅读到一半的时候会提示你下载腾讯APP阅读更多新闻;在航空公司订完票,会在该公司APP中通知订票的相关信息。
APP则代表所有的经营和业务。随着移动端流量占比越来越大,企业做移动端的最终目的是将整个企业的经营核业务放到移动端,因而APP是必须要做的,也是无可取代的。
API开发APP的优势
当下APP开发动辄数千行代码,还有安卓、IOS两套操作系统,这给开发人员带来了极大的困扰。这时就不得不提到API了。
API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。API一个很强悍的功能是复用功能,例如做一个智能家居的应用,智能家居应用里面有一些最常用的API,例如,图标、图表等功能模块都可以复用,而不用再从零开始敲代码,这就极大地简化了开发人员的难度和工作量。
移动端与云端的任务分工
APICloud是一个移动应用开发平台,邹达先生介绍称,“我们觉得所有的功能、服务和数据都应该以API的形式提供出来,而由于APP代表着业务,在现阶段,这些功能、数据和服务更应该以APP的方式去落地。”因而,APICloud的API分为两种——端API和云API。端API是用来实现APP中的各种功能,例如UI界面、二维码扫描、蓝牙连接等。云API用来实现应用运行过程中一些服务,例如:分析、版本管理、推送等。
现在端API中很多核心功能也是放在云端的。随着物联网时代的兴起,万物互联,现在的移动终端中手机的性能还是很好的,而很多其他智能设备,例如冰箱、空调等,其处理能力并不需要那么强,UI界面也不需要很炫酷,其更多的需要是展示功能。而对硬件设备的控制和通信,这些功能还是要通过云端的API实现。
而就移动端与云端的任务分工,邹达先生称,“我们认为所有的功能和界面在移动端完成,数据和服务是放在云端完成的。”
一套代码,两个版本
APICloud核心团队曾经都是做浏览器的,而浏览器有一个特点是:不论是在安卓系统,还是苹果系统中,其在访问同一个页面的时候,实际上访问的网页是相同的,随后通过浏览器来解析。APICloud的引擎是在浏览器引擎的基础上做了很多扩展,所以用APICloud平台开发APP只需要写一份H5代码,就可以实现同时支持安卓和IOS两个系统版本。
谈到为何要做这样一个APP开发平台时,邹达先生表示,一个新的工具出现就是希望可以解决老的问题,而我们这个平台想要解决的老的问题就是跨平台开发的问题,这就是我们做这个平台最原始的初衷。现在我们这个平台有了这个基础之后,更多地强调API,API更多地是把一些生态中的功能实现复用,这些API可以是我们开发的,也可以是其他厂商或个人开发者开发的。开发者不仅可以跨平台,还可以复用很多的API快速进行开发。
建立APP开发者生态的基本要素
在当下物联网时代,由于同一件产品,参与厂商众多,因而,生态问题成了各类产品及产业链不可忽视的问题。如果想要做好一个生态,就需要具备四个基本条件:
1)在整个生态中有明确分工。例如在APICloud平台中,有开发应用的厂商、有提供API的厂商,有第三方服务厂商,有个人开发者,当然也有需求方。只有先确保分工是非常清楚的,才能确定究竟需要几方加入这样的生态;
2)需要构建自己的生态产品。有分工明确的生态,然后要将其细分,例如其中包含10个不同的角色,那么这10个不同的角色如何才能劲往一处使,这就需要有一个生态产品,在一个共同的生态产品上一起做事;
3)要能实现共赢。只有能够实现共赢,才能让大家一起继续在生态中持续成长和不断发展;
4)需要有互联网基因。目标不是小的利益和眼前的问题,而是愿意去把生态做起来。
APICloud是一个比较注重生态的平台,其用户大部分也是开发者,所做的也是生态产品。邹达先生介绍称,在APICloud平台上我们有应用的开发人员,有提供API的服务厂商(例如高德地图、科大讯飞会将API按照标准版提供给我们),也有APP需求方,各方相互合作,才能得到打造更好的生态,实现持续成长和发展。
四步避免APP开发漏洞
开发者在开发过程中可能会有一些漏洞,会有被其他开发者趁机注入恶意代码/功能的风险,这时就需要一个完整的开发系统保证它的安全机制。
APICloud作为一个开发平台,通过四个方面保证其APP的安全性:
1)代码的安全。APICloud支持对HTML,CSS,JS代码进行全包加密,经过加密后的代码,使用任何代码编辑工具都无法正常识别,显示为不可阅读的乱码,可以有效保护源码的安全;
2)数据传输的安全。很多运行过程中的数据,例如医疗数据、用户个人信息数据等必须要保密。如手环,收集到数据后会传输到云端,这就涉及到双方通信的安全,APICloud通过HTTPS传输加密或自定义加密算法来保证数据在传输过程中的安全性;
3)本地存储的安全。一个应用在运行过程中会产生很多的数据需要存储在本地数据库,APICloud通过支持对本地数据库数据加密存储的方式保障本地存储的安全;
4)权限的安全。支持控制应用允许访问设备中的API范围,比如:只允许本地代码访问,或者允许某个域,多个域的访问,只允许应用访问某一个服务器等。
开发者开发门槛低
开发者只要有标准的外部开发(包括HTML、CSS、JS等)能力就可以运用APICloud进行APP开发。APICloud平台是在JS的基础上扩展了600多个模块,1万多个API,这1万多个API都是之前标准H5所没有的,同时又是现在开发APP一定会用到的功能。例如蓝牙连接、WiFi通讯接口、地图导航等功能,这些功能使用和标准API的使用是一样的。因而,一个开发者只要具备基本的外部开发技能,了解基本的HTML、CSS、JS语法就能够轻易上手。
国内企业更青睐定制化服务
中国人喜欢定制,国内企业也是如此,因而有“中国式定制”一词。APICloud在2016年就发布了一款“模板store”的产品,这款产品主要是针对有很多开发人员或创业公司因为运营不当做不下去了,但是整个系统做得很好,包括APP、管理后台及服务器,产品所有者可以将其放到APICloud 的“模板store”中,成为一个模板,用户可以以租的方式来用。例如你需要一个外卖平台,可以从“模板store”99块钱买一个模板,买完之后可以试用,生成APP、管理后台等,如果体验良好,一年交1~2万元的租金,将数据录入,就可以长期租用。而其实到目前为止,我们也只卖出20多套,而做私人定制,我们一个月可以做30多个定制项目。由此可见,国内的企业更喜欢定制产品。
APICloud平台中所有的API和模块都与业务无关,是纯功能性的。例如,你想做一个装修,我们提供的只是地板、瓷砖和家居,用户自己组装。邹达先生表示,以我们四年的经验来看,中国企业对定制化要求很高,我们通过功能复用,降低开发成本,提升开发效率,但是最终还是要用户自己定制。
智能设备的APP统一任重道远
小米、华为都有自己的APP,而用户需要却是一个统一的平台,这也是当下智能设备应用普及的一大阻碍。
所有这些物联网应用设备最核心的功能主要包括两块:通信功能和控制功能。通讯方面,像小米、华为,他们所有的智能设备与其云端是长链接的,会不停的将数据报给各自的云端。这就导致本身的通讯接口及接口规范的不同;控制方面,控制一个硬件设备启动,是给其码值,例如“01”代表开机,“10”代表关机,不同的厂商这些码值也不同。
因而,现在还无法做到平台统一,未来很长一段时间也很难实现统一。
云端接口及API不同,终端控制指令不同,这是现在要实现平台统一面临的问题。而如果要做这件事情,通过API的方式来实现反而是合理的,因为API可以实现多功能复用,简化开发;同时还可以实现转换,例如小米和华为的API不同,可以通过API做一个中间层实现转换。
小结
随着物联网时代不断发展,智能化、云存储的不断深入,开发者如何开发出一款更适合企业应用,用户体验更好的APP的重要性逐渐凸显,正如邹总所分析,APP代表企业移动端所有的经营和业务。而利用API开发你的APP显然省时省力,也更能满足时代所需。
*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。