"《聚划算iOS平台动态化方案LuaView》是聚划算林诚在2016全球移动技术大会上的分享,主要介绍了聚划算在面对业务特点和技术挑战时所采取的动态化方案——LuaView,以及如何在效率与灵活性之间取得平衡。该方案旨在提供与Native体验相当的功能,同时降低开发和运维成本。"
本文主要围绕以下几个知识点展开:
1. **聚划算的业务特点和技术挑战**
- 聚划算App、俪人购App、手机淘宝App和手机天猫App等多款应用的业务覆盖范围广泛,包括聚划算、俪人购、淘抢购等多个垂直业务。
- 技术需求:提供优秀的用户体验,同时降低开发和运维成本。
- 技术挑战:如何兼顾资深客户端开发工程师的效率和新入行开发人员的学习成本,实现与Native体验接近的动态化方案。
2. **现有移动开发技术栈对比**
- Native开发(如ObjC/Swift/Java)提供最佳用户体验,但开发和运维成本较高。
- H5(JavaScript/CSS)开发成本和运维成本较低,但用户体验较差。
- 混合开发(如Weex、ReactNative)试图平衡体验和成本,但对开发者技能要求较高。
3. **聚划算动态化的需求**
- 要求开发方案能降低学习成本,提供与Native相似的体验,并具备DSL(领域特定语言)进行业务建模的能力。
- 希望实现跨平台开发以提高效率,以及动态发布以减少运维成本。
- 在过去尝试过JSON2Native和H5等方案,但未完全满足需求。
4. **聚划算动态化解决方案——LuaView**
- 微观理解:LuaView是在iOS和Android平台上运行Lua脚本的视图组件,用于初始化控件和处理事件。
- 宏观理解:LuaView是一种跨平台的开发方案,允许代码一次编写,多平台运行,且不受版本发布限制,能随时更新。
- 动态化原理:通过Lua虚拟机运行脚本,实现界面的动态构建和更新。
- 技术实现:未详细说明,但提到了虚拟机选型及其在实现中的关键作用。
LuaView作为聚划算的动态化解决方案,解决了在保持高效开发和良好用户体验之间的矛盾,提供了灵活的运营策略支持,同时也降低了运维成本。它通过Lua脚本实现了界面的动态生成和事件处理,使得应用的更新更加灵活,适应了快速变化的电商市场环境。