大量模块壳工程本地如何快速编译?优酷 iOS 工程插件化实践

作者:醉仙

随着优酷业务的快速发展,随之而来的是模块数量的爆发式增长,基本每年以大量新增模块的速度增加,到目前为止优酷已经有非常庞大的模块依赖。模块之间通信往往是相互直接依赖调用,以至于耦合十分严重且混乱,每一个库依赖都是一颗“树”,甚至于一张“网”,对日常研发造成很多困扰:

插件化落地结果

iOS模块插件化已经全面在优酷落地,沉淀出各业务线的轻量工程,大量的业务及架构插件,后续可根据不同业务需求,自由组装插件工程。以下是目前插件化工程落地后的一些收益:

  • 直接收益

    • 业务插件工程编译效率提升 显著,本地编译时间大幅降低,相关全部开发已使用起来;

    • 通过插件组装生成业务插件工程,插件工程支持模拟器编译调试,并支持热重载;

    • 模块工程和整包工程均使用插件作为依赖,彻底解决模块工程和整包工程依赖模块版本不一致情况,并支持依赖模块版本自动更新;

    • 业务插件工程依赖库数量大幅减少,且pod直接复用缓存,大幅提升pod成功率及速度,磁盘占用大幅减少;

  • 间接收益

    • 可提供运行内存、app启动、功耗等插件卡口,常态化保持良好的用户体验;

    • 所有插件支持自由组装,通过配置中心,提供快速孵化极速版、国际版、Apple Watch、Apple TV等App的能力;

    • 依赖减少,swift断点调试时的module树快速生成,断点效率提升;

    • 提速打包效率,建立插件工程构建平台,测试同学使用平台动态配置生成插件组合安装包即可进行测试。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值