有赞零售移动CI/CD实践

一、背景 随着有赞零售业务的蓬勃发展,为了尽早交付有价值的应用满足客户需求,我们采用了敏捷开发的模式,快速拥抱变化的同时保持竞争优势。从 2019 年起,零售客户端的发版周期更改为每周一次,这对移动端的持续集成与交付提出更高的要求。如何根据现有的团队规模,在有限的资源下,快速搭建稳定可靠的持续集成与交付系统,我们有了自己的实践与思考。 二、问题与挑战 对于一个业务需求的开发或者迭代,移动开发同学除了编写代码,还需要经历打包、测试,如果 QA 同学反馈问题,则需要进行修复,…

Read More

有赞 Android 编译进阶之路 —— 增量编译提效方案Savitar

前言 在前段时间的有赞移动沙龙中给大家分享了有赞移动 Android 团队对于编译提效的实践,会上很多小伙伴对这部分十分感兴趣,但由于时间关系没有能进行一些细节上的交流,所以会后我们整理了两篇文章分享给大家。关于第一部分全量编译提效可以阅读我们小伙伴分享的文章,今天给大家带来第二部分:增量编译提效方案Savitar。 背景 编译慢一直都是成熟 Android 团队难以回避的问题。有赞零售 Android 团队随着业务的发展,项目也到了一个比较大的规模:整个工程有 25 个业务模块,拥有 45W+ 行源代码(Java…

Read More

有赞移动日志实践

背景 日志系统,是移动端定位排查线上问题非常有效的一个工具。 以往商家使用App出现问题,向客服咨询时,客服需要详细收集商家的问题信息、店铺信息(操作步骤、操作视频等),然后提交工单反馈给开发,开发再根据这些信息进行问题定位。这个过程中反复沟通的时间成本无法避免,商家与客服在沟通时也存在信息遗漏与缺失。 随着业务的不断扩张,业务的复杂度不断加深,当用户达到一定的量级时,仅靠客服在商家和开发之间反复沟通,显然不能满足各个业务开发同学的需要,也无法快速定位问题。 挑战 我们亟需一个完善的日志平台来作为商家与开发间沟通的管道,期望在接入日志平台后,可以解决上述问题。 一个完善的日志平台,需要:…

Read More

有赞零售 App 离线切换技术方案

一、离线模式的价值 有赞零售客户端的用户是需要经营线下门店的商家,在商家的经营时间内,如果软件不能保证正常使用会导致经营效率下降,甚至客户流失。因此除了不断优化软件性能,降低崩溃率,还要做好异常情况的降级处理,比如遇到网络故障和服务器故障等情况时,软件要保证核心功能的可用性,此时软件的工作模式被称为离线模式。 在离线模式下,客户端不能和服务端进行正常的数据通信,所有的数据存储和计算逻辑都要客户端独立完成。目前有赞零售客户端在离线模式下支持登录、收银支付、订单管理、会员积分、部分营销活动等核心功能,即使在极端情况下,有赞零售客户端依然保证商户的经营活动正常进行。 在客户端离线解决方案中主要有两个问题: 1、如何准确及时的触发或退出离线模式。…

Read More

有赞零售移动收银商品实践

文 | Alex、Siam 面对线下收银场景,针对商品收银业务,如何提升商家收银的效率?如何保证即使在弱网或无网条件下商家正常的收银?如何设计大量商品时搜索方案?如何对业务模块进行解耦和各种复杂的业务场景交互?都是在设计零售收银业务时,需要去认真思考的问题。 有赞零售移动团队在业务快速地迭代中,沉淀出商品收银的一套可行方案。 模块化设计 得益于零售移动的组件化框架,对业务线划分为店铺、交易、商品、营销等模块 路由负责页面跳转与组件间通信 私有化商品模块数据,商品模块提供查询接口 离线商品数据 客户端本地存储商品商品,即使在无网时,…

Read More