在今年HDC 大會(huì)上,華為正式發(fā)布HarmonyOS NEXT,并且宣布鴻蒙原生應(yīng)用進(jìn)入全面沖刺階段,5000多個(gè)常用應(yīng)用已全部啟動(dòng)開發(fā),其中超過1500個(gè)應(yīng)用已完成上架。
在這串令人振奮的數(shù)字背后,承載著千千萬萬個(gè)開發(fā)者的熱忱和期待。作為國內(nèi)最大的辦公軟件之一,WPS 用了八個(gè)月時(shí)間完成了鴻蒙化,成為鴻蒙生態(tài)中的一員。
我們采訪了金山辦公架構(gòu)師覃歡,聽他講述WPS完成HarmonyOS NEXT開發(fā)適配背后的故事。
覃歡在HDC 2024現(xiàn)場(chǎng)
“HarmonyOS版本沒有一行代碼和安卓版本是重復(fù)的”
第一次正式接觸HarmonyOS,是2022年底,覃歡被突然拉到一個(gè)會(huì)議中,討論WPS要不要鴻蒙原生化?他感覺有些莫名其妙。
不過也情有可原。覃歡經(jīng)歷過WPS體系下的各種架構(gòu)變更,其個(gè)人成長路線與WPS的快速發(fā)展期高度重合。2012年,覃歡才剛進(jìn)入金山辦公這家公司,便參與基于Qt遷移WPS到多平臺(tái),包括Windows、Linux,隨后又?jǐn)U展到macOS和信創(chuàng)平臺(tái)。“我們那一批人,趕上了WPS重構(gòu)的末班車,經(jīng)歷了體系架構(gòu)變革、多平臺(tái)適配以及處理各種指令集,幾乎全程參與了這些變革。”覃歡表示。
答案是肯定的,就跟當(dāng)年擁抱信創(chuàng)一樣。
過了個(gè)年回來,WPS就開始與華為圍繞鴻蒙原生化這件事進(jìn)行了長期的技術(shù)溝通。“從二月份開始,一直到去年的七月份左右,我們經(jīng)歷了七八輪深入的交流,一直在探討WPS在純血鴻蒙系統(tǒng)中的技術(shù)難點(diǎn)。”覃歡回憶。
到了年中,WPS團(tuán)隊(duì)突然得知HarmonyOS不再兼容安卓,也就是同年9月發(fā)布的HarmonyOS NEXT計(jì)劃,即鴻蒙原生應(yīng)用全面啟動(dòng)。
一旦HarmonyOS NEXT推出,將開啟一扇通往無限機(jī)遇的大門。這樣的發(fā)展路徑,或許預(yù)示著操作系統(tǒng)的三分天下。華為與金山辦公雙方的目標(biāo),放在國家層面、行業(yè)發(fā)展層面、企業(yè)對(duì)市場(chǎng)的預(yù)期層面來講,都高度一致。
“我們其實(shí)也希望能夠搭載HarmonyOS NEXT這趟快車,迅速加入這一進(jìn)程并共同開拓市場(chǎng),掌握一定的市場(chǎng)話語權(quán)。”覃歡表示。
為了快速將WPS 鴻蒙化,覃歡等人迅速組建起一支鴻蒙化團(tuán)隊(duì)。“我們抽調(diào)了大約40多名‘高精尖’技術(shù)人員。只要是在Office領(lǐng)域的高P基本上都被薅完了。”
WPS鴻蒙版界面
團(tuán)隊(duì)成員不僅要對(duì)WPS底層結(jié)構(gòu)尤其內(nèi)核有深入理解,還要具備跨平臺(tái)開發(fā)的意識(shí)。此外,要擁有多系統(tǒng)同時(shí)開發(fā)的能力,因?yàn)橐紤]將內(nèi)核多端統(tǒng)一。
純血鴻蒙HarmonyOS NEXT完全摒棄了Linux內(nèi)核,原先運(yùn)行安卓應(yīng)用的機(jī)制不存在了,WPS如果不跟著改變,也就無法在HarmonyOS NEXT運(yùn)行。
只能重寫。
為此,覃歡等人將現(xiàn)有的WPS PC內(nèi)核引擎移植到鴻蒙上來,在此基礎(chǔ)上重新編寫了上層應(yīng)用程序。為了實(shí)現(xiàn)這一點(diǎn),還構(gòu)建了一個(gè)從內(nèi)核到上層應(yīng)用的框架。與之前的安卓版本相比較,鴻蒙版的WPS完全不一樣。“沒有一行代碼是重復(fù)的,是完全重寫的一套。”覃歡強(qiáng)調(diào)。
2023年11月,WPS成功在鴻蒙創(chuàng)新產(chǎn)品上運(yùn)行。緊接著,通過在內(nèi)核上添加一個(gè)簡單的Ark層,也在一個(gè)月后實(shí)現(xiàn)了WPS在移動(dòng)設(shè)備上的基本操作,如打開文檔。這就是上層 ArkUI,底層 C++的鴻蒙版WPS。
40多條需求,倒逼HarmonyOS IDE 成長
將鴻蒙創(chuàng)新產(chǎn)品的內(nèi)核跑在移動(dòng)設(shè)備上之后,又面臨了新的問題——如何搭建能夠滿足跨棧調(diào)用的功能、性能與穩(wěn)定性的要求?
此前在安卓平臺(tái)上,WPS曾考慮過C++與Java的互調(diào)方案(JNI),但由于性能和穩(wěn)定性不達(dá)標(biāo),最終該方案被否決。而在iOS平臺(tái)上,由于OC和C++共占同一調(diào)用棧,這個(gè)問題得到了較好的解決。
如今在鴻蒙移動(dòng)端,上層是Ark運(yùn)行時(shí),底層是C++,這就必然涉及到類似于JNI的調(diào)用問題,比如在大量數(shù)據(jù)的序列化和反序列化以及跨進(jìn)程調(diào)度通信方面。
“我們是一群被Visual Studio養(yǎng)得非常挑剔的一群人。”覃歡說,WPS 的開發(fā)人員絕大多數(shù)都是使用市場(chǎng)上成熟的工具鏈體系,當(dāng)轉(zhuǎn)向HarmonyOS開發(fā)時(shí),遇到了前所未有的挑戰(zhàn)。“HarmonyOS的調(diào)試工具和開發(fā)環(huán)境——DevEco Studio對(duì)于我們來說是一個(gè)巨大的考驗(yàn)。面對(duì)跨語言調(diào)試、自定義變量觀察、多線程問題分析、內(nèi)存泄漏等復(fù)雜難題時(shí),DevEco是否能夠滿足我們的能力要求?”
特別是當(dāng)需要從JS穿透到C++時(shí),由于缺乏有效的跨語言調(diào)試能力,類似CMD這樣的工具,限制了他們?cè)趩栴}分析和處理上的手段,就只能依賴于日志和時(shí)間戳來進(jìn)行問題分析,調(diào)試工作變得異常復(fù)雜。
尤其是在遠(yuǎn)程調(diào)試和交叉編譯方面,WPS對(duì)熟練度和性能要求都很高,但現(xiàn)有的工具無法滿足這些需求。WPS的代碼量龐大,如何高效地將編譯緩存推送到設(shè)備上成為了一個(gè)難題。
“每次修改代碼后,都需要等待幾分鐘才能進(jìn)行調(diào)試,這對(duì)我們的工作效率造成了嚴(yán)重影響。我們嘗試了各種方法來提高編譯、調(diào)試速度以及問題驗(yàn)證效率。”
在此過程中,華為提供了一系列技術(shù)支持,比如對(duì)可能出現(xiàn)的邏輯錯(cuò)誤和異常情況的分析,以及如何在這些情況下保持框架的穩(wěn)定性,使得框架在安全性方面得到良好的保障,從而避免了異常崩潰(crash)的風(fēng)險(xiǎn),增強(qiáng)了整個(gè)系統(tǒng)的健壯性和可靠性。
最終通過內(nèi)部與華為技術(shù)團(tuán)隊(duì)的溝通,WPS 搭建了一套支持同步&異步跨語言的調(diào)度框架,基本滿足了 WPS 的業(yè)務(wù)訴求。
事實(shí)上,鴻蒙化編譯還沒正式開始前,WPS 在與華為的正式交流中,第一個(gè)討論的議題就是開發(fā)調(diào)試工具是否準(zhǔn)備好,是否能夠支撐如此大量代碼的編譯與調(diào)試工作?在開發(fā)初期,WPS 針對(duì) HarmonyOS的專用開發(fā)調(diào)測(cè)工具DevEco 提的需求就多達(dá) 25 條。
在與華為技術(shù)團(tuán)隊(duì)早期交流中,覃歡曾表示,如果WPS的開發(fā)環(huán)境能夠與DevEco很好地兼容或適配,那么之后,幾乎所有應(yīng)用在鴻蒙化過程的開發(fā)需求,DevEco都能滿足。
隨著需求一一得到落實(shí),不僅極大地提升了開發(fā)效率,也極大地增強(qiáng)了開發(fā)者對(duì)鴻蒙生態(tài)的信心。覃歡及其團(tuán)隊(duì)見證了DevEco從一個(gè)潛力無限的IDE成長為一個(gè)能夠穩(wěn)定支撐大型項(xiàng)目開發(fā)的強(qiáng)大工具。
DevEco多場(chǎng)景深度調(diào)優(yōu)
除了在技術(shù)層面提供支持,華為還在戰(zhàn)略層面,快速推進(jìn)第三方庫的鴻蒙化進(jìn)程。
WPS Office是一個(gè)辦公軟件套裝,它在開發(fā)過程中依賴了多個(gè)三方庫來提供額外的功能和增強(qiáng)的性能。但是,WPS 也只是第三方庫的使用者,對(duì)于三方庫的駕馭能力并不足。“推動(dòng)第三方庫鴻蒙化,于我們而言是一件精力消耗非常大的事情。WPS 依賴的三方庫有100多個(gè),但是精通的卻只有十多個(gè)。”覃歡表示。
在鴻蒙生態(tài)這艘船上,華為無疑是掌舵者。在推動(dòng)第三方庫適配鴻蒙系統(tǒng)的過程中,華為扮演了關(guān)鍵角色,提供了系統(tǒng)層面的適配與支持,大幅節(jié)省了開發(fā)團(tuán)隊(duì)的研發(fā)時(shí)間,并確保了性能和研發(fā)速度的提升。
“在短短一兩周內(nèi),便實(shí)現(xiàn)了第三方庫在HarmonyOS上的順利運(yùn)行,加快了WPS向HarmonyOS的遷移進(jìn)程。”覃歡總結(jié)道。
在整個(gè)WPS 鴻蒙化的過程中,覃歡主導(dǎo)完成了4000萬行代碼應(yīng)用開發(fā),對(duì)HarmonyOS NEXT提出的需求超過150項(xiàng),對(duì)集成開發(fā)環(huán)境(IDE)提出的需求超過40項(xiàng),極大地補(bǔ)齊了系統(tǒng)能力——比如窗口、應(yīng)用框架、文件、字體、打印、Dfx等子系統(tǒng)能力和對(duì)大型應(yīng)用的工程化支持能力等。為表彰覃歡突出的技術(shù)貢獻(xiàn),華為開發(fā)者大會(huì)(HDC 2024)為其頒發(fā)了鴻蒙先鋒“卓越技術(shù)貢獻(xiàn)獎(jiǎng)”獎(jiǎng)?wù)隆?/p>
“沒有什么技術(shù)點(diǎn)在鴻蒙上無法實(shí)現(xiàn)”
WPS 的系統(tǒng)復(fù)雜性和龐大代碼量,使得 WPS 在系統(tǒng)資源需求上存在特殊性。即使不算三方庫,WPS 也有4000萬行代碼,其安裝包體積遠(yuǎn)遠(yuǎn)超過大多數(shù)鴻蒙APP。
連WPS都能在鴻蒙操作系統(tǒng)上流暢運(yùn)行,也就意味著,應(yīng)用鴻蒙化的技術(shù)障礙已經(jīng)基本消除。接下來,開發(fā)者只需要更多關(guān)注如何優(yōu)化功能的細(xì)節(jié)和確保穩(wěn)定性,以及如何進(jìn)行適配工作。
“HarmonyOS的學(xué)習(xí)曲線相對(duì)平緩,對(duì)于有其他編程語言經(jīng)驗(yàn)的人來說,上手并不困難。”覃歡表示。
WPS在融入鴻蒙生態(tài)的過程中,并未特意招募鴻蒙專業(yè)開發(fā)者,其團(tuán)隊(duì)都是由傳統(tǒng)C++、Java、OC開發(fā)人員,以及熟悉前端H5開發(fā)的技術(shù)人員組成。
覃歡表示,對(duì)于在C++領(lǐng)域深耕多年的開發(fā)者來說,HarmonyOS的設(shè)計(jì)理念顯得清晰且易于理解,其復(fù)雜度并不高。加之鴻蒙已解決了跨語言調(diào)試的難題,大多數(shù)問題都可以通過制作demo或小型化實(shí)例來單獨(dú)細(xì)致地調(diào)試。
“將指令集遷移到華為平臺(tái)的過程實(shí)際上比預(yù)期要簡單,沒有原本想象的那樣困難。畢竟經(jīng)歷過信創(chuàng),遇到過的問題也多如牛毛;在鴻蒙這里,事情并沒有比之前更難,相較而言,在各自過往技術(shù)積累下,WPS鴻蒙化相比較還算順利。”
這8個(gè)月來,WPS已經(jīng)全面測(cè)試并驗(yàn)證了HarmonyOS所提供的各項(xiàng)技術(shù)能力。“WPS基本上已經(jīng)把大家所需要的所有技術(shù)能力,在鴻蒙系統(tǒng)上趟了一個(gè)遍,幾乎沒有什么技術(shù)點(diǎn)在鴻蒙上無法實(shí)現(xiàn)。”覃歡表示。
當(dāng)前,WPS 現(xiàn)已完成鴻蒙原生版應(yīng)用開發(fā),在諸如手機(jī)端、折疊屏、平板等不同大小尺寸的屏幕上分別做了產(chǎn)品適配,并基于多平臺(tái)賬號(hào)統(tǒng)一,實(shí)現(xiàn)了跨端、跨設(shè)備的文檔和數(shù)據(jù)共享,支持多用戶協(xié)同、瀏覽編輯、修訂能力。目前,WPS鴻蒙原生應(yīng)用已在全端流暢運(yùn)行,WPS AI也在多端同步上線,數(shù)十項(xiàng)AI功能都遷移到了HarmonyOS NEXT。
WPS鴻蒙版亮相HDC 2024
WPS攜手鴻蒙,或?qū)㈩嵏惨苿?dòng)辦公生態(tài)版圖
HarmonyOS NEXT,作為華為技術(shù)實(shí)力的體現(xiàn),在新的發(fā)展道路上為用戶帶來更安全、更自主可控的操作系統(tǒng)體驗(yàn),能夠與微軟的Windows系統(tǒng)以及國際科技巨頭進(jìn)行有力競(jìng)爭(zhēng),助力我國爭(zhēng)取科技領(lǐng)域的主動(dòng)權(quán)。
眾所周知,微軟Office在Windows上擁有系統(tǒng)特權(quán),這是第三方軟件所不具備的。在功能上,WPS完全可以與微軟Office相媲美,但在Windows上依然缺乏系統(tǒng)特權(quán)。
隨著全棧自研的HarmonyOS NEXT的發(fā)布,意味著屬于中國自己的主場(chǎng)已經(jīng)準(zhǔn)備好了。覃歡表示,希望WPS能夠通過與HarmonyOS NEXT的深度結(jié)合,打破微軟Office在Windows上的深度綁定策略。
覃歡認(rèn)為,一旦這一想法付諸實(shí)現(xiàn),WPS將提供超出用戶預(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)超過了9億臺(tái)。HarmonyOS在市場(chǎng)上的影響力正在不斷增強(qiáng),為政企辦公等應(yīng)用提供了廣闊的市場(chǎng)空間和新的機(jī)遇。
覃歡表示:“我們期待華為在這一過程中扮演關(guān)鍵角色,為辦公領(lǐng)域帶來新的動(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)超過5000個(gè)應(yīng)用,這不僅僅是一個(gè)簡單的數(shù)字,而是一個(gè)生態(tài)系統(tǒng)的逐漸構(gòu)建和完善。
應(yīng)用生態(tài)的繁榮,絕非一日之功,它需要時(shí)間的沉淀、技術(shù)的積累,以及各方力量的持續(xù)投入。在這個(gè)過程中,華為作為生態(tài)的發(fā)起者和推動(dòng)者,不斷優(yōu)化鴻蒙的開發(fā)工具和平臺(tái),降低開發(fā)門檻,提升開發(fā)效率。同時(shí),華為提供技術(shù)支持和資源投入,鼓勵(lì)開發(fā)者創(chuàng)新,扶持優(yōu)質(zhì)應(yīng)用快速成長。
相信隨著HarmonyOS NEXT商用版的發(fā)布,將有更多企業(yè)投身于鴻蒙帶來的藍(lán)海市場(chǎng),也為徹底顛覆移動(dòng)辦公生態(tài)的版圖帶來新的可能性。
(免責(zé)聲明:本網(wǎng)站內(nè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)頁或鏈接內(nèi)容可能涉嫌侵犯其知識(shí)產(chǎn)權(quán)或存在不實(shí)內(nèi)容時(shí),應(yīng)及時(shí)向本網(wǎng)站提出書面權(quán)利通知或不實(shí)情況說明,并提供身份證明、權(quán)屬證明及詳細(xì)侵權(quán)或不實(shí)情況證明。本網(wǎng)站在收到上述法律文件后,將會(huì)依法盡快聯(lián)系相關(guān)文章源頭核實(shí),溝通刪除相關(guān)內(nèi)容或斷開相關(guān)鏈接。 )