Android动态化方案

目前接触到的Android几种动态化方案:

1、WebView

2、H5/Hybird

3、插件化

4、ReactNative

5、热修复

6、小程序

一、WebView

WebView是最常见的一种动态化方案,跨平台(Android/iOS),可以不依赖于发版实时更新,其劣势在于体验和性能不如NA的体验,有些功能需要依赖客户端提供端能力实现。

二、Hybird

Hybird是一种NA + Web的混合开发模式,底层依赖于Native提供的容器,上层使用Html&Css&JS做业务开发,底层透明化、上层多样化,这种场景非常有利于前端介入,非常适合业务快速迭代,对于需要快速试错、迅速占领市场的团队来说,Hybrid一定是不二的选择。但Hybird的体验肯定比不上Native,所以生存下来后还是需要做体验更好的原生APP。

三、插件化

插件化技术的出现一个大背景是Android有一个史上最坑的天花板 —— 65535方法数的限制,它要求在Android的一个dex文件中的方法数不能超过65535个方法。随着业务逻辑的复杂导致客户端代码的急剧膨胀,很容易就碰触到了65535方法数的限制。有人提出了通过拆分dex的方法规避天花板的限制,但随着代码量和各种资源的不断增大,导致一次编译、运行、调试的速度降低,启动速度慢,导致开发成本高、用户体验变差。

在运营为王的时代对模块的热更新提出了更高的要求,所谓热更新就是在不依赖发版的情况下,对业务进行实时的更新,也可以对客户端一些线上问题进行实时修复。在业务层面,功能模块的解耦以及维护团队的分离是大势所趋,各个团队维护着同一个APP的不同模块,如果每个模块升级新功能都要对整个APP进行升级,那么发布流程不仅复杂而且效率低下,在讲究小步快跑和持续迭代的互联网时代,对开发效率和版本迭代速度有更高的要求。

插件化的方案可以解决宿主APK中的Java方法数限制;宿主APP可以不通过系统安装和使用插件APK;可以只在指定的时候才加载作为功能模块的APK;插件APK同一套代码可以作为插件和独立运行的APK;兼容Android所有版本(AndroidP待定)。

                                       

四、ReactNative

ReactNative(简称RN)是Facebook于2015年4月开源的跨平台移动应用开发框架,致力于提高多平台开发的开发效率 —— Learn once, write anywhere,跨平台(支持iOS/Android)。

关于H5、NA和RN应用的对比分析,可见文章:http://vczero.github.io/react_native/H5-React-Native-Native.html

五、热修复


  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值