Android 开发高手课
张绍文
前微信高级工程师,Tinker 负责人
52723 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已完结/共 62 讲
导读 (1讲)
模块一 高质量开发 (25讲)
Android 开发高手课
15
15
1.0x
00:00/00:00
登录|注册

40 | 动态化实践,如何选择适合自己的方案?

插件化的未来
热修复的未来
团队技术栈和代码的历史包袱
业务类型
Yoga
Tangram
VirtualAPK
RePlugin
Atlas
快应用
Weex
React Native
zCache
VasSonic
PWA
各大公司在大前端的实践经验
动态化实践的看法
未来发展趋势
动态化实践的探索
布局动态化
热修复和插件化
统一技术栈的重要性
考虑因素
布局动态化
业务插件化
虚拟运行环境
Web容器增强
依赖客户端的动态化能力
淘宝iOS客户端更新发布节奏
运营需求对客户端架构和发布模式的要求
小程序
React Native/Weex
H5
课后作业
总结
Native动态化方案
动态化方案的选择
常见的动态化方案
动态化实践的背景
国内大前端的动态化能力
跨平台开发方式
动态化实践

该思维导图由 AI 生成,仅供参考

在专栏第 36 期《跨平台开发的现状与应用》中,我分享了 H5、React Native/Weex、小程序这几种常见的跨平台开发方式。站在开发的角度,虽然跨平台的开发效率要比 Native 开发更高,但是这并不是大前端在国内盛行的最主要原因。
相比跨平台能力,国内对大前端的动态化能力更加偏执。这是为什么呢?移动互联网已经发展十年了,随着业务成熟和功能的相对稳定,整体重心开始偏向运营,强烈的运营需求对客户端架构和发布模式都提出了更高的要求。如果每个修改都需要经历开发、上线、版本覆盖等漫长的过程,根本无法达到快速响应的要求。
所以 H5、React Native/Weex、小程序在国内的流行,可以说是动态化能力远比跨平台能力重要。那我们应该选择哪一种动态化方式呢?正如我在跨平台开发所说的,目前这几种方案或多或少都还存在一些性能问题,如果一定要使用 Native 开发方式,又有哪些动态化方案?今天我们一起来学习应该如何选择适合自己的动态化方案。

动态化实践的背景

前几天在朋友圈看到说淘宝 iOS 客户端上一个版本的更新,已经是两个多月前的事情了。淘宝作为一个业务异常庞大且复杂的电商平台,这样的发布节奏在过去是很难想象的。
而现在即使不通过发布新版本,我们也能实现各式各样的运营活动和个性化推荐。依赖客户端的动态化能力,我们不需要等待应用商店审核,也无须依赖用户的主动更新,产品在快速迭代的同时,也有着非常强大的试错能力。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

移动互联网发展进入第二个十年,运营需求对客户端架构和发布模式提出更高要求。国内动态化能力远比跨平台能力重要。文章分享了H5、React Native/Weex、小程序等动态化方案,并掏出了四种类型的动态化方案:Web容器增强、虚拟运行环境、业务插件化和布局动态化。每种方案都有自身的优缺点和适用场景,选择时需要考虑业务类型、团队技术栈和代码历史包袱。作者建议公司内部统一使用同一种动态化类型,以实现统一技术栈和代码迁移。文章深入探讨了动态化实践的背景、常见动态化方案以及选择动态化方案的因素,为读者提供了对动态化方案的全面了解。热修复和插件化方案在国内Android生态中存在一些问题,但随着Android Q的支持,它们重新焕发了活力。布局动态化在提高性能的同时,实现了UI的动态新增和修改,具有较低的接入和学习成本。动态化方案的发展仍在不断演变,但无论未来采用何种方案,都是为了给用户更好的体验,同时让业务可以更快地迭代。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《Android 开发高手课》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(5)

  • 最新
  • 精选
  • 持续思考持续做的牛牛
    目前我扩宽使用的是插件化技术,这个是根据我们目前项目定制的,我们存在部门协同比较多,而且,很多部门都有成品的APP,最重要的是,我们目前没有IOS端,那么我们想快速集合各个部门的功能,使用插件化最适合不过,对现有的APP进行改造,打包出来APK,直接在我们的宿主上运行。 我们也尝试过atlas这样的技术,但是对我来说,atlas是真的重,一般的项目真的慎重考虑使用。这里我觉得所有的项目都适合插件化,Android优化中有一个指标就是APK大小,如果你插件化用的好,你主APK可以小到怕人,插件化还有个好处就是一切基于原生,在铺开内部推广的时候,可以得到公司内部Android开发人员的快速响应,帮助你扩大影响力,实现业务能力爆炸式上升。 RN、Weex这类技术在移动端上面我一直觉得是比较坑的东西,但是我很喜欢,因为他们也是一种很好的方式,但是我说他坑就是因为他其实在不同平台上适配起来是很麻烦的,但是话又说回来,如果你有机会去研究并能落实的话,那肯定是很好的,因为能学习到Android与IOS上RN的适配技巧,这些其实是更加宝贵的经验,与此同时,如果你有这样的经验,现在flutter这么火,你一定能快速上手,因为其实任何跨平台的开发技术,都离不开系统兼容适配的,因为系统是真的不一样,下面跑的东西不一样,你说要不要适配? 现在个人是比较推荐flutter,因为同样是跨平台方案,flutter相比RN下,flutter要做的适配问题肯定是比RN要少的,因为flutter使用的是另外的渲染流程。 通过个人经验,不管是插件化、动态组件化、RN Weex、flutter,千万别给弄的头昏眼花,这些技术我们其实都在实践,也就是说,没有对比就没有最好的方案,只有你自己去对比过了,才能更好的结合你的项目进行更好的定制与改进,好的架构是演进来的,别忘了。 都要学?是的,我认为一个合格的Android移动开发者,你都要懂,那有这么多时间?这里就要说一下,其实他们有很多的共性,只要你搞通一个,比如插件化你搞通了,atlas、滴滴VirtualApk、360Replugin等等这类都是差不多的,RN你弄通了,Weex肯定也不难,flutter也一样,虽然他们面向的开发框架不一样,甚至语言不一样,但是牛逼的你慢慢会发现,语言、上层封装框架,其实都不是什么大问题。 最后感谢作者的分享,学习中。

    作者回复: 是的,一通则百通

    2019-04-11
    3
    20
  • menty
    aab是做到了插件动态下载,作用却只是单纯的减少apk体积,不能用于热更新、修复bug,遇到bug修复还是需要通过发版本解决

    作者回复: Google Play是不允许动态更改代码的

    2019-06-21
    1
  • 钱钱钱我爱钱
    特别是 Android Q 之后,动态加载的 Dex 都只使用解释模式执行,会加剧对启动性能的影响 解释模式是什么?在哪里可以查到?查了三天没看到任何信息
    2021-07-10
  • hanazawakana
    数据通道化该如何实现
    2020-06-26
  • 程序员小跃
    最近公司在规划Flutter的使用,期待能有一个好的路子出来。
    2019-07-30
收起评论
显示
设置
留言
5
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部