當前位置: 華文星空 > 心靈

鴻蒙生態繁榮背後:WPS全面適配HarmonyOS NEXT的故事

2024-09-16心靈

在今年HDC 大會上,華為正式釋出HarmonyOS NEXT,並且宣布鴻蒙原生套用進入全面沖刺階段,5000多個常用套用已全部啟動開發,其中超過1500個套用已完成上架。

在這串令人振奮的數碼背後,承載著千千萬萬個開發者的熱忱和期待。作為國內最大的辦公軟件之一,WPS 用了八個月時間完成了鴻蒙化,成為鴻蒙生態中的一員。

我們采訪了金山辦公架構師覃歡,聽他講述WPS完成HarmonyOS NEXT開發適配背後的故事。

覃歡在HDC 2024現場

「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鴻蒙版界面

團隊成員不僅要對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 的系統復雜性和龐大程式碼量,使得 WPS 在系統資源需求上存在特殊性。即使不算三方庫,WPS 也有4000萬行程式碼,其安裝包體積遠遠超過大多數鴻蒙APP。

連WPS都能在鴻蒙作業系統上流暢執行,也就意味著,套用鴻蒙化的技術障礙已經基本消除。接下來,開發者只需要更多關註如何最佳化功能的細節和確保穩定性,以及如何進行適配工作。

「HarmonyOS的學習曲線相對平緩,對於有其他程式語言經驗的人來說,上手並不困難。」覃歡表示。

WPS在融入鴻蒙生態的過程中,並未特意招募鴻蒙專業開發者,其團隊都是由傳統C++、Java、OC開發人員,以及熟悉前端p開發的技術人員組成。

覃歡表示,對於在C++領域深耕多年的開發者來說,HarmonyOS的設計理念顯得清晰且易於理解,其復雜度並不高。加之鴻蒙已解決了跨語言偵錯的難題,大多數問題都可以透過制作demo或小型化例項來單獨細致地偵錯。

「將指令集遷移到華為平台的過程實際上比預期要簡單,沒有原本想象的那樣困難。畢竟經歷過信創,遇到過的問題也多如牛毛;在鴻蒙這裏,事情並沒有比之前更難,相較而言,在各自過往技術積累下,WPS鴻蒙化相比較還算順利。」

這8個月來,WPS已經全面測試並驗證了HarmonyOS所提供的各項技術能力。「WPS基本上已經把大家所需要的所有技術能力,在鴻蒙系統上趟了一個遍,幾乎沒有什麽技術點在鴻蒙上無法實作。」覃歡表示。

當前,WPS 現已完成鴻蒙原生版套用開發,在諸如手機端、折疊屏、平板等不同大小尺寸的螢幕上分別做了產品適配,並基於多平台賬號統一,實作了跨端、跨器材的文件和數據共享,支持多使用者協同、瀏覽編輯、修訂能力。目前,WPS鴻蒙原生套用已在全端流暢執行,WPS AI也在多端同步上線,數十項AI功能都遷移到了HarmonyOS NEXT。

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商用版的釋出,將有更多企業投身於鴻蒙帶來的藍海市場,也為徹底顛覆移動辦公生態的版圖帶來新的可能性。