共享APP在现实生活中的实践应用研究
2019-10-21朱文杰
朱文杰
内容摘要:经过近几十年的发展,人们已经从互联网转向移动互联网,在应用开发和用户使用的主要矛盾已经由过去的正常开发应用变成现在的开发优质应用,用户也已经从过去的有应用可以使用转变为挑选使用简便免安装且体验良好的优质应用。为了缩短开发周期、降低开发成本、减少开发人员重复开发应用,本文主要分析开发应用企业使用共用APP内核使用原生开发方式开发应用同操作系统之间形成的关系,最终得出通过非原生类Web、非原生Web来开发共享APP内核是共享APP的最佳实现方式。
关键词:共享经济 共享APP Web APP
一、共享APP产生的起因
经过几十年的发展,互联网技术逐渐成熟,互联网产品和用户之间的关系也由过去的供不应求转变到现在的功过于求。
站在程序开发者的角度来说,过去主要解决的问题是如何通过使用现有技术开发应用层和其他层来来完成对应互联网产品(即手机应用APP、网站Web应用等),而现在主要解决的问题是如何通过使用应用层现有技术高效率来实现制作低成本、高效率、维护简单、精简化的、高质量的互联网产品的目的。
从用户的角度考虑,在互联网软件应用十分匮乏的功能机时代,手机的定位仅仅是一个通讯工具,过去人们对通讯工具主要要求是通信能力强;在智能机时代,尤其是经过10多年的发展,手机的定位已经由原来的通讯工具转变为娱乐工具、生活工具、拍照工具等其他方向,过去用户对手机应用的关注点是能通过手机应用来完成对应的业务即可,而现在用户更多关注的是手机应用体验以及手机应用内存大小以及减少注册操作、
站在国产操作系统开发者角度,过去是要解决完成开发国产操作系统的技术问题,而现在则是如何推广国产操作系统。比如为了降低开发难度,facebook力推H5的web应用替换原生开发,柚子北京科技有限公司、数字天堂(北京)网络技术有限公司、北京起步科技股份有限公司等公司则是推出通过构建widget来借助浏览器内核实现浏览的Hybrid APP,腾讯则是借助自家微信推出小程序;为了解决重复注册的问题,小米推出小米账号,腾讯推出公众号,阿里等其他互联网公司则是通过实现自己产品账号共享的方式来实现。
二、企业在原生APP和共享APP下开发同操作系统关系对比
(一)原生方式下操作系统和应用开发企业关系
开发企业如果开发款一款产品,在开发阶段需要开发1个IOS客户端、1个Android客户端、1个YunOS客户端等多个应用;在测试阶段需要对不同平台软件应用进行分别测试,此时测试产品的数量等于操作系统平台数量*不同版本数量*2;在维护和二次开发方面也需要同时维护
操作系统平台数量*不同版本数量*2个应用。通过原生方式开发应用无论是在开发阶段还是测试以及维护阶段,都需要根据不同操作系统标准分别开发,这样极大增加了开发人员的重复开发负担,程序存在的意义就是降低重复劳动,这种跨平台分别开发方式违背程序本身提高效率的基本原则。
(二)共享APP下开发操作系统和应用开发企业关系
开发应用企业通过共享APP平台开发一款应用,在开发阶段,只需要使用开发1个同版本的应用,就可以在Apple系统、Android系统、YunOS等所有不同操作系统同时访问;在测试阶段和后期维护阶段以及二次开发阶段,也只需要针对一款产品做测试、维护、二次开发,这种架构相对于开发应用企业而言,开发和运营成本大概是原生开发的1/N*V(其中N代表不同操作系统数量,V代表应用版本号),这样就省去了开发人员需要适应不同的平台标准开发、测试、维护,极大降低了开发难度和开发周期以及节省了开发成本,减少开发过程的不可控性,使企业将更多精力提升企业服务上,增加创业成功率。
三、半原生方式开发分析
(一)半原生方式细分
半原生方式开发分为两种。第一种是共享APP内核通过使用Java和C以及C#原生语言开发,开发企业使用非原生类web(web子集)方式开发,数据交互通过JSApi或者JSBridge接口方式调用。第二种是共享APP内核通过使用Java和C以及C#原生语言开发,开发企业使用非原生web方式按照CS架构来开发,双方数据通过http/https方式使用后台语言套用模版调用。前者技术实现难度大于后者,后者加载速度低于前者。
(二)非原生类web具体实现方式
半原生类web方式实现移动应用具体原理是通过Android/IOS基于webkit网页渲染引擎WebView组件来实现客户端访问远程或者本地的Web服务器。该方式实现设计初衷是继承20多年互联网技术积累,降低开发企业开发人员的学习成本。
使用非原生web方式开发共享APP,可以看作是开发企业在一个简易、不显示网址、且内核是带有许多调用Native接口的手机浏览器上进行开发。非原生web这种方式开发,开发企业也不需要根据不同的操作系统的不同标准来分别适配,直接使用现有成熟的Web网站开发技术,不需要开发企业的开发人员重新适应其他标准。具体实现方式为共享APP内核抽象为一个瀏览器内核加上一些调用本地设备信息的原生操作函数方法。
四、结论
三种开发方式各自性能对比如下表。
原生方式开发成本最大,用户体验最好。在图像渲染性能上是最快的,在原生界面上体验效果也是最好的,发布流程也是比较繁琐,本机设备访问上也是全部支持的,网络要求可以支持离线,在开封周期最长、开发成本最大、测试任务最多、二次开发最繁琐;
非原生类Web在图像渲染方式为混合,界面方式为模仿原生,发布形式为Web和AppStore均可,也可以通过调用共享APP内核对应接口来实现访问本机设备,也依赖网络,开发成本、以及开发周期等介于原生和非原生web之间;
非原生web方式开发,是通过HTML、Canvas、CSS方式来实现图像渲染,性能最低,发布方式通过Web方式发布,本机设备也可以通过调用对应的接口来实现,依旧依赖网络,开发周期最短,开发成本最低。
站在开发企业角度综合以上分析,如果应用侧重于展示交流,则采用非原生web方式实现,如果应用侧重性能和效率以及预算足够就采用原生开发,如果企业既想性能好又要成本低、效率快,那么就选择非原生类web方式开发。
站在共享APP平台角度,开发非原生类web和非原生web方式对应的客户端功能,侧重拓展非原生类web和非原生web方式开发的应用场景以及用户。共享APP内核最佳组成是非原生类web和非原生web组合客户端。
参考文献:
[1].张孝荣俞点 共享经济在我国发展的趋势研究.新疆师范大学学报:哲学社会科学版,2017
[2].杨伟.HTML5-APP手机网站开发技巧的应用[J].现代职业育,2017(26):177.
[3]李晓薇.网站制作下的Web前端开发设计[J].电子技术与软件工程,2018(06)
[4]张雪红.浅谈Html5的特性及其发展趋势[J].中国信息化,2018(01):70-72.
[5]程序.基于DIV+CSS布局技术的网页设计实现与优化[J].信息记录材料,2018,19(05):75-76.