在今年 HDC 大会上,华为正式发布HarmonyOS NEXT,并且宣布鸿蒙原生应用进入全面冲刺阶段,5000 多个常用应用已全部启动开发,其中超过 1500 个应用已完成上架。
在这串令人振奋的数字背后,承载着千千万万个开发者的热忱和期待。作为国内最大的办公软件之一,WPS 用了八个月时间完成了鸿蒙化,成为鸿蒙生态中的一员。
我们采访了金山办公架构师覃欢,听他讲述 WPS 完成 HarmonyOS NEXT 开发适配背后的故事。
覃欢在 HDC 2024 现场
WPS 鸿蒙版界面
团队成员不仅要对 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 成长为一个能够稳定支撑大型项目开发的强大工具。
DevEco 多场景深度调优
除了在技术层面提供支持,华为还在战略层面,快速推进第三方库的鸿蒙化进程。
WPS Office 是一个办公软件套装,它在开发过程中依赖了多个三方库来提供额外的功能和增强的性能。但是,WPS 也只是第三方库的使用者,对于三方库的驾驭能力并不足。“推动第三方库鸿蒙化,于我们而言是一件精力消耗非常大的事情。WPS 依赖的三方库有 100 多个,但是精通的却只有十多个。”覃欢表示。
在鸿蒙生态这艘船上,华为无疑是掌舵者。在推动第三方库适配鸿蒙系统的过程中,华为扮演了关键角色,提供了系统层面的适配与支持,大幅节省了开发团队的研发时间,并确保了性能和研发速度的提升。
“在短短一两周内,便实现了第三方库在 HarmonyOS 上的顺利运行,加快了 WPS 向 HarmonyOS 的迁移进程。”覃欢总结道。
在整个 WPS 鸿蒙化的过程中,覃欢主导完成了 4000 万行代码应用开发,对 HarmonyOS NEXT 提出的需求超过 150 项,对集成开发环境(IDE)提出的需求超过 40 项,极大地补齐了系统能力——比如窗口、应用框架、文件、字体、打印、Dfx 等子系统能力和对大型应用的工程化支持能力等。为表彰覃欢突出的技术贡献,华为开发者大会(HDC 2024)为其颁发了鸿蒙先锋“卓越技术贡献奖”奖章。
WPS 鸿蒙版亮相 HDC 2024
WPS 携手鸿蒙,或将颠覆移动办公生态版图
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 商用版的发布北京炒股配资,将有更多企业投身于鸿蒙带来的蓝海市场,也为彻底颠覆移动办公生态的版图带来新的可能性。
DevEco华为鸿蒙鸿蒙版覃欢发布于:北京市声明:该文观点仅代表作者本人,搜狐号系信息发布平台,搜狐仅提供信息存储空间服务。文章为作者独立观点,不代表网上配资平台开户_在线配资炒股平台_专业配资开户机构观点