乐鱼体育基于端云一体的移动研发效能提升在证券APP中的研究与实践

2024-08-29

  【摘要】华泰证券建设端云一体移动研发体系,自研适合券商场景的桌面端移动研发工具Ultron(奥创),通过Ultron与云端DevOps、客户端APP全面整合,优化研发流程的执行效率,拉齐开发、测试和运维对应用运行状态的认知,消除信息差,全面展示APP内部执行过程和细节,实现非开发类动作的标准化和自动化,促进研发流程中上下游岗位的高效联动。目前端云一体移动研发体系已全面应用到涨乐财富通、行知、聊TA等华泰自研APP的研发流程中,通过研发体系的转变提升产品的研发效能和质量,保障应用生产的连续性,高效支撑企业的数字化转型。

  随着移动互联网用户增长见顶,存量代替增量市场,存量转化竞争显得尤为重要。提质增效是金融服务领域的重要课题,金融领域的强监管属性对研发效率和质量提出了更高的要求,在政策响应上要足够快,配套工具、平台要更加健壮、完善。当前,证券APP业务日益多样化,软件规模和复杂度不断增加,移动研发进入挑战重重的阶段。在交付速度和质量要求不断提高的情况下,移动研发效能的提升面临着巨大挑战。

  (1)移动研发过程的黑盒现象:研发过程数据不可见,研发角色之间信息不透明,缺乏客户端运行状态的全面监控能力,缺乏私有网络协议端侧监控能力,缺乏行情二进制的数据监控能力。

  (2)移动研发过程的效能工具问题:开发、测试工具分散、不统一,依赖低效、重复的人工端到端测试方式,自动化测试手段不足,质量监控、风险评估工具应用不足,缺乏针对业务交付堵点的提效工具。

  (3)移动研发过程的协作低效问题:烟囱系统林立,不同系统之间缺少能力打通,研发过程中跨角色、跨流程、跨系统的协作产生大量的流转与沟通成本,从而影响全局效率。

  在此背景下,本课题开展了建设端云一体移动研发体系的研究与实践,主要包括:梳理现有业务形态及研发流程,挖掘影响交付效率的痛点,寻找阻碍移动研发效率和质量提升的根因;开发统一的桌面端移动研发工具,围绕透明、效率、质量和协作四个关键词展开;梳理现有业务系统和支撑系统的能力,打通系统“竖井”,通过一站式研发工具(端)与DevOps平台(云)的各项研发服务能力的结合,建立端云一体移动研发体系。

  (2)能力建设:完成Ultron各项研发效能工具的开发,提供一站式研发工具平台;

  (3)体系构建:形成Ultron与DevOps服务能力结合的一体化研发体系;

  (4)全面应用:在华泰所有APP的研发流程中,全面应用端云一体的研发体系。

  在推进端云一体移动研发体系建设特别是桌面端移动研发工具Ultron的研发过程中,我们面临过许多技术挑战。通过深入研究,我们创新性地提出了多项技术解决方案,从零到一地完成了Ultron的基础框架搭建,所形成的成果方案主要如下。

  (1)高性能跨平台桌面软件框架方案:兼顾性能、跨平台(Windows/macOS)、用户体验和开发效率;

  (2)稳定的设备连接、管理与通信方案:构建面向iOS/Android双端的稳定可靠的设备管理和通信机制;

  (3)客户端业务代码零侵入方案:新功能的引入和修改不会对现有业务代码造成影响,保持系统的稳定性和可维护性;

  (4)内置运行环境部署方案:简便快捷的软件部署方式,降低了维护和管理的成本,提高了整体的效率和稳定性。

  在实现对APP的网络、埋点、日志进行实时监控的过程中,需要实时处理大量的网络请求、埋点、日志等数据,对数据处理和图形渲染性能有着很高要求。结合跨端、用户体验和开发效率等需求,我们选择了桌面端跨操作系统框架Flutter。Flutter支持Windows、MacOS和Linux,拥有高性能的渲染引擎,支持热重载,开发者可以快速预览和调试应用。

  在开发桌面版私有通信连接时,由于通讯协议的保密性以及与移动端APP通讯库保持一致的需求,我们将移动端C++通讯库移植至Ultron,在Flutter中使用FFI实现了Dart与网络库的双向操作接口。

  最后,为确保流畅的用户体验,我们采用了多Dart isolate方案,将核心逻辑与UI隔离开来,并通过Rust实现了IPC共享缓存,提高了核心逻辑与UI之间的数据交互效率。

  综上,我们在打造Ultron技术底座的过程中,通过Flutter与C++、Rust技术的创新融合实践,充分利用技术框架优势与语言特性,构建出高性能桌面跨平台解决方。


本文由:乐鱼app官方网站提供