鴻蒙生態(tài)繁榮背后: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)中的一員。

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

圖片 1.png

覃歡在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)路線與WPS的快速發(fā)展期高度重合。2012年,覃歡才剛進(jìn)入金山辦公這家公司,便參與基于Qt遷移WPS到多平臺(tái),包括Windows、Linux,隨后又?jǐn)U展到macOS和信創(chuàng)平臺(tái)。“我們那一批人,趕上了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)。”覃歡回憶。

到了年中,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)話語(yǔ)權(quán)。”覃歡表示。

為了快速將WPS 鴻蒙化,覃歡等人迅速組建起一支鴻蒙化團(tuán)隊(duì)。“我們抽調(diào)了大約40多名‘高精尖’技術(shù)人員。只要是在Office領(lǐng)域的高P基本上都被薅完了。”

圖片 2.png

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)得非常挑剔的一群人。”覃歡說(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)試、自定義變量觀察、多線程問(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)證效率。”

在此過(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.png

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è)。”覃歡表示。

在鴻蒙生態(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í)曲線相對(duì)平緩,對(duì)于有其他編程語(yǔ)言經(jīng)驗(yàn)的人來(lái)說(shuō),上手并不困難。”覃歡表示。

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鴻蒙化相比較還算順利。”

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

當(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也在多端同步上線,數(shù)十項(xiàng)AI功能都遷移到了HarmonyOS NEXT。

圖片 4.png

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.png

覃歡表示:“我們期待華為在這一過(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ì)地位。”

當(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)新的可能性。

(免責(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)鏈接。 )