超4000萬(wàn)行代碼,WPS完成「鴻蒙化」:全面適配HarmonyOS NEXT!

在今年 HDC 大會(huì)上,華為正式發(fā)布 HarmonyOS NEXT,并且宣布鴻蒙原生應(yīng)用進(jìn)入全面沖刺階段,5000 多個(gè)常用應(yīng)用已全部啟動(dòng)開(kāi)發(fā),其中超過(guò) 1500 個(gè)應(yīng)用已完成上架。

在這串令人振奮的數(shù)字背后,承載著千千萬(wàn)萬(wàn)個(gè)開(kāi)發(fā)者的熱忱和期待。作為國(guó)內(nèi)最大的辦公軟件之一,WPS 用了八個(gè)月時(shí)間完成了鴻蒙化,成為鴻蒙生態(tài)中的一員。

我們采訪(fǎng)了金山辦公架構(gòu)師覃歡,聽(tīng)他講述 WPS 完成 HarmonyOS NEXT 開(kāi)發(fā)適配背后的故事。

1.jpg

覃歡在 HDC 2024 現(xiàn)場(chǎng)

“HarmonyOS 版本沒(méi)有一行代碼和安卓版本是重復(fù)的”

第一次正式接觸 HarmonyOS,是 2022 年底,覃歡被突然拉到一個(gè)會(huì)議中,討論 WPS 要不要鴻蒙原生化?他感覺(jué)有些莫名其妙。

不過(guò)也情有可原。覃歡經(jīng)歷過(guò) WPS 體系下的各種架構(gòu)變更,其個(gè)人成長(zhǎng)路線(xiàn)與 WPS 的快速發(fā)展期高度重合。2012 年,覃歡才剛進(jìn)入金山辦公這家公司,便參與基于 Qt 遷移 WPS 到多平臺(tái),包括 Windows、Linux,隨后又?jǐn)U展到 macOS 和信創(chuàng)平臺(tái)?!拔覀兡且慌耍s上了 WPS 重構(gòu)的末班車(chē),經(jīng)歷了體系架構(gòu)變革、多平臺(tái)適配以及處理各種指令集,幾乎全程參與了這些變革。”覃歡表示。

答案是肯定的,就跟當(dāng)年擁抱信創(chuàng)一樣。

過(guò)了個(gè)年回來(lái),WPS 就開(kāi)始與華為圍繞鴻蒙原生化這件事進(jìn)行了長(zhǎng)期的技術(shù)溝通?!皬亩路蓍_(kāi)始,一直到去年的七月份左右,我們經(jīng)歷了七八輪深入的交流,一直在探討 WPS 在純血鴻蒙系統(tǒng)中的技術(shù)難點(diǎn)?!瘪麣g回憶。

到了年中,WPS 團(tuán)隊(duì)突然得知 HarmonyOS 不再兼容安卓,也就是同年 9 月發(fā)布的 HarmonyOS NEXT 計(jì)劃,即鴻蒙原生應(yīng)用全面啟動(dòng)。

一旦 HarmonyOS NEXT 推出,將開(kāi)啟一扇通往無(wú)限機(jī)遇的大門(mén)。這樣的發(fā)展路徑,或許預(yù)示著操作系統(tǒng)的三分天下。華為與金山辦公雙方的目標(biāo),放在國(guó)家層面、行業(yè)發(fā)展層面、企業(yè)對(duì)市場(chǎng)的預(yù)期層面來(lái)講,都高度一致。

“我們其實(shí)也希望能夠搭載 HarmonyOS NEXT 這趟快車(chē),迅速加入這一進(jìn)程并共同開(kāi)拓市場(chǎng),掌握一定的市場(chǎng)話(huà)語(yǔ)權(quán)?!瘪麣g表示。

為了快速將 WPS 鴻蒙化,覃歡等人迅速組建起一支鴻蒙化團(tuán)隊(duì)?!拔覀兂檎{(diào)了大約 40 多名「高精尖」技術(shù)人員。只要是在 Office 領(lǐng)域的高 P 基本上都被薅完了?!?/p>

2.jpg

WPS 鴻蒙版界面

團(tuán)隊(duì)成員不僅要對(duì) WPS 底層結(jié)構(gòu)尤其內(nèi)核有深入理解,還要具備跨平臺(tái)開(kāi)發(fā)的意識(shí)。此外,要擁有多系統(tǒng)同時(shí)開(kāi)發(fā)的能力,因?yàn)橐紤]將內(nèi)核多端統(tǒng)一。

純血鴻蒙 HarmonyOS NEXT 完全摒棄了 Linux 內(nèi)核,原先運(yùn)行安卓應(yīng)用的機(jī)制不存在了,WPS 如果不跟著改變,也就無(wú)法在 HarmonyOS NEXT 運(yùn)行。

只能重寫(xiě)。

為此,覃歡等人將現(xiàn)有的 WPS PC 內(nèi)核引擎移植到鴻蒙上來(lái),在此基礎(chǔ)上重新編寫(xiě)了上層應(yīng)用程序。為了實(shí)現(xiàn)這一點(diǎn),還構(gòu)建了一個(gè)從內(nèi)核到上層應(yīng)用的框架。與之前的安卓版本相比較,鴻蒙版的 WPS 完全不一樣?!皼](méi)有一行代碼是重復(fù)的,是完全重寫(xiě)的一套。”覃歡強(qiáng)調(diào)。

2023 年 11 月,WPS 成功在鴻蒙創(chuàng)新產(chǎn)品上運(yùn)行。緊接著,通過(guò)在內(nèi)核上添加一個(gè)簡(jiǎn)單的 Ark 層,也在一個(gè)月后實(shí)現(xiàn)了 WPS 在移動(dòng)設(shè)備上的基本操作,如打開(kāi)文檔。這就是上層 ArkUI,底層 C++ 的鴻蒙版 WPS。

40 多條需求,倒逼 HarmonyOS IDE 成長(zhǎng)

將鴻蒙創(chuàng)新產(chǎn)品的內(nèi)核跑在移動(dòng)設(shè)備上之后,又面臨了新的問(wèn)題——如何搭建能夠滿(mǎn)足跨棧調(diào)用的功能、性能與穩(wěn)定性的要求?

此前在安卓平臺(tái)上,WPS 曾考慮過(guò) C++ 與 Java 的互調(diào)方案(JNI),但由于性能和穩(wěn)定性不達(dá)標(biāo),最終該方案被否決。而在 iOS 平臺(tái)上,由于 OC 和 C++ 共占同一調(diào)用棧,這個(gè)問(wèn)題得到了較好的解決。

如今在鴻蒙移動(dòng)端,上層是 Ark 運(yùn)行時(shí),底層是 C++,這就必然涉及到類(lèi)似于 JNI 的調(diào)用問(wèn)題,比如在大量數(shù)據(jù)的序列化和反序列化以及跨進(jìn)程調(diào)度通信方面。

“我們是一群被 Visual Studio 養(yǎng)得非常挑剔的一群人?!瘪麣g說(shuō),WPS 的開(kāi)發(fā)人員絕大多數(shù)都是使用市場(chǎng)上成熟的工具鏈體系,當(dāng)轉(zhuǎn)向 HarmonyOS 開(kāi)發(fā)時(shí),遇到了前所未有的挑戰(zhàn)。“HarmonyOS 的調(diào)試工具和開(kāi)發(fā)環(huán)境——DevEco Studio 對(duì)于我們來(lái)說(shuō)是一個(gè)巨大的考驗(yàn)。面對(duì)跨語(yǔ)言調(diào)試、自定義變量觀(guān)察、多線(xiàn)程問(wèn)題分析、內(nèi)存泄漏等復(fù)雜難題時(shí),DevEco 是否能夠滿(mǎn)足我們的能力要求?”

特別是當(dāng)需要從 JS 穿透到 C++ 時(shí),由于缺乏有效的跨語(yǔ)言調(diào)試能力,類(lèi)似 CMD 這樣的工具,限制了他們?cè)趩?wèn)題分析和處理上的手段,就只能依賴(lài)于日志和時(shí)間戳來(lái)進(jìn)行問(wèn)題分析,調(diào)試工作變得異常復(fù)雜。

尤其是在遠(yuǎn)程調(diào)試和交叉編譯方面,WPS 對(duì)熟練度和性能要求都很高,但現(xiàn)有的工具無(wú)法滿(mǎn)足這些需求。WPS 的代碼量龐大,如何高效地將編譯緩存推送到設(shè)備上成為了一個(gè)難題。

“每次修改代碼后,都需要等待幾分鐘才能進(jìn)行調(diào)試,這對(duì)我們的工作效率造成了嚴(yán)重影響。我們嘗試了各種方法來(lái)提高編譯、調(diào)試速度以及問(wèn)題驗(yàn)證效率?!?/p>

在此過(guò)程中,華為提供了一系列技術(shù)支持,比如對(duì)可能出現(xiàn)的邏輯錯(cuò)誤和異常情況的分析,以及如何在這些情況下保持框架的穩(wěn)定性,使得框架在安全性方面得到良好的保障,從而避免了異常崩潰(crash)的風(fēng)險(xiǎn),增強(qiáng)了整個(gè)系統(tǒng)的健壯性和可靠性。

最終通過(guò)內(nèi)部與華為技術(shù)團(tuán)隊(duì)的溝通,WPS 搭建了一套支持同步&異步跨語(yǔ)言的調(diào)度框架,基本滿(mǎn)足了 WPS 的業(yè)務(wù)訴求。

事實(shí)上,鴻蒙化編譯還沒(méi)正式開(kāi)始前,WPS 在與華為的正式交流中,第一個(gè)討論的議題就是開(kāi)發(fā)調(diào)試工具是否準(zhǔn)備好,是否能夠支撐如此大量代碼的編譯與調(diào)試工作?在開(kāi)發(fā)初期,WPS 針對(duì) HarmonyOS 的專(zhuān)用開(kāi)發(fā)調(diào)測(cè)工具 DevEco 提的需求就多達(dá) 25 條。

在與華為技術(shù)團(tuán)隊(duì)早期交流中,覃歡曾表示,如果 WPS 的開(kāi)發(fā)環(huán)境能夠與 DevEco 很好地兼容或適配,那么之后,幾乎所有應(yīng)用在鴻蒙化過(guò)程的開(kāi)發(fā)需求,DevEco 都能滿(mǎn)足。

隨著需求一一得到落實(shí),不僅極大地提升了開(kāi)發(fā)效率,也極大地增強(qiáng)了開(kāi)發(fā)者對(duì)鴻蒙生態(tài)的信心。覃歡及其團(tuán)隊(duì)見(jiàn)證了 DevEco 從一個(gè)潛力無(wú)限的 IDE 成長(zhǎng)為一個(gè)能夠穩(wěn)定支撐大型項(xiàng)目開(kāi)發(fā)的強(qiáng)大工具。

3.jpg

DevEco 多場(chǎng)景深度調(diào)優(yōu)

除了在技術(shù)層面提供支持,華為還在戰(zhàn)略層面,快速推進(jìn)第三方庫(kù)的鴻蒙化進(jìn)程。

WPS Office 是一個(gè)辦公軟件套裝,它在開(kāi)發(fā)過(guò)程中依賴(lài)了多個(gè)三方庫(kù)來(lái)提供額外的功能和增強(qiáng)的性能。但是,WPS 也只是第三方庫(kù)的使用者,對(duì)于三方庫(kù)的駕馭能力并不足。“推動(dòng)第三方庫(kù)鴻蒙化,于我們而言是一件精力消耗非常大的事情。WPS 依賴(lài)的三方庫(kù)有 100 多個(gè),但是精通的卻只有十多個(gè)?!瘪麣g表示。

在鴻蒙生態(tài)這艘船上,華為無(wú)疑是掌舵者。在推動(dòng)第三方庫(kù)適配鴻蒙系統(tǒng)的過(guò)程中,華為扮演了關(guān)鍵角色,提供了系統(tǒng)層面的適配與支持,大幅節(jié)省了開(kāi)發(fā)團(tuán)隊(duì)的研發(fā)時(shí)間,并確保了性能和研發(fā)速度的提升。

“在短短一兩周內(nèi),便實(shí)現(xiàn)了第三方庫(kù)在 HarmonyOS 上的順利運(yùn)行,加快了 WPS 向 HarmonyOS 的遷移進(jìn)程。”覃歡總結(jié)道。

在整個(gè) WPS 鴻蒙化的過(guò)程中,覃歡主導(dǎo)完成了 4000 萬(wàn)行代碼應(yīng)用開(kāi)發(fā),對(duì) HarmonyOS NEXT 提出的需求超過(guò) 150 項(xiàng),對(duì)集成開(kāi)發(fā)環(huán)境(IDE)提出的需求超過(guò) 40 項(xiàng),極大地補(bǔ)齊了系統(tǒng)能力——比如窗口、應(yīng)用框架、文件、字體、打印、Dfx 等子系統(tǒng)能力和對(duì)大型應(yīng)用的工程化支持能力等。為表彰覃歡突出的技術(shù)貢獻(xiàn),華為開(kāi)發(fā)者大會(huì)(HDC 2024)為其頒發(fā)了鴻蒙先鋒“卓越技術(shù)貢獻(xiàn)獎(jiǎng)”獎(jiǎng)?wù)隆?/p>

“沒(méi)有什么技術(shù)點(diǎn)在鴻蒙上無(wú)法實(shí)現(xiàn)”

WPS 的系統(tǒng)復(fù)雜性和龐大代碼量,使得 WPS 在系統(tǒng)資源需求上存在特殊性。即使不算三方庫(kù),WPS 也有 4000 萬(wàn)行代碼,其安裝包體積遠(yuǎn)遠(yuǎn)超過(guò)大多數(shù)鴻蒙 APP。

連 WPS 都能在鴻蒙操作系統(tǒng)上流暢運(yùn)行,也就意味著,應(yīng)用鴻蒙化的技術(shù)障礙已經(jīng)基本消除。接下來(lái),開(kāi)發(fā)者只需要更多關(guān)注如何優(yōu)化功能的細(xì)節(jié)和確保穩(wěn)定性,以及如何進(jìn)行適配工作。

“HarmonyOS 的學(xué)習(xí)曲線(xiàn)相對(duì)平緩,對(duì)于有其他編程語(yǔ)言經(jīng)驗(yàn)的人來(lái)說(shuō),上手并不困難?!瘪麣g表示。

WPS 在融入鴻蒙生態(tài)的過(guò)程中,并未特意招募鴻蒙專(zhuān)業(yè)開(kāi)發(fā)者,其團(tuán)隊(duì)都是由傳統(tǒng) C++、Java、OC 開(kāi)發(fā)人員,以及熟悉前端 H5 開(kāi)發(fā)的技術(shù)人員組成。

覃歡表示,對(duì)于在 C++ 領(lǐng)域深耕多年的開(kāi)發(fā)者來(lái)說(shuō),HarmonyOS 的設(shè)計(jì)理念顯得清晰且易于理解,其復(fù)雜度并不高。加之鴻蒙已解決了跨語(yǔ)言調(diào)試的難題,大多數(shù)問(wèn)題都可以通過(guò)制作 demo 或小型化實(shí)例來(lái)單獨(dú)細(xì)致地調(diào)試。

“將指令集遷移到華為平臺(tái)的過(guò)程實(shí)際上比預(yù)期要簡(jiǎn)單,沒(méi)有原本想象的那樣困難。畢竟經(jīng)歷過(guò)信創(chuàng),遇到過(guò)的問(wèn)題也多如牛毛;在鴻蒙這里,事情并沒(méi)有比之前更難,相較而言,在各自過(guò)往技術(shù)積累下,WPS 鴻蒙化相比較還算順利?!?/p>

這 8 個(gè)月來(lái),WPS 已經(jīng)全面測(cè)試并驗(yàn)證了 HarmonyOS 所提供的各項(xiàng)技術(shù)能力?!癢PS 基本上已經(jīng)把大家所需要的所有技術(shù)能力,在鴻蒙系統(tǒng)上趟了一個(gè)遍,幾乎沒(méi)有什么技術(shù)點(diǎn)在鴻蒙上無(wú)法實(shí)現(xiàn)?!瘪麣g表示。

當(dāng)前,WPS 現(xiàn)已完成鴻蒙原生版應(yīng)用開(kāi)發(fā),在諸如手機(jī)端、折疊屏、平板等不同大小尺寸的屏幕上分別做了產(chǎn)品適配,并基于多平臺(tái)賬號(hào)統(tǒng)一,實(shí)現(xiàn)了跨端、跨設(shè)備的文檔和數(shù)據(jù)共享,支持多用戶(hù)協(xié)同、瀏覽編輯、修訂能力。目前,WPS 鴻蒙原生應(yīng)用已在全端流暢運(yùn)行,WPS AI 也在多端同步上線(xiàn),數(shù)十項(xiàng) AI 功能都遷移到了 HarmonyOS NEXT。

4.jpg

WPS 鴻蒙版亮相 HDC 2024

WPS 攜手鴻蒙,或?qū)㈩嵏惨苿?dòng)辦公生態(tài)版圖

HarmonyOS NEXT,作為華為技術(shù)實(shí)力的體現(xiàn),在新的發(fā)展道路上為用戶(hù)帶來(lái)更安全、更自主可控的操作系統(tǒng)體驗(yàn),能夠與微軟的 Windows 系統(tǒng)以及國(guó)際科技巨頭進(jìn)行有力競(jìng)爭(zhēng),助力我國(guó)爭(zhēng)取科技領(lǐng)域的主動(dòng)權(quán)。

眾所周知,微軟 Office 在 Windows 上擁有系統(tǒng)特權(quán),這是第三方軟件所不具備的。在功能上,WPS 完全可以與微軟 Office 相媲美,但在 Windows 上依然缺乏系統(tǒng)特權(quán)。

隨著全棧自研的 HarmonyOS NEXT 的發(fā)布,意味著屬于中國(guó)自己的主場(chǎng)已經(jīng)準(zhǔn)備好了。覃歡表示,希望 WPS 能夠通過(guò)與 HarmonyOS NEXT 的深度結(jié)合,打破微軟 Office 在 Windows 上的深度綁定策略。

覃歡認(rèn)為,一旦這一想法付諸實(shí)現(xiàn),WPS 將提供超出用戶(hù)預(yù)期的功能和體驗(yàn)。他們最近在做的啟動(dòng)優(yōu)化就是一個(gè)例子,由于能夠深入了解系統(tǒng)加載的細(xì)節(jié),從而針對(duì)性地調(diào)整,大幅提升了 WPS 啟動(dòng)速度。

截至 2024 年 5 月,鴻蒙生態(tài)設(shè)備已經(jīng)超過(guò)了 9 億臺(tái)。HarmonyOS 在市場(chǎng)上的影響力正在不斷增強(qiáng),為政企辦公等應(yīng)用提供了廣闊的市場(chǎng)空間和新的機(jī)遇。

5.jpg

覃歡表示:“我們期待華為在這一過(guò)程中扮演關(guān)鍵角色,為辦公領(lǐng)域帶來(lái)新的動(dòng)力,在政企辦公生態(tài)領(lǐng)域建立一套更成熟,能夠與 Windows 系統(tǒng)相媲美甚至超越它的辦公生態(tài)體系,幫助我們?cè)诳萍碱I(lǐng)域占據(jù)優(yōu)勢(shì)地位?!?/p>

當(dāng)前,鴻蒙生態(tài)已經(jīng)超過(guò) 5000 個(gè)應(yīng)用,這不僅僅是一個(gè)簡(jiǎn)單的數(shù)字,而是一個(gè)生態(tài)系統(tǒng)的逐漸構(gòu)建和完善。

應(yīng)用生態(tài)的繁榮,絕非一日之功,它需要時(shí)間的沉淀、技術(shù)的積累,以及各方力量的持續(xù)投入。在這個(gè)過(guò)程中,華為作為生態(tài)的發(fā)起者和推動(dòng)者,不斷優(yōu)化鴻蒙的開(kāi)發(fā)工具和平臺(tái),降低開(kāi)發(fā)門(mén)檻,提升開(kāi)發(fā)效率。同時(shí),華為提供技術(shù)支持和資源投入,鼓勵(lì)開(kāi)發(fā)者創(chuàng)新,扶持優(yōu)質(zhì)應(yīng)用快速成長(zhǎng)。

相信隨著 HarmonyOS NEXT 商用版的發(fā)布,將有更多企業(yè)投身于鴻蒙帶來(lái)的藍(lán)海市場(chǎng),也為徹底顛覆移動(dòng)辦公生態(tài)的版圖帶來(lái)新的可能性。

極客網(wǎng)企業(yè)會(huì)員

免責(zé)聲明:本網(wǎng)站內(nèi)容主要來(lái)自原創(chuàng)、合作伙伴供稿和第三方自媒體作者投稿,凡在本網(wǎng)站出現(xiàn)的信息,均僅供參考。本網(wǎng)站將盡力確保所提供信息的準(zhǔn)確性及可靠性,但不保證有關(guān)資料的準(zhǔn)確性及可靠性,讀者在使用前請(qǐng)進(jìn)一步核實(shí),并對(duì)任何自主決定的行為負(fù)責(zé)。本網(wǎng)站對(duì)有關(guān)資料所引致的錯(cuò)誤、不確或遺漏,概不負(fù)任何法律責(zé)任。任何單位或個(gè)人認(rèn)為本網(wǎng)站中的網(wǎng)頁(yè)或鏈接內(nèi)容可能涉嫌侵犯其知識(shí)產(chǎn)權(quán)或存在不實(shí)內(nèi)容時(shí),應(yīng)及時(shí)向本網(wǎng)站提出書(shū)面權(quán)利通知或不實(shí)情況說(shuō)明,并提供身份證明、權(quán)屬證明及詳細(xì)侵權(quán)或不實(shí)情況證明。本網(wǎng)站在收到上述法律文件后,將會(huì)依法盡快聯(lián)系相關(guān)文章源頭核實(shí),溝通刪除相關(guān)內(nèi)容或斷開(kāi)相關(guān)鏈接。

2024-09-14
超4000萬(wàn)行代碼,WPS完成「鴻蒙化」:全面適配HarmonyOS NEXT!
在今年 HDC 大會(huì)上,華為正式發(fā)布 HarmonyOS NEXT,并且宣布鴻蒙原生應(yīng)用進(jìn)入全面沖刺階段,5000 多個(gè)常用應(yīng)用已全部啟動(dòng)開(kāi)發(fā),其中超過(guò) 1500 個(gè)應(yīng)用已完成上架。

長(zhǎng)按掃碼 閱讀全文