物联网APP开发
文章分类:APP开发资讯 发布时间:2017-03-22 原文作者:Shi Yongfeng 阅读( )
物联网APP早已不是只能远程控制智能单品开关的初级形态,它正在经历超级化、H5化、去APP化和人性化等演进过程。
做物联网产品,客户端APP开发是一道绕不开的环节。虽说远程控制本身远非智能化的最终形态,但无论从灵活的客制化还是控制功能的完整性来看,APP的入口作用在相当长远的未来都将是不可或缺的。
作为物联网终端企业,了解智能终端APP的行业现状和未来发展趋势,对产品功能开发和提升市场竞争力具有重大意义。本文素材来自一站式物联网解决方案商司南物联的APP工程研发一线,是领先的物联网方案商在全球范围内实施的数百重点项目的经验总结,值得智能终端企业人士认真阅读和借鉴。
APP发展大势:这里也有“四化建设”
APP,可能是智能产品功能序列中最幸运,也是最倒霉的一个。说它幸运,是因为自从终端智能化的概念兴起,APP就一直是各方关注的中心,自定义、场景化、多产品集成化、一键控制,甚至去APP化,智能产品提供的各项功能和服务中,游离于物理产品之外的APP所承载的用户期待居然是最多的;说它不幸,也是因为被关注得最多,被动刀的机会也最多,最后甚至会被改造到四分五裂甚至踪迹难觅的程度。
超级化:受智能终端的泛在化和场景化发展影响,物联网产品APP向集成了多终端控制能力的超级APP演进是一个明显的趋势。移动互联网领域的微信、淘宝,以及与奕环科技联合作的血糖仪 APP等,都已经实现了平台化。另一方面,继承了多终端控制能力的物联网超级APP,其天生就具备平台化的属性。就奕环科技定制开发的网联网APP而言,上百款智能终端产品陆续接入,其中涉及的控制、联动,以及用户对商城、社区和云菜单等后端服务的使用需求,很自然地推动其承担了整合性平台的角色。
H5化:若论及近年来能够影响软件开发格局的技术,继java之后,就要数Html5了。与生俱来的网络化任务能力,以及得到充分强化的本地资源调度能力,让H5编码可以胜任用以开发native APP的工作。虽然效率方面还比不上本地化语言,但是H5作为前端功能开发的明日之星的地位,显然已经是毋庸置疑的了。包括淘宝、微信和奕环科技的智能APP,都已经在不同程度上采用了H5页面技术,这种技术可以让前端页面功能脱离APP本身,存储在云端;只须在云端进行统一更新,即可完成相应的功能升级,不必对本地APP做更改,完美地解决了传统APP更新过程中会遇到的OS和APP版本碎片化的难题。
去APP化:相比其他,这可能是行业人士关于APP最为津津乐道的一个话题了。确实,从智能终端诞生伊始,就一直在不断地收到“有APP控制就是智能化了吗”“开个灯我也要打开APP点一下我累不累”这种质疑。本着为用户不断减负的宗旨,行业内一直都有在试图简化APP操作,甚至想把APP本身给简化掉。
但是无论APP控制终端设备的功能被削减到怎样的程度,其作为用户端配置入口的作用将永远存在。因此我们看到,那些现象级APP一个接一个地提供APP嫁接功能,QQ有“我的设备”,微信有服务号,和奕环科技有着深度合作的视频系统也是集成了第三方设备控制功能的超级APP。正是因为有了这些“APP嫁接和运行平台”的存在,加之前述H5技术的发展,为物联网终端的去APP化提供了可能。
人性化:智能终端APP的核心功能在于配置和控制。前面说过,尽管去APP化是物联网产品行业的必然趋势,但是其作为用户端配置入口的作用却无法被精简掉。在终端APP发展演进的过程中,受相关产业链的利益驱使,其自身一定会持续优化,不断强化自身功能和对用户的贡献,以避免被精简掉的命运,前面提到的终端配置功能、场景化定义功能都是控制功能人性化的尝试。在为环球智达科技(北京)有限公司提供的产品场景化联动方案中,奕环科技物联就在APP上实现了插座、灯、厨房电器等众多物联网终端的联动方案,而系出同门的智能灯控方案,在同行中也以丰富灵活的场景配置功能闻名。
攻城狮的胜利:再谈智能终端APP的工程创新
封建中国有2个产经政策方向根深蒂固:即重农抑商和重文轻理(不包括宋朝)。就后者而言,最直接的影响就是使得我国工程技术的发展严重受制。新中国成立后,受跟随前苏联重工业发展的政策影响和国家基础建设需要,工程技术才得到全国性的恢复和发展,甚至于在学校教育中出现了明显的重理工轻人文的情况。不过不得不承认,工程技术层面的创新,带给产业经济的推动作用确实已经超出了科学研究本身。
做安卓APP开发的童鞋都知道,安卓系统有65535的方法数限制,这对于那些正在不断提升其APP智能化水平和准备打造超级APP的物联网终端企业来说,是一个必须解决好的问题。司南物联就凭借强大的工程研发能力,在这一问题上实现了技术突破。
据奕环科技物联网APP研发一部主管Luogical介绍,他们用来突破安卓系统限制的方法是:把包含方法数较多的功能做成插件的形式,植入到主APP框架之中,这样每一个插件都可以再拥有65535的方法数空间,从而使得司南物联的超级APP固然拥有高度的功能集成和智能化水平,却全然不用担心安卓系统的方法数限制问题。
不仅如此,这种插件式的APP组件,还能够在不同的APP之间进行0成本移植,以奕环科技物联承接的菜箱项目为例,其超级APP中对不同终端的控制功能集成,就可以轻易地移植到奕环科技物联超级APP中,不仅大大提升了代码的复用率,也方便了后期的功能升级和移植。APP技术的探索是无止境的,目前奕环科技物联团队正在强化H5技术的使用,以使APP获得良好的的跨平台特性,这些都是奕环科技物联工程研发人员的胜利果实。
方案商的经营哲学:技术第二,用户第一
方案商大多有着强大的研发团队,但研发永远需要为市场服务。在奕环科技,技术最多只能排第二,具有最高指向性的永远是用户的需求,在过往项目研发过程中,无处不体现着这一理念。
比如,鉴于安卓系统的碎片化,司南物联为所有终端APP内置了版本升级检测功能,并部署了用于APP OTA升级的独立服务器,从根本上解决了安卓应用市场用户覆盖不完整的弊端;再比如,为了解决行业内普遍存在的、智能产品首次配置联网操作复杂的问题,司南物联专门开发了智能配置模式,即一键配置功能。调用C++编写好的一键配置函数库,用户无须在APP上反复操作和输入,即可完成产品的联网配置。
在APP更新技术中,奕环科技的热更新技术对终端企业而言也有着巨大的价值。热更新是一种动态化的功能更新,热更新后APP版本号不变,可实现完全静默升级或有提示的升级过程——对于想要针对即时事件做快速反应的APP来说(如特殊日期的特殊UI风格),这种由厂商主动进行的热更新无须等待应用市场审核,甚至可以完全静默完成,无疑具有决定性的优势;另一方面,这种热更新也更有利于厂商快速迭代APP,推出新功能,修复bug,从实际部署情况来看,对于智能终端企业确实有着巨大的吸引力。
曾经有人询问司奕环科技物联网的研发团队:你们对新技术的态度是怎样的?奕环科技物联网负责人回答,我们对任何有价值的新技术都会跟进和研究,就像嵌入式部门目前正在跟进Zigbee3.0、蓝牙4.2/5.0和NB-iot、LoRa这些新的接入技术一样,APP方面也一直在关注谷歌和苹果在OS和开发工具方面的新技术。但无论如何,最终选用哪些技术来进行功能开发,还是要基于用户的需求来考虑。旧的技术可能会有更多的开源运行库,新的技术开发效率更高,实际选用哪种,需要根据项目的实际情况来进行权衡取舍。技术永远在更新,而方案商的价值就在于,不仅能够了解和掌握新技术,而且能够通过筛选和判断,选用最合适的技术为客户和用户开发最好的产品和功能。