6月30日消息,滴滴出行今日公开了首个开源项目VirtualAPK,该插件框架可以帮助企业随时更新插件发布新功能,包括修复严重崩溃或进行业务“试错”,具有功能齐全、基本无入侵、易于插件获取宿主代码和资源、兼容性高四大核心优势。滴滴表示,VirtualAPK支持四大组件和几乎所有Android特性,插件开发等同于Android原生开发。该项目已在内部成功验证。在迭代过程中,不断进行高密度模型适配和细节特征支持,运行状态稳定,足以支撑滴滴部分甚至全部业务的动态发布需求。目前,开发者可以登录Github(https://github.com/didi/VirtualAPK)查看项目的详细介绍和源码,或者滴滴开源平台(https://didi.github.io)/)获取更多信息。在传统的APP发布流程中,大部分开发者采用固定周期的发布节奏,比如两周更新一次或者一个月更新一次。应急版,应急版虽然可以解决燃眉之急,但是在用户体验上会造成无法挽回的损失。另外,还有一种常见的情况,比如早期的创业公司,需要快速“试错”,试图找到市场方向,频繁发布,甚至一天一次,但在正常发布过程,显然不现实。VirtualAPK有效解决了上述问题。通过VirtualAPK插件化业务模块,随时通过更新插件发布新功能。无论是修复崩溃,还是业务“试错”,都能高效进行。其实市面上已经有很多优秀的开源插件框架。滴滴之所以选择自研VirtualAPK,首先是大部分开源框架支持的功能不够全面。除了DroidPlugin,大部分只支持Activity。其次,兼容性问题严重,大部分开源方案都不够完善。由于国内的Rom试图深度定制Android系统,这导致了很多插件框架的兼容性问题。在现有的开源方案中,除了少数开源方案外,其他方案在兼容性问题上严重不足。第三,现有的开源方案并不适合滴滴的业务场景。DroidPlugin虽然在功能完整性和兼容性上是一个非常完善的插件框架,但其使用场景与滴滴的业务并不匹配。DroidPlugin专注于加载第三方独立插件,如微信,插件无法访问宿主的代码和资源。在滴滴打车中,其他业务模块需要主站提供订单、位置、账号等数据,所以插件不可能不与主站交互。基于以上,滴滴自己开发了这个插件框架。功能全面,兼容性好,也可适用于耦合业务插件。这就是VirtualAPK存在的意义。业界认为,在加载耦合插件方面,VirtualAPK可以说是开源方案的首选。
