随着5G技术的发展和移动终端普及,移动设备的便捷性和网络的泛在化,移动应用已广泛应用于电子商务、电子政务、医疗和辅助教学中。
智能手机等移动终端的存储、运算能力不断增强,但其显示、输入等不如PC灵活,对操作界面灵活性有强烈的要求。
移动终端的操作系统比较多,目前流行的有Android、iOS、WindowsMobile等。
移动应用可以看作是PC端的补充,移动应用的便捷化、实时性已成为企业管理、电子商务、电子政务、交互式教学的重要工具。
目前已经有众多HybridAPP开发成功应用,比如美团、淘宝、爱奇艺、微信等知名移动应用都是采用HybridAPP开发模式。
移动端的开发方式三分天下
目前移动应用程序按开发模式可分为NativeAPP和HybridAPP、WebAPP三大模式。
NativeAPP开发模式
即原生开发模式,是一种传统的开发模式,他本质上是基于移动操作系统开发的,可以直接操控本机资源,如摄像头、短信、电话本、本地数据库等,在应用性能上和交互体验上是最好的,但可移植性差,需要为不同操作系统单独开发独立版本(且不同版本直接很少复用代码),开发成本大。
WebAPP移动端
是基于Web的系统和应用,一切资源从服务器加载,加载慢相应速度慢,用户需要输入网址问题,但开发速度快、开发成本低和跨平台性。
Web技术本身需要浏览器的支持才能进行展示和用户交互,因此主要用到的技术是HTML5、Javascript、CSS等,只需要在Android和iOS直接写个壳就好了,大大减小了开发成本,而且Web是实时渲染的,即使有Bug,可以直接发布就好了。
Hybrid app
混合移动应用开发模式是指在进行移动应用的开发时,同时处用程序语言及网页语言实施应用的开发,其兼顾原生开发及Web开发的特点和优势,使应用既具完全设备访问能力,保障了用户的体验度,同时又打破了各平台间的限制,实现了跨平台开发,是当前移动应用的主要开发模式。
在开发一款App产品的时候,为了提高效率、节省成本而利用原生与H5的开发技术的混合应用,更通俗的讲由“HTML5云网站 APP应用客户端”构成的App是混合开发。
后来随着微信、支付宝、百度等超级App大力发展小程序,我们也逐渐把“小程序 APP应用客户端”纳入到混合开发的范围内。
混合开发模式的主流技术有:Cordova、ReactNative、WEEX、AppCan、基于Android系统Java语言/iOS系统C语言的WebView开发等。
今天主要分析混合开发(HybridApp)的优劣势以及一些经验的分享。
一、优势
1、可离线运行。
2、比Web版实现功能多;
3、兼顾了部分原生的优秀操作体验;
4、代码维护方便、版本更新快,节省产品成本;
5、开发效率高,节约时间。同一套代码Android和iOS基本上都可使用;
6、更新和部署较便捷,每次升级版本只需在服务器端升级即可,无需上传到AppStore审核;
二、劣势
1、既懂原生开发又懂H5开发的高端人才难找。
2、功能/界面无法自定:所有内容都是固定的,不能换界面或增加功能;
3、加载缓慢/网络要求高:混合APP数据需要全部从服务器调取,每个页面都需要重新下载,因此打开速度慢,网络占用高,缓冲时间长,容易让用户反感;
4、安全性比较低:代码都是以前的老代码,不能很好地兼容新手机系统,且安全性较低,网络发展这么快,病毒这么多,如果不实时更新,定期检查,容易产生漏洞,造成直接经济损失;
混合开发的应用场景
哪些条件和情况选择混合开发是具有较高性价比呢?哪些行业或场景是适合于混合开发模式的呢?
如果单从技术角度分析的话,许多企业都已经拥有Web开发技能,选择混合开发方法,在合适解决方案的支持下,Web开发者只要仅仅运用HTML、CSS和JavaScript等Web技能就能构建App,并且使用Web语言编写的所有代码都可以在不同的移动平台之间共享,使得开发和日常维护过程变得集中式、更简短、更经济高效。
许多分析师也预测,混合开发未来也可能会成为开发前端App的默认技术。
混合开发APP适合于网络型应用,数据存放于服务器。因网络安全限制,不能像PC端的C/S模式桌面应用采用RPC(远程过程调用),而是采用AJAX在ServerAPI和WebAPP之间传递数据。
一些需要经常性开展更新内容的App是非常适合混合开发模式的,另外对于小型团队来讲开发混合应用也是值得优先考虑的,首先是技术难度要求较低,其次开发的时间周期更短利于后续的维护。
更优质的混合开发模式
相较于其他开发模式来说混合开发也有较为明显的问题,其中之一就是H5页面会经常出现白屏卡顿等问题,这是HTML5的通病。
借鉴互联网巨头的经验现在可以以小程序来替代混合开发中 H5 页面承载的业务,
相较于H5主要的优势如下:
- 包尺寸有效减少,节省流量和存储;
- 服务不再受发版所限制,支持热更新;
- 能获取更多系统权限,完成更加丰富的产品设计;
- 远超过 H5 的体验(支持本地缓存,Webview,有丰富的组件与支持库);
- 可以避免 DOM 泄露(不使用常用的 window 对象与 document 对象);
技术原理就是以非入侵性的方式把 FinClipSDK 嵌入到现有的 App,让App 具备小程序运行能力,从而转变为「原生 小程序」的混合开发模式。
结语
总而言之,混合移动应用开发模式是当前移动应用的主流开发模式,其门槛低、具跨平台优势,实用且可伴随科学技术的发展而不断得到改进,极适用于移动应用的开发。
相信小程序替代混合开发中 H5 页面承载的业务也会越来越受开发者的关注和认可,让我们拭目以待!