超4000万行代码WPS完成鸿蒙化周全适配HarmonyOS NEXT
在今年 HDC 大会上,华为正式发布 HarmonyOS NEXT,并且宣告鸿蒙原生运用进入全面冲刺阶段,5000 多个常用运用已全部启动开拓,个中超过 1500 个运用已完成上架。
在这串令人振奋的数字背后,承载着万万千万个开拓者的热心和期待。作为海内最大的办公软件之一,WPS 用了八个月韶光完成了鸿蒙化,成为鸿蒙生态中的一员。我们采访了金山办公架构师覃欢,听他讲述 WPS 完成 HarmonyOS NEXT 开拓适配背后的故事。“HarmonyOS 版本没有一行代码和安卓版本是重复的”第一次正式打仗 HarmonyOS,是 2022 年底,覃欢被溘然拉到一个会议中,谈论 WPS 要不要鸿蒙原生化?他觉得有些莫名其妙。不过也情有可原。覃欢经历过 WPS 体系下的各种架构变更,其个人发展路线与 WPS 的快速发展期高度重合。2012 年,覃欢才刚进入金山办公这家公司,便参与基于 Qt 迁移 WPS 到多平台,包括 Windows、Linux,随后又扩展到 macOS 和信创平台。“我们那一批人,遇上了 WPS 重构的末班车,经历了体系架构变革、多平台适配以及处理各种指令集,险些全程参与了这些变革。”覃欢表示。过了个年回来,WPS 就开始与华为环绕鸿蒙原生化这件事进行了长期的技能沟通。“从仲春份开始,一贯到去年的七月份旁边,我们经历了七八轮深入的互换,一贯在磋商 WPS 在纯血鸿蒙系统中的技能难点。”覃欢回顾。到了年中,WPS 团队溘然得知 HarmonyOS 不再兼容安卓,也便是同年 9 月发布的 HarmonyOS NEXT 操持,即鸿蒙原生运用全面启动。一旦 HarmonyOS NEXT 推出,将开启一扇通往无限机遇的大门。这样的发展路径,或许预示着操作系统的三分天下。华为与金山办公双方的目标,放在国家层面、行业发展层面、企业对市场的预期层面来讲,都高度同等。“我们实在也希望能够搭载 HarmonyOS NEXT 这趟快车,迅速加入这一进程并共同开拓市场,节制一定的市场话语权。”覃欢表示。为了快速将 WPS 鸿蒙化,覃欢等人迅速组建起一支鸿蒙化团队。“我们抽调了大约 40 多名「高精尖」技能职员。只假如在 Office 领域的高 P 基本上都被薅完了。”
团队成员不仅要对 WPS 底层构造尤其内核有深入理解,还要具备跨平台开拓的意识。此外,要拥有多系统同时开拓的能力,由于要考虑将内核多端统一。纯血鸿蒙 HarmonyOS NEXT 完备摒弃了 Linux 内核,原来运行安卓运用的机制不存在了,WPS 如果不随着改变,也就无法在 HarmonyOS NEXT 运行。为此,覃欢等人将现有的 WPS PC 内核引擎移植到鸿蒙上来,在此根本上重新编写了上层运用程序。为了实现这一点,还构建了一个从内核到上层运用的框架。与之前的安卓版本相比较,鸿蒙版的 WPS 完备不一样。“没有一行代码是重复的,是完备重写的一套。”覃欢强调。2023 年 11 月,WPS 成功在鸿蒙创新产品上运行。紧接着,通过在内核上添加一个大略的 Ark 层,也在一个月后实现了 WPS 在移动设备上的基本操作,如打开文档。这便是上层 ArkUI,底层 C++ 的鸿蒙版 WPS。40 多条需求,倒逼 HarmonyOS IDE 发展将鸿蒙创新产品的内核跑在移动设备上之后,又面临了新的问题——如何搭建能够知足跨栈调用的功能、性能与稳定性的哀求?此前在安卓平台上,WPS 曾考虑过 C++ 与 Java 的互调方案(JNI),但由于性能和稳定性不达标,终极该方案被反对。而在 iOS 平台上,由于 OC 和 C++ 共占同一调用栈,这个问题得到了较好的办理。如今在鸿蒙移动端,上层是 Ark 运行时,底层是 C++,这就一定涉及到类似于 JNI 的调用问题,比如在大量数据的序列化和反序列化以及跨进程调度通信方面。“我们是一群被 Visual Studio 养得非常挑剔的一群人。”覃欢说,WPS 的开拓职员绝大多数都是利用市场上成熟的工具链体系,当转向 HarmonyOS 开拓时,碰着了前所未有的寻衅。“HarmonyOS 的调试工具和开拓环境——DevEco Studio 对付我们来说是一个巨大的磨练。面对跨措辞调试、自定义变量不雅观察、多线程问题剖析、内存泄露等繁芜难题时,DevEco 是否能够知足我们的能力哀求?”特殊是当须要从 JS 穿透到 C++ 时,由于缺少有效的跨措辞调试能力,类似 CMD 这样的工具,限定了他们在问题剖析和处理上的手段,就只能依赖于日志和韶光戳来进行问题剖析,调试事情变得非常繁芜。尤其是在远程调试和交叉编译方面,WPS 对闇练度和性能哀求都很高,但现有的工具无法知足这些需求。WPS 的代码量弘大,如何高效地将编译缓存推送到设备上成为了一个难题。“每次修正代码后,都须要等待几分钟才能进行调试,这对我们的事情效率造成了严重影响。我们考试测验了各种方法来提高编译、调试速率以及问题验证效率。”在此过程中,华为供应了一系列技能支持,比如对可能涌现的逻辑缺点和非常情形的剖析,以及如何在这些情形下保持框架的稳定性,使得框架在安全性方面得到良好的保障,从而避免了非常崩溃(crash)的风险,增强了全体系统的健壮性和可靠性。终极通过内部与华为技能团队的沟通,WPS 搭建了一套支持同步&异步跨措辞的调度框架,基本知足了 WPS 的业务诉求。事实上,鸿蒙化编译还没正式开始前,WPS 在与华为的正式互换中,第一个谈论的议题便是开拓调试工具是否准备好,是否能够支撑如此大量代码的编译与调试事情?在开拓初期,WPS 针对 HarmonyOS 的专用开拓调测工具 DevEco 提的需求就多达 25 条。在与华为技能团队早期互换中,覃欢曾表示,如果 WPS 的开拓环境能够与 DevEco 很好地兼容或适配,那么之后,险些所有运用在鸿蒙化过程的开拓需求,DevEco 都能知足。随着需求逐一得到落实,不仅极大地提升了开拓效率,也极大地增强了开拓者对鸿蒙生态的信心。覃欢及其团队见证了 DevEco 从一个潜力无限的 IDE 发展为一个能够稳定支撑大型项目开拓的强大工具。除了在技能层面供应支持,华为还在计策层面,快速推进第三方库的鸿蒙化进程。WPS Office 是一个办公软件套装,它在开拓过程中依赖了多个三方库来供应额外的功能和增强的性能。但是,WPS 也只是第三方库的利用者,对付三方库的驾驭能力并不敷。“推动第三方库鸿蒙化,于我们而言是一件精力花费非常大的事情。WPS 依赖的三方库有 100 多个,但是精通的却只有十多个。”覃欢表示。在鸿蒙生态这艘船上,华为无疑是掌舵者。在推动第三方库适配鸿蒙系统的过程中,华为扮演了关键角色,供应了系统层面的适配与支持,大幅节省了开拓团队的研发韶光,并确保了性能和研发速率的提升。“在短短一两周内,便实现了第三方库在 HarmonyOS 上的顺利运行,加快了 WPS 向 HarmonyOS 的迁移进程。”覃欢总结道。在全体 WPS 鸿蒙化的过程中,覃欢主导完成了 4000 万行代码运用开拓,对 HarmonyOS NEXT 提出的需求超过 150 项,对集成开拓环境(IDE)提出的需求超过 40 项,极大地补齐了系统能力——比如窗口、运用框架、文件、字体、打印、Dfx 等子系统能力和对大型运用的工程化支持能力等。为表彰覃欢突出的技能贡献,华为开拓者大会(HDC 2024)为其颁发了鸿蒙先锋“卓越技能贡献奖”奖章。WPS 的系统繁芜性和弘大代码量,使得 WPS 在系统资源需求上存在分外性。纵然不算三方库,WPS 也有 4000 万行代码,其安装包体积远远超过大多数鸿蒙 APP。连 WPS 都能在鸿蒙操作系统上流畅运行,也就意味着,运用鸿蒙化的技能障碍已经基本肃清。接下来,开拓者只须要更多关注如何优化功能的细节和确保稳定性,以及如何进行适配事情。“HarmonyOS 的学习曲线相对平缓,对付有其他编程措辞履历的人来说,上手并不困难。”覃欢表示。WPS 在融入鸿蒙生态的过程中,并未特意招募鸿蒙专业开拓者,其团队都是由传统 C++、Java、OC 开拓职员,以及熟习前端 H5 开拓的技能职员组成。覃欢表示,对付在 C++ 领域深耕多年的开拓者来说,HarmonyOS 的设计理念显得清晰且易于理解,其繁芜度并不高。加之鸿蒙已办理了跨措辞调试的难题,大多数问题都可以通过制作 demo 或小型化实例来单独细致地调试。 “将指令集迁移到华为平台的过程实际上比预期要大略,没有原来想象的那样困难。毕竟经历过信创,碰着过的问题也弗成偻指算;在鸿蒙这里,事情并没有比之前更难,相较而言,在各自过往技能积累下,WPS 鸿蒙化比较较还算顺利。”这 8 个月来,WPS 已经全面测试并验证了 HarmonyOS 所供应的各项技能能力。“WPS 基本上已经把大家所须要的所有技能能力,在鸿蒙系统上趟了一个遍,险些没有什么技能点在鸿蒙上无法实现。”覃欢表示。当前,WPS 现已完成鸿蒙原生版运用开拓,在诸如手机端、折叠屏、平板平分歧大小尺寸的屏幕上分别做了产品适配,并基于多平台账号统一,实现了跨端、跨设备的文档和数据共享,支持多用户协同、浏览编辑、修订能力。目前,WPS 鸿蒙原生运用已在全端流畅运行,WPS AI 也在多端同步上线,数十项 AI 功能都迁移到了 HarmonyOS NEXT。HarmonyOS NEXT,作为华为技能实力的表示,在新的发展道路上为用户带来更安全、更自主可控的操作系统体验,能够与微软的 Windows 系统以及国际科技巨子进行有力竞争,助力我国争取科技领域的主动权。众所周知,微软 Office 在 Windows 上拥有系统特权,这是第三方软件所不具备的。在功能上,WPS 完备可以与微软 Office 相媲美,但在 Windows 上依然缺少系统特权。随着全栈自研的 HarmonyOS NEXT 的发布,意味着属于中国自己的主场已经准备好了。覃欢表示,希望 WPS 能够通过与 HarmonyOS NEXT 的深度结合,冲破微软 Office 在 Windows 上的深度绑定策略。覃欢认为,一旦这一想法付诸实现,WPS 将供应超出用户预期的功能和体验。他们最近在做的启动优化便是一个例子,由于能够深入理解系统加载的细节,从而针对性地调度,大幅提升了 WPS 启动速率。截至 2024 年 5 月,鸿蒙生态设备已经超过了 9 亿台。HarmonyOS 在市场上的影响力正在不断增强,为政企办公等运用供应了广阔的市场空间和新的机遇。覃欢表示:“我们期待华为在这一过程中扮演关键角色,为办公领域带来新的动力,在政企办公生态领域建立一套更成熟,能够与 Windows 系统相媲美乃至超越它的办公生态体系,帮助我们在科技领域霸占上风地位。”当前,鸿蒙生态已经超过 5000 个运用,这不仅仅是一个大略的数字,而是一个生态系统的逐渐构建和完善。运用生态的繁荣,绝非一日之功,它须要韶光的沉淀、技能的积累,以及各方力量的持续投入。在这个过程中,华为作为生态的发起者和推动者,不断优化鸿蒙的开拓工具和平台,降落开拓门槛,提升开拓效率。同时,华为供应技能支持和资源投入,鼓励开拓者创新,扶持优质运用快速发展。相信随着 HarmonyOS NEXT 商用版的发布,将有更多企业投身于鸿蒙带来的蓝海市场,也为彻底颠覆移动办公生态的版图带来新的可能性。