“藏经阁-LuaView-聚划算动态化方案.pdf”
在这份文档中,主要探讨了聚划算团队在面对业务动态化需求时,如何采用LuaView技术来解决技术挑战,提高开发效率并实现跨平台动态发布。文档首先介绍了聚划算的业务特点和技术挑战,然后详细讲解了LuaView作为一种动态化解决方案的微观和宏观理解,以及其实现的技术原理。
聚划算作为阿里巴巴集团内的一个重要业务,其App包括聚划算、俪人购等,业务覆盖范围广泛,涉及多种垂直领域。由于业务的快速发展和多样化需求,聚划算面临的技术挑战主要在于如何平衡资深客户端开发工程师的效率和新入行开发者的学习成本,同时提供接近原生应用的用户体验,以及降低运维成本。
在现有的移动开发技术栈中,包括Native、H5、Weex和ReactNative等,每种技术都有其优缺点。Native开发体验好但成本高,H5开发成本低但体验不佳,而Weex和ReactNative则作为混合开发解决方案,试图在两者之间找到平衡。然而,这些技术并未完全满足聚划算的需求,尤其是对于动态发布和跨平台开发的期望。
针对这些需求,聚划算探索了不同的动态化路径,如JSON2Native用于信息架构和运营资源位的动态化,以及H5用于快速发展的垂直频道。最终,他们选择了LuaView作为动态化解决方案。LuaView是一种可以在iOS和Android平台上运行Lua脚本的View,它允许在不依赖应用发布的情况下,通过Lua脚本进行UI初始化和事件处理,从而实现动态更新。
从微观层面看,LuaView专注于单个View中的Lua脚本执行,负责初始化控件和处理事件。而在宏观层面,LuaView被视为一种跨平台的开发方案,能确保在不同平台上的行为一致性,并允许随时更新。
动态化的原理主要基于Lua虚拟机的运行机制,通过在脚本层控制UI的构建和交互,实现动态内容的加载和更新。文档还提到了虚拟机选型和LuaView的技术实现,这部分详细讨论了如何在不扩展脚本层的情况下实现动态化,以及选择Lua虚拟机的原因。
LuaView在聚划算的动态化实践中起到了关键作用,它不仅解决了开发效率和用户体验的问题,还降低了运维成本,实现了跨平台和动态发布的能力,为复杂业务场景提供了灵活的解决方案。在未来,随着技术的发展,LuaView有望进一步优化和完善,以适应更多样化和复杂化的业务需求。