美文网首页iOS DeveloperiOS学习笔记IOS
2018-05-16 关于热更新的一些想法

2018-05-16 关于热更新的一些想法

作者: BoooBooo冰Booo | 来源:发表于2018-05-16 07:14 被阅读118次

在IT领域,大前端,AI人工智能,大数据大火的情况下,移动端显得有些凄凉,特别是iOS,打包上架异常繁琐不说,审核还时不时出现问题 ,所以就有了一些炙手可热的热更新技术(JSpatch[1] ,RN[2]等) .

刚刚睡醒,一个想法出现在眼前, 自己动手实现一个热更新,可能会受制于后端,如果后端能够配合并加以设计,那就完美了。

我的想法

- app 写一套正常的代码
- 利用Aspects的Aop 运行时hook,在已有代码上做修改或者替换已有代码
- 后端涉及到页面的接口都添加一个`extendCode`,App动态判断,如果有这个东西(加转义的json字符串)就解析这个json里的iOS代码进行替换

涉及到的场景

  1. 遇到不可预见的bug,不想发版本,要热修复
  2. 需要隐藏或者修改一些东西,受制于发版时间
  3. 搞一个活动页,但是需要和原生交互,活动体验受限

没有热更新,意味着写更多的代码或者马甲包

  1. 强制更新

    1. 推送一个弹窗消息,提示升级
    2. 接口判断升级,自动弹出提示窗口
    3. 支付宝/12306/王者荣耀等大厂支持弹出窗口进行应用内升级,而大部分App还只是跳转应用商店去下载最新版本
  2. 切换根控制器

    1. 之前玩过一个看视频的App,需要填写它指定的邀请码,不然进去的时候是一个毫无违和感的电商应用,填写邀请码之后则是另一个乾坤(意味着写了两套代码)
    2. 看过很多强制登录以及启动引导图的做法也是切换跟控制器来实现的
  3. 马甲包

    1. 原有应用的代码进行修改样式,logo,App的名字,证书,包名等
    2. 重新写一个套壳子,title+web的形式, 套壳包

  1. JSPatch诞生于2015年5月,最初是腾讯广研高级iOS开发@bang的个人项目。它能够使用JavaScript调用Objective-C的原生接口,从而动态植入代码来替换旧代码,以实现修复线上bug

  2. React Native (简称RN)是Facebook于2015年4月开源的跨平台移动应用开发框架,是Facebook早先开源的JS框架 React 在原生移动应用平台的衍生产物,目前支持iOS和安卓两大平台。RN使用Javascript语言,类似于HTML的JSX,以及CSS来开发移动应用,因此熟悉Web前端开发的技术人员只需很少的学习就可以进入移动应用开发领域。

相关文章

  • 2018-05-16 关于热更新的一些想法

    在IT领域,大前端,AI人工智能,大数据大火的情况下,移动端显得有些凄凉,特别是iOS,打包上架异常繁琐不说,审核...

  • 关于使用JSPATH进行热更新

    关于使用JSPATH进行热更新

  • 关于iOS热更新

    把App用到的库,部署到服务端,客户端和服务端保持长连接。热更新通过升级服务端的库文件(更新库文件里面的方法)达到...

  • Android热更新实现方式

    弄完iOS热更新实现方式,空闲时间想去弄弄Android的热更新,寻找一些资料后暂时得出以下热更新方法。尝试几中方...

  • 关于Flutter热更新的一些实践和方案

    整理中....

  • Tinker 热更新笔记

    前言:最近接手一个新项目,用到了 tinker 热更新,记录一下使用心得。 00 Tinker 热更新过程 关于热...

  • 那些生命的足迹

    持续更新...... 1.关于生命周期的一些想法 生命周期描述的"组件"由创建->...->销毁的过程,掌握这些流...

  • Android 热修复

    一、关于热修复定义 1.1、定义 动态的修复或者 更新app 的行为,也叫热更新、动态修复技术 1.2几种容易混淆...

  • Flutter listview多布局

    前言 各位同学大家好,很久没有给大家更新blog了最近看到群里一些关于flutter的疑问。结合自己最近的一些想法...

  • 关于一些想法

    刚刚在火车站卫生间里看到自己蒙着口罩的样子,可能因为化了点淡妆,眼睛也恢复了很多,感觉精神奕奕了许多。 不...

网友评论

本文标题:2018-05-16 关于热更新的一些想法

本文链接:https://www.haomeiwen.com/subject/jvmudftx.html