热更新是一种App软件开发者常用的更新方式。简单来说,就是在用户下载安装App之后,打开App时遇到的即时更新。这样的更新方法不仅利于开发者方的降本增效,而且对于用户方的体验也非常友好。下面我们就来详细介绍APP的热更新。

在2017年苹果App Store针对热更新的下架事件以后,开发者们也在不断的探索及尝试最优技术解决方案。其中App+小程序容器技术」的热更新解决方案脱颖而出,成为了近年来App热更新领域,最热门的技术解决方案,没有之一:一码多端运行(跨平台),体验优于H5(松散耦合),避免 DOM 泄露(安全容器)等,都是该方案的核心优势。

热更新的背景是什么

早在2017年,App Store审核团队便针对App Store中“热更新”的App开发者发送邮件,要求移除所有相关的代码、框架或SDK,并重新提交审核,否则就会在AppStore中下架该软件。由于软件热更新绕过了苹果的审核,黑客开发者有可能会通过提交正常的版本之后,通过热更新的方式修改APP导致安全隐患,利用这个“后门”来窃取用户设备中的隐私信息。

与此同时,各行各业的业绩却需要应对千变万化的市场需求背景下加速增长。移动互联网背景下,APP这个主流触达用户的工具,变成为了商家流量竞争的主战场。技术作为业务的市场触达及活跃的保障手段,对于业务应用,尤其是高频引流及活跃的应用需要保持快速迭代更新。基于这个背景,可以说开发者们从未放弃探索及寻找热更新的最优技术解决方案。

App热更新技术方案

市面上App热更新技术方案可归纳为两大类:纯原生(Native)的,以及Hybird(混合开发)模式下的技术方案。

纯原生(Native)的热更新技术解决方案典型的有Dexposed、AndFix、KKFix.....很多且应用也不错,但随着市场上“敏捷开发”,“一端开发,多端上架”等研发概念探索成型并有一些成功实践被广而告之以后,Hybird(混合开发)的移动研发模式便开始流行起来。

因此,我们在本文中重点探讨一下混合式App开发模式下的热更新方案

混合App开发模式之「Native+小程序」

介绍混合App的热更新方案前,还得先介绍一下混合App开发模式都有哪些。

在微信把小程序带火之前,H5在微信中“漫山遍野”。这些在类似微信的社交中心化平台上生存的业务应用,主要目的是给企业主的业务做引流和活跃。既然已经开发了一套应用在微信上,为什么不能应用于App的研发管理上呢?这样是不是更服务敏捷开发的理念?

于是,混合App开发模式–「Native+H5」诞生了。

如今,微信全网小程序数量超过700万,微信小程序日活超过4.5亿,真正进入了业务应用小程序流行的年代,于是开始有人研究「Native+小程序」的App开发模式。

相比于「Native+H5」,「Native+小程序」的App开发模式优势在哪里呢?关键在于小程序相比于H5,有其自身的优势

1、开发成本更低:小程序技术是前端容器技术的一种应用,其组件及UI都有明确的规范,开发者不用考虑兼容性及类似H5开发时复杂工具及框架的选择。

2、用户体验更佳: H5网页是在浏览器内使用,如果网速不佳或者网页加载东西过多就会出现卡顿。 小程序只需在首次使用时是加载,也不会太精准,初次加载后页面再加载就会很流畅了。另外,组件及UI都是有预设组件,展示体验也会更佳。

3、与宿主环境结合更紧密: 如上所述,小程序是基于App端实现的应用,故只能在特定的平台内运行,可想而知其获取系统(App)的权限也会多于H5(H5是网页,只要有浏览器就可以使用)。

4、加载速度更快:小程序是基于App端实现的应用,自身对于App有一定的亲和度,使用时不像H5的网页加载方式,用户主观感觉会更流畅。

基于上述信息,小程序应用能火起来,或者说各大平台竞相“弃H5从小程序”也不是没有其道理所在。

上述说的只是说了小程序自身比H5具备更优的技术解决方案,那么放到混合App开发模式下比较,「Native+小程序」的App混合开发模式的优势可以总结为:

  • 远超过 H5 的体验(支持本地缓存,Webview,有丰富的组件与支持库);
  • 可以避免 DOM 泄露(不使用常用的 window 对象与 document 对象);
  • 包尺寸有效减少,节省流量和存储
  • 能获取更多系统权限,完成更加丰富的产品设计;

图标题:「Native+小程序」的App混合开发模式有许多优势

「Native+小程序」的App热更新技术方案

「Native+H5」的App,其热更新的机制大致是:把需要频繁发版的业务应用H5化,并内嵌至 App 中。当含有页面链接的App版本过审以后,这些H5 页面可以随时远程热更新,用户在不更新App版本的基础上,就能使用最新版的业务应用。

那么「Native+小程序」的App,其热更新方案好在哪里呢?其好处并不在于热更新本身,而是在于「Native+小程序」给企业技术和业务的价值更优,所发挥的作用更大。

首先,说说技术层面

小程序技术作为前端容器技术的技术实践之一,天生与云原生的理念亲和,且具备容器技术的优势:容器安全。

小程序技术的核心功能是视图层与逻辑层分离,这种分离有很多好处:

1、方便多个小程序页面之间的数据共享和交互。在小程序的生命周期中具有相同的上下文可以为具备原生应用程序开发背景的开发人员提供熟悉的编码体验;
2、Service和View的分离和并行实现可以防止JS执行影响或减慢页面渲染,这有助于提高渲染性能;
3、因为JS在Service层执行,所以JS里面操作的DOM将不会对View层产生影响,所以小程序是不能操作DOM结构的,这也就使得小程序的性能比传统的H5更好。

图标题:小程序技术的核心功能:视图层与逻辑层分离

其次,说说业务层面

“容器化”就是将容器中的每个部分(应用、流程等等)都打包在自己的容器中,这有助于提升复用性、透明度以及改善资源隔离。

小程序作为容器技术之一,具备将业务应用打散再重整的能力,即应用松散耦合。产品经理、业务大大们,试想一下,原先的几十个业务模块,可以单独拆分出来,互不影响的运行,不同类型的业务模块,还可以嵌入到你所需要的兄弟App中进行引流或业务承接。

最后小结一下,市面上热更新技术解决方案有很多,如何能够兼顾技术实现且最大限度的支撑高性能技术架构及业务发展,也是需要我们综合考虑的。

技术产品实践示例

Finclip小程序开放平台,为企业提供“小程序运行能力”,它作为小程序运行的环境,为小程序提供安全沙箱、代码解析和渲染等服务。 为了让更多 APP 轻松拥有“小程序运行能力”。凡泰极客将“小程序运行时”实现成一个可私有化部署的 iOS 和 Android 版本的 SDK,可以被第三方集成。也就是说,任何 APP 通过嵌入FinClip小程序SDK即可瞬间获得运行小程序的能力。
仅需 5 行代码,即可让你的 APP 快速启动和运行小程序,而且小程序运行时 SDK,Android 端 1.3 兆,iOS端 1.8 兆,轻量无感,同时SDK采用多线程运行方式,极端情况下也不影响宿主 APP 的安全稳定运行。 快来体验吧~现在注册,即可免费上架99个小程序

企业实践案例

券商:合规安全下的内联外引,助力财富管理数字化转型

背景:

券商App中通常集成的业务功能繁多,传统技术实现方式是紧耦合,相对独立的业务功能也无法独立开发测试、独立发布;此外,券商App本身可运营能力弱,明明用户就在App上活跃着,也无法在线向其进行产品营销,无法通过活动进行触达

解决方案:

1、在App中集成FinClip小程序运行时SDK,从而获得小程序运行能力,逐步把传统紧耦合的功能小程序化,独立可上下架管理,和App载体松绑。
2、利用FinClip兼容微信小程序的特性,App各类功能进行小程序改造后部分也在合规前提下能够被分享至微信,并引导客户回流至App,提升App的活跃度。
3、小程序轻量、便捷,并能灵活的“上下架”发布,满足高频的营销活动需求,并能够针对不同客群推荐不同的营销活动,实现千人千面营销,促进业务办理。

银行:加速生态融合,打造开放银行

背景:

数字化时代的信用卡,既需要满足传统线下消费场景,更需要关注日益上涨的线上消费需求。过去是用户带信用卡到线下消费,现在是银行将商户引进到App中,通过营销活动引导用户使用信用卡。银行数字信用卡如何低成本吸引商家进驻、如何在线运营促进用户消费?

解决方案:

1、银行App通过集成FinClip小程序运行时SDK,可引入外部优质的商家服务小程序,结合自身的金融服务能力,打造特色化金融服务,且丰富App使用场景,从而达到提升App用户活跃的效果。同时,可利用FinClip兼容微信小程序语法的特性,银行可快速、低成本引入微信生态中的小程序商家,降低运营成本。
2、"用完即扔”的营销活动类代码可以快速发布,满足高频运营活动要求。

3、银行App可根据已有用户画像对用户进行精细化管理,灵活呈现不同小程序给用户使用,轻易实现对用户的个性化服务;

3月1日起,FinClip 正式启动首届 Hackathon 大赛!本届黑客松一共包含三大主题赛道(内核组、生态组、创意组),尽可能的让开发者可以找到大显身手的机会,参赛者不论是APP开发者、小程序开发者、产品经理或者UI交互,都可以找到适合的领域,围绕 FinClip 探索无限可能。

同时为了更好的激励大家产出创意,主办方准备了价值十万元的大赛奖金池!现在围观比赛还可以参加盲盒抽奖,Mac pro、人体工学椅、苹果音响等丰富礼品等你来拿!手动指引

关于APP热更新,一个降本增效的好方法相关推荐

  1. 乐变黄杲:当前如何选择App热更新服务

    在2017年6月这个时间点,我们有必要谈谈热更新这个技术到底何去何从. \\ 上半年苹果的两次警告,通知iOS开发者在6月12日前移除热更新相关代码,否则将会下架相关App,一时间风声鹤唳,那么App ...

  2. 一文解释到底什么是“APP热更新技术”?

    首先,热更新技术作为一种App软件开发者常用的更新方式,简而言之就是用户在下载安装APP之后,会有APP的即时更新. 自从2017年苹果App Store针对热更新的下架事件发生之后,诸多开发者也在不 ...

  3. Ionic APP 热更新

    开门见山,本文主题:cordova-hot-code-push 作用:cordova热更新插件,提供了在应用程序中对基于Web的内容进行自动更新的功能. GitHub地址:https://github ...

  4. Ionic APP 热更新 之 产品发布状态下的热更新搭建,去local-dev-addon插件

    上一篇,我们介绍了在本地开发环境下的ionic项目热更新测试, 本文,我们将详细说明如何在去掉cordova-hot-code-push-local-dev-addon插件的情况下,实现热更新. 使用 ...

  5. 一分钟搞懂app热更新

      app更新的方式 app版本更新迭代分为整包更新和热更新. 整包更新是整个app安装包需要重新下载安装,它通过应用市场来更新,整包的体积比较大,下载速度慢. 热更新就是动态下发代码,当用户打开ap ...

  6. Cordova App 热更新 超详细教程

    前言: Cordova热更新的一些要点: 1.在不用重新安装App的情况下,更新你的代码.可以越过应用商店的审核步骤. 2.涉及的插件依赖发生变化时,无法使用热更新,需要去应用商店下载最新版本安装. ...

  7. Android APP热更新中的插件化(Hook技术:反射或动态代理),Demo (2)

    修改AAPT,资源分区,用于Android插件化- https://github.com/BaoBaoJianqiang/AAPT -- Android下的挂钩(hook)和代码注入(inject) ...

  8. 移动端APP热更新方案(iOS+Android)

    出自:http://www.cnblogs.com/Creator/p/7007694.html 为什么要做热更新 当一个App发布之后,突然发现了一个严重bug需要进行紧急修复,这时候公司各方就会忙 ...

  9. APP热更新方案(转)

    本文转载自[http://creator.cnblogs.com/] 博客地址:Zealot Yin 为什么要做热更新 当一个App发布之后,突然发现了一个严重bug需要进行紧急修复,这时候公司各方就 ...

最新文章

  1. IO多路复用概念介绍
  2. php教程知识点归纳,PHP知识点小结
  3. python需要配置环境变量吗_python需要设置哪些环境变量?我只知道一个PYTHONHOME指向安装目录。(python详细安装教程 path)...
  4. Bootstrap 按钮下拉菜单
  5. 「代码随想录」精讲了18道力扣上贪心算法经典题目,总结了这些!
  6. Swift 5 UIStackView中添加自动换行的Label
  7. Zynq7跑peta linux,ZYNQ跑系统 系列(二) petalinux方式移植linux petalinux-config遇到问题...
  8. 新版白话空间统计(3):空间分布模式
  9. java程序设计——实验四
  10. php linux unoconv,Linux-CentOS 安装 Unoconv
  11. OpenWrt的SR9000有线网卡驱动
  12. 炒币机器人:币圈炒币是怎么亏钱的
  13. 第十讲:Python爬取网页图片并保存到本地,包含次层页面
  14. 又一个布局利器, CSS 伪类 :placeholder-shown
  15. 轮胎侧偏角、侧向力分析说明
  16. 不怕你不来,就怕你不学—360前端星计划
  17. “魔方阵“c语言实现,奇数型
  18. 360一键wifi共享 v1.0 绿色免费版
  19. VR虚拟现实游戏长沙VR体验馆哪家好
  20. 贝叶斯深度学习——基于PyMC3的变分推理

热门文章

  1. OBU-采用DSRC技术与RSU进行通讯的车载单元装置
  2. ROC将于10月8日上线PancakeSwap
  3. 您没有足够的权限访问连接的属性。 请与管理员联系
  4. 2017PHP经典面试题
  5. 手机录音+消除杂音+消除回声
  6. 如何分析测试结果和评估测试工作的质量
  7. mac快速上手使用指南
  8. 业内首个支持渐进式组件化的开源框架
  9. 雷达导论PART-III.7 雷达方程
  10. 合约自动化跟单系统项目开发逻辑(代码演示方案)