基于端云一体的移动研发效能提升在证券APP中的研究与实践
【摘要】华泰证券建设端云一体移动研发体系,自研适合券商场景的桌面端移动研发工具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技术的创新融合实践,充分利用技术框架优势与语言特性,构建出高性能桌面跨平台解决方案,为用户提供稳定、高效且一致的使用体验。
Ultron的设备管理单元通过adb/usbmux协议分别与Android、iOS设备建立连接,通过GRPC实现与APP之间的双向通信。为了保障设备连接、管理和通信的可靠,Ultron采用独立的设备管理执行单元,和其他功能逻辑隔离,确保不受干扰。
为了保证APP的稳定运行,我们实现了客户端业务代码零侵入方案。Ultron SDK运用Hook技术和Webview JS动态注入技术,在不修改业务代码的基础上,实现我们需要的各项功能。业务APP通过集成Ultron SDK,能够迅速完成能力接入。
开发工具类软件的使用者真实的体验对于实现提升研发体系效能的目标来说至关重要。具体来说,在使用开发工具类软件时,用户经常需要提前安装一些依赖环境才能确保软件的正常运行,例如运行时环境、动态库以及一些基础软件。其安装过程可能因为操作系统版本、软件环境等原因而存在较大的不确定性,对于非研发角色的用户可能会造成困扰。基础软件版本的兼容性不足可能会导致运行时错误等常见问题。此外,类似的使用者真实的体验问题还包括安装包过大、更新升级不便、无法准确定位运行错误等。
为了解决这样一些问题,Ultron实现了内置运行环境部署方案,通过内置python、adb等必要的运行环境和动态库,简化安装流程,安装好后无需其他操作即可正常使用,可轻松管理Android/iOS设备、操作应用,极大地降低Ultron的使用门槛。
Ultron的软件分发方案具体采用了Windows Installer及macOS DMG格式,较小的安装包体积确保了用户的安装体验,应用内还集成了自动更新功能,简化了升级管理的流程。
通过全面审视研发过程和深入评估单点效能,我们挖掘出四类问题,分别是非开发类动作没有标准化和自动化、APP内部执行过程存在黑盒、质量保障工具缺失、应用端开发和系统运维岗位间联动不够高效。通过对问题分析和归纳,Ultron的能力建设围绕透明、效率、质量和协作四个关键词展开。
在透明方面,Ultron打破黑盒,通过全方面监控来揭示APP内部执行过程,帮助非客户端研发人员完成工作。
在效率方面,Ultron自动化执行研发、测试、运维中的标准动作,减少手工配置和硬编码,提升工作效率。
在质量方面,Ultron整合前端DevOps服务能力,辅助测试左移右移,提升APP测试质量。
在协作方面,Ultron提供项目上下游岗位联动的效率工具,解决跨地域、配置复杂等问题,提升协作效率。
以Ultron为触点,通过全面整合Ultron与前端DevOps的各项服务,并结合Ultron与APP的端侧能力,将Ultron作为移动研发的统一入口,能够给大家提供一站式场景化的移动研发服务能力,解决证券APP研发流程中的问题,全方面提升移动研发体验。本课题基于Ultron和标准化移动研发流程,完成端云一体移动研发体系构建,旨在规范研发活动内容,去除非标准的工具和服务能力,以减少沟通成本和协作成本,提升产品的交付效率与质量。
目前端云一体移动研发体系已全面应用在涨乐财富通、行知、聊TA等华泰所有APP的研发流程中,通过研发体系的转变提升产品的研发效能和质量。全新研发的桌面端移动研发工具Ultron实现研发过程工具的整合,提供一站式产品服务,无需安装多种工具链,即可确保整个研发链路拥有一致的研发体验。
端云一体移动研发体系所带来的研发效能提升,大多数表现在研发过程透明化、研发效率提升、产品质量保障和上下游岗位协作四个方面,以下分别选取一个场景或示例来展示应用成果。
为解决APP研发过程中的黑盒现象,研发出Ultron八大监控功能,包括网络请求监控、HTTP请求监控、埋点监控、日志监控、路由监控、网页与原生交互监控、IM会话监控和性能监控。八大监控功能全面应用在研发流程的所有的环节中,包括开发、测试和运维阶段,研发流程中的所有角色均能通过全方位的监控能力实时掌握客户端的运作时的状态和数据。
APP中,重点公告弹窗需求的业务逻辑和展示规则繁多,公告的生成亦较为繁琐,需要在公告管理平台上编辑公告标题、公告正文、通知类型和通知对象等信息并经过审核,且发布新公告还可能会影响他人开发或测试。
Ultron的Mock数据功能很好地解决了这些痛点。借助Ultron,我们大家可以便捷地生成重点公告的Mock数据,无需再进行繁琐的服务端配置,没有流程需要审核。最重要的是,本地Mock数据不会对其他人产生任何影响,来保证团队整体研发工作更加顺畅。
以埋点质量治理为例,为提高埋点质量和埋点验收效率,我们将埋点验证工作左移。通过Ultron的埋点自动校验功能,实时对埋点内容做完整性和正确性校验。研发人员和测试人员可实时查看校验结果以及错误埋点的详情信息,做到提前察觉缺陷、处理问题,提升埋点工作整体的准确率。
在多人协作开发的场景中,人工手动同步修改工程配置文件不仅繁琐,而且容易出错,影响研发效率。使用Ultron的研发协同功能模块,只要输入前端研发任务链接,即可一键完成整个工程配置同步流程。
以某个需求为例,该需求涉及4位研发人员,19个组件,在其研发过程中,组件SNAPSHOT版本升级的频次较高。对此,我们通过Ultron的研发协同功能来管理项目工程的本地创建、云端同步等操作,极大地提高了研发效率。
端云一体的移动研发体系全面整合桌面端移动研发工具Ultron和云端DevOps各项服务,优化研发流程的执行效率,拉齐开发、测试和运维对应用运作时的状态的认知,消除信息差,降低研发流程中上下游岗位之间的沟通成本,促进岗位间的高效联动。通过研发体系的转变,使得各岗位各种角色紧密有序协作。
未来,端云一体的移动研发体系将增强智能化探索,探索多模态大模型技术在移动研发领域的应用,通过设计稿转代码、自动化测试脚本辅助生成、UI自动校验等场景的探索落地,推动移动研发效能加速提升,助力企业数字化转型全面升级,不断释放新动能!
监管部门进一步规范互联网保险业务,严厉打击机构和人员无资质“挂靠”行为
房地产“白名单”近1.4万亿元融资获批 机构看好低杠杆的有突出贡献的公司(附概念股)
监管部门进一步规范互联网保险业务,严厉打击机构和人员无资质“挂靠”行为
已有96家主力机构披露2024-06-30报告期持股数据,持仓量总计4.50亿股,占流通A股6.18%
近期的平均成本为12.47元。该股资金方面呈流出状态,投资者请谨慎投资。该公司运营状况尚可,暂时未获得多数机构的显著认同,后续可继续关注。
限售解禁:解禁1471万股(预计值),占总股本比例0.16%,股份类型:股权激励限售股份。(本次数据根据公告推理而来,真实的情况以上市公司公告为准)
投资者关系关于同花顺软件下载法律声明运营许可联系我们友情链接招聘英才使用者真实的体验计划
不良信息举报电话举报邮箱:增值电信业务经营许可证:B2-20090237