各类适配转型工作千头万绪,不知如何有序组织开展?桌面应用跨平台适配涉及内容广泛,缺失普适性的适配指引推动转型工作的落地?传统人工排查方式成本高、耗时长,渴望自动化改造工具帮助节约人力?新增兼容性问题防不胜防,急需增量问题管控工具避免新问题的产生?解决桌面应用跨平台适配问题,看这一篇就够了。

从最初构想到启动研究,积极推进桌面应用跨平台转型适配

跨平台软件是指可以运行在多种平台上的软件,包括硬件平台(即指令集架构,如x86、ARM等)以及软件平台(即操作系统,如Linux、Windows、UOS、麒麟等)。随着业务需求的不断提高以及开源技术的不断进步,越来越多的桌面应用开始探索跨平台解决方案。


(资料图片仅供参考)

业务需求是核心驱动

业务功能的推广和使用总是伴随着层出不穷的需求,传统模式下应用往往需要同时维护多套代码,开发效率低下。跨平台应用的一大重要优势就是共享业务逻辑,只需写入一次业务逻辑,即可在任何平台上运行。这大大减少了工作量,降低了成本,并缩短了从研发到上线时间,实现了快速响应需求。

技术发展是变革契机

得益于开源技术的发展,跨平台开发方案也日趋丰富。

对于B/S来说,随着现代浏览器内核路线的收敛以及Web技术栈规范的统一,应用在适配一个现代浏览器之后,即可适配其他现代浏览器,因此,利用浏览器的跨端能力实现应用跨端成为最常见的解决方案之一。

对于C/S来说,借助主流跨平台开发框架是实现跨平台应用开发的重要手段之一。其中Electron框架因其基于JS生态,嵌入Chromium内核,拥有入门门槛低、开发效率高、社区问答活跃等优势,成为最流行的跨平台开发框架之一。

应用落地是机遇挑战

在桌面应用跨平台适配方面,软件开发中心上海研发部面临严峻的转型挑战,同时又独具优势:一是涉及新老技术栈广泛,开发语言包括JavaScript、HTML、CSS、C++、VBS等,开发框架包括JQuery、CTP3/4/5、Unicorn、Angular、历史框架、Electron等,其他技术包括ActiveXObject、VBA宏、JNI、外设等,是理想的跨平台适配试验田;二是率先布局,已经积累较丰富的适配经验,2020年既已开展重点桌面应用的跨平台适配工作。软件开发中心上海研发部作为桌面应用跨平台适配的主要阵地之一,势必深度参与转型,更应当好排头兵,深耕试验田,从率先布局到全面引领,积极主动寻求桌面应用低成本跨平台适配方案。

从党建引领到凝心聚力,党员突击队集中力量突破深水区

党员突击队成立背景

为进一步发挥党建对研发工作的引领作用,激励员工将探索低成本适配方案作为一种自觉肩负的责任担当,立足本职岗位,持续聚焦跨平台适配的工作重点、找准难点痛点,解决实际问题,共同推动上研跨平台适配重点工作开展,软件开发中心上海研发部于2022年一季度成立浏览器转型攻坚党员突击队。

党员突击队工作目标

面对跨平台相关技术方案成熟度不足和技术支持能力相对较弱的客观情况,以及技术复杂、时间紧、任务重的复杂形势,党员突击队集中上研在桌面应用跨平台适配方面的优势力量,通过发挥党员的带头作用,激发突击队成员的主观能动性、创新能动性,推进转型突破深水区。

党员突击队推进方式

突击队以“深耕厚植跨平台,行稳致远促成效”为攻坚口号,由上海技术部牵头,上研各部门安排前端专家加入,共有15名成员,党员占比达60%。团队以桌面应用跨平台适配工作要求为目标,通过召开启动会,组织授旗仪式,定期组织召开攻坚会议,设立突击队党员责任区、适配工作推进看板墙,开展阶段性成效总结等方式,有效推进攻坚工作开展。

随着桌面应用跨平台适配工作进入攻坚期,突击队的工作也不断深入,经过总结各应用面临的困难与挑战,形成以下三个攻坚点:

一是制定普适性的适配指引推进转型工作的落地; 二是推出自动化改造工具帮助节约人力; 三是研究增量问题管控机制避免新问题的产生。

从顶层设计到实施落地,普适性指引开启低成本适配流程

攻坚点一:制定普适性的适配指引推进转型工作的落地

桌面应用的跨平台适配工作涵盖范围包括操作系统、Web技术、软硬件适配等,技术栈涉及广泛、复杂度高,加之当前产业生态未成熟,缺少转型经验,急需一份覆盖面广、技术细节详实的适配指引推动转型工作的落地。

解决方案:形成普适的桌面应用低成本跨平台适配指引

党员突击队从应用视角出发,梳理转型要求,发挥团队的集体力量,切实推动适配工作的实施。通过总结各应用、技术栈的实践过程,并结合业内各方的转型经验,形成涵盖浏览器语法解析、浏览器插件、安全机制、性能处理、系统兼容等方面的差异和改造方案,对常见的技术问题进行分析并给出具体的解决方法,将上述内容发布为普适的转型指引,帮助应用快速制定转型计划和方案,减少应用试错。

成果:发布《桌面应用低成本跨平台适配指引》

《桌面应用低成本跨平台适配指引》面向架构师、开发人员、测试人员,指导转型路线规划、工作量评估、常见改造方案、验证方案等转型适配全过程,帮助快速制定本应用的具体转型计划和方案,减少应用试错。指引主要内容包括:

(1)B/S、C/S应用改造方案

(2)常见差异改造方法(B/S应用语法解析差异、浏览器插件差异、其他差异等,C/S应用Web、Java、C/C++技术栈转型方法)

(3)专项改造方法及工作量评估(CTP6UI、CTP5UI、统一认证等基础支撑类应用适配方法)

(4)面向场景的改造方案(通用办公场景、柜面新终端交易适配场景)

从工具发布到价值凸显,自动化改造实现50%以上人力节约

攻坚点二:推出自动化改造工具帮助节约人力

桌面应用数量多、体量大,传统人工逐条排查适配方式成本高、耗时长。根据功能的不同,单页面代码行数少则数百多则上千,需要大量的人力进行排查和替换,而且很难做到没有遗漏,无法满足存量应用快速适配的要求。另外,行内应用使用的框架类型和技术栈种类基本固定,应用常常需要分析、解决相同的问题,做重复性劳动,对人力造成了极大的浪费。

解决方案:建设面向行内的桌面应用自动化适配工具

党员突击队以适配过程中实际遇到的问题为基础,通过从实际改造案例中吸收强化,开发面向行内的桌面应用自动化适配工具,帮助应用节约成本、提高效率,快速完成适配。团队共支持71个应用或子系统进行适配改造,沉淀50余条转型方案和规则,涵盖语法、函数、调用方式、静态资源、插件、外设等各种疑难问题。自动化工具将规则进行沉淀,并与解决方案进行关联,从而提升识别准确率和替换成功率。

成果:建成自动化改造工具ABRT

桌面应用自动化跨平台适配工具ABRT(Auto Browser Remould Tool)于2022年四季度发布,适用CTP3/4/5、JQuery、Larva等框架开发的浏览器应用从IE浏览器向360、Edge等Chromium内核浏览器的适配,可扫描js、jsp、html、css等文件。已面向通用办公及柜面新终端交易适配场景开展试点工作,自动识别准确率达到90%以上,替换成功率达到83%以上,人力节约50%以上。工具能力包括:

(1)非兼容JS脚本自动识别及替换(搭载49条JS规则,其中包括6种activeX控件替换方案)

(2)过期样式清理(搭载业内全量CSS适配规则,可按不同浏览器不同版本进行识别和清理)

(3)开发规范建议(可提供33条标准Eslint开发规范建议)

从存量转型到增量管控,开发者门户集成兼容性问题扫描

攻坚点三:研究增量问题管控机制避免新问题的产生

随着浏览器的版本更新以及各应用适配工作的推进,仍可能产生新的兼容性问题,需要对增量代码持续进行检查,确保其在不同浏览器中的兼容性。

解决方案:开发浏览器兼容性问题扫描组件

以桌面应用自动化跨平台适配工具的问题扫描能力为基础,结合代码提交流水线对增量代码的识别和管控能力,党员突击队开发增量管控组件,帮助应用实现增量问题管控,避免新问题的产生。该组件将继承自动化改造工具的规则,并且可以控制扫描范围,提高扫描效率,不对存量代码造成影响,同时也是对改造工具的能力补充。

成果:借助代码提交流水线实现增量代码问题扫描

党员突击队于2023年一季度完成浏览器兼容性问题扫描组件的开发,对接开发者门户,集成至提交构建流水线,对增量功能的跨平台适配情况进行扫描。组件支持扫描49条非兼容性JS问题、全量过期样式、33条标准Eslint开发建议,已在9个应用共计15个版本库进行试点。

结语

以积极践行“科技驱动 价值创造”工作思路前提,以推动中心桌面应用跨平台适配工作为主要目标,以沉淀经验、发布指引、推广工具为重要手段,以转型攻坚党员突击队为抓手,以促进产业生态成熟、起到金融科技跨平台适配应用开发带头作用为愿景,上海研发部将继续提升转型效率,优化适配机制,践行适配道路,步入技术探索深水区,助力桌面应用的低成本跨平台适配,推出适配转型工作管理新办法,积极推动产业升级。

本文来源:工商银行软件开发中心上海技术部

投稿邮箱:News@bfia.org.cn

推荐内容