有赞移动 iOS 组件化(模块化)架构设计实践

一、背景 业务组件化(或者叫模块化)作为移动端应用架构的主流方式之一,近年来一直是业界积极探索和实践的方向。有赞移动团队自16年起也在不断尝试各种组件化方案,在有赞微商城,有赞零售,有赞美业等多个应用中进行了实践。我们踩过一些坑,也收获了很多宝贵的经验,并沉淀出 iOS 相关框架 Bifrost (雷神里的彩虹桥)。在过程中我们深刻体会到“没有绝对正确的架构,只有最合适的架构”这句话的意义。很多通用方案只是组件化的冰山一角,实际落地过程中还有相当多的东西需要考量。 本文并不准备对组件化架构设计方案给出一份标准答案,而是希望通过我们的实践经验和思考分析,…

Read More

有赞零售财务中台架构设计与实践

一、背景 传统模式下,企业的经营活动会产生大量的业务数据。财务人员需要根据业务数据,进行会计核算,并输出财务数据。通过这些财务数据,企业可以进行财务管理、财务分析、业务决策。但会计核算的工作量非常庞大,大多工作也比较基础、简单,可以被计算机替代。企业每年在基础的核算工作上会花费大量的人力资源,在更重要的财务管理、财务分析、业务决策上无暇顾及。为了解决此类问题,财务中台应运而生。 财务中台是业务系统和财务总账系统间的桥梁,通过汇集所有业务数据,进行筛选、核算、…

Read More

响应式架构与 RxJava 在有赞零售的实践

随着有赞零售业务的快速发展,系统和业务复杂度也在不断提升。如何解决系统服务化后,多个系统之间的耦合,提升业务的响应时间与吞吐量,有效保证系统的健壮性和稳定性,是我们面临的主要问题。结合目前技术体系和业务特点的思考,我们在业务中实践了响应式架构以及RxJava框架,来解决系统与业务复杂所带来的问题。 实践响应式架构 响应式架构是指业务组件和功能由事件驱动,每个组件异步驱动,可以并行和分布式部署及运行。 响应式架构可以带来以下优势: 大幅度降低应用程序内部的耦合性 事件传递形式简化了并行程序的开发工作,使开发人员无须与并发编程基础元素打交道,同时可以解决许多并发编程难题,如死锁等。 响应式架构能够大幅度提高调用方法的安全性和速度。 对复杂业务系统的领域建模,响应式架构可以天然支持。每个系统组件就可以对应到一个业务实体,业务实体之间通过接收事件来完成一次业务操作。…

Read More

有赞零售小票打印跨平台解决方案

作者:王前、林昊(鱼干) 一、背景 零售商家的日常经营中,小票打印的场景无处不在,顾客的每笔消费都会收到商家打印出的消费小票,这个是顾客的消费凭证,所以小票的内容对顾客和商家都尤为重要。对于有赞零售应用软件来说,小票打印功能也是必不可少的,诸多业务场景都需要提供相应的小票打印能力。 打印需求端 小票业务场景 小票打印机设备类型 过去我们存在的痛点: 每个端各自实现一套打印流程,方案不统一。导致每次修改都会三端修改,而且 iOS 和 Android…

Read More