一個(gè)歷經(jīng)了三十多年發(fā)展的軟件,這話聽起來就讓人感到沉甸甸的。但這款產(chǎn)品經(jīng)歷無數(shù)風(fēng)雨后不僅活得好好的,至今還在不斷煥發(fā)新的生機(jī)。
本期《中國卓越技術(shù)團(tuán)隊(duì)訪談錄》封面故事的主角是金山辦公旗下的 WPS 研發(fā)團(tuán)隊(duì)。WPS 是通用型國產(chǎn)辦公軟件的代表,可能是目前國內(nèi)最大的 C 單體項(xiàng)目。有人用這樣一種比喻去形容 WPS 的源代碼:“就像翻動沉積巖,一層一層,這層是框架、往下是更老的核心框架、再翻則是更底層的數(shù)據(jù)處理等等,和考古一樣(有趣)?!彪m然底層的東西一直都處于比較穩(wěn)定的狀態(tài),不過在底層之上,也有另一番熱鬧景象。
采訪嘉賓:
莊湧,金山辦公高級副總裁、研發(fā)中臺事業(yè)部總經(jīng)理
晁云瞳(Yeppy),金山辦公助理總裁、金山文檔事業(yè)部副總經(jīng)理,兼 WebOffice 負(fù)責(zé)人
柳楊,金山辦公總監(jiān),負(fù)責(zé) Linux 方向研發(fā)
重新演繹 WPS
1989 年,WPS 1.0 問世后,在中文文字處理軟件市場上獲得了消費(fèi)者的廣泛追捧。一時(shí)間,風(fēng)頭無兩。
上個(gè)世紀(jì) 90 年代末,微軟公司的辦公軟件跟隨著操作系統(tǒng)進(jìn)入中國市場,裝載在中國消費(fèi)者電腦上,MS Office 成為“事實(shí)標(biāo)準(zhǔn)”的時(shí)候,也是 WPS 推翻重來之時(shí)。這是一段不得不提的歷史。當(dāng)時(shí) WPS 不是要改寫,不是重構(gòu),而是需要一次徹底的重寫。
“我們要讓用戶能夠在 Windows 端重新使用 WPS,首先就得承認(rèn)微軟 Office 的市場地位以及事實(shí),而且要想讓用戶能夠無縫切換過來,就必須得做到兼容?!?003 年進(jìn)入 WPS 的莊湧表示,當(dāng)時(shí) V6 的主要目標(biāo)是“三大兼容”,包括:文件格式兼容、操作習(xí)慣兼容、二次開發(fā)接口兼容。
2002 年~2005 年,歷經(jīng)三年時(shí)間,一個(gè)涵蓋了數(shù)百萬行代碼,內(nèi)部研發(fā)代號為“V6”的 WPS 2005 版本,在一個(gè)全新的架構(gòu)下“重生”了,并且能很好地兼容微軟辦公軟件文件格式。
對于當(dāng)時(shí)的 WPS 來說,只有這三大兼容做好了,才能讓 WPS 有機(jī)會跟微軟 Office 同臺競技。但也因?yàn)椤巴昝兰嫒荨?,一些質(zhì)疑抄襲的聲音開始出現(xiàn)。
同樣在 2003 年加入 WPS 的 Yeppy 還記得,當(dāng)時(shí)有一些用戶認(rèn)為 WPS 推翻重寫的決策是錯(cuò)誤的,“說我們‘放棄了傳統(tǒng)’。重寫之后,WPS 原先很多心思巧妙的設(shè)計(jì)和功能來不及做,所以都砍掉了。我們是為了重新回到同臺競技的狀態(tài),但有些用戶不理解,為什么不做自己的特色而是跟著人家跑了。”
當(dāng)時(shí) WPS 2002 的產(chǎn)品在政企客戶中的口碑并不好。Yeppy 表示,問題主要體現(xiàn)在幾個(gè)方面:首先微軟 Office 的文檔格式逐漸成為主流,WPS 在打開微軟文檔的時(shí)候,容易出現(xiàn)各種錯(cuò)誤和異常。其次產(chǎn)品交互和處于市場領(lǐng)先地位的競品有很大不同,站在客戶的角度,其實(shí)是給他們帶來了不小的學(xué)習(xí)成本。
第三,還是兼容問題,微軟 Office 不再兼容 WPS??蛻舻南到y(tǒng)(比如 ERP、OA 系統(tǒng))都已經(jīng)跟 Office 打通,需要導(dǎo)出、導(dǎo)入 Office 文件并在這些系統(tǒng)里處理,但這些系統(tǒng)接入 WPS 后發(fā)現(xiàn)功能都失效,不能用了。
“其實(shí)說來說去就是一個(gè)問題,企業(yè)已經(jīng)有的這些文件是 IT 資產(chǎn),員工生產(chǎn)力也是資產(chǎn),各種系統(tǒng)是 IT 基礎(chǔ)建設(shè)的資產(chǎn),從做 B 端市場的角度來說,我們至少要把這些資產(chǎn)給保護(hù)好,人家才愿意用我們的產(chǎn)品?!盰eppy 說道。
于是,兼容成了 WPS 突圍的唯一出路。文檔格式兼容,保證不管用戶從哪個(gè)端打開,文檔都不會跑版、數(shù)據(jù)表現(xiàn)一致;操作習(xí)慣兼容,則要讓用戶在使用的過程中每個(gè)動作都不受影響,不另外產(chǎn)生新的學(xué)習(xí)成本;二次開發(fā)接口兼容主要是面向政府企業(yè)客戶,這些客戶更多是跟系統(tǒng)對接,很多時(shí)候需要用到豐富的二次開發(fā)接口,所以這個(gè)接口也要跟微軟的保持一致。
那時(shí)候,像莊湧和 Yeppy 這批新人進(jìn) WPS 后就投入到了做兼容這件事上。
四大引擎的演進(jìn)
以文件格式兼容、操作習(xí)慣兼容、二次開發(fā)接口兼容為目標(biāo),WPS 2005 版本構(gòu)建了全新的四大引擎,分別是文字的排版引擎、表格的計(jì)算引擎、演示的動畫播放引擎以及公共的圖形對象渲染引擎。
莊湧表示,本質(zhì)上,支撐 WPS 后續(xù)發(fā)展的基礎(chǔ)就是當(dāng)年的四大引擎,演進(jìn)過程可以分三個(gè)階段去看。
2005 年 9 月 3 日,WPS Office 2005 封盤紀(jì)念。
第一個(gè)階段是 PC 時(shí)代,彼時(shí)四大引擎的重心是打磨自身,最基本的目標(biāo)是保證 WPS 在 Windows 端的穩(wěn)定性以及性能提升。
文字排版引擎方面,不僅要讓 WPS 打開微軟 Office 文檔的時(shí)候一頁不差、一行不差、一字不差,同時(shí)也要提升性能,在打開幾百頁、上千頁文檔的時(shí)候,無論是在哪個(gè)位置編輯,甚至在多人協(xié)作時(shí)(當(dāng)時(shí)還不是現(xiàn)在普遍的基于網(wǎng)絡(luò)端的協(xié)作協(xié)同,而是需要通過文件傳遞和發(fā)送的方式去做批復(fù)),都要保障過程的順暢。
包括后來進(jìn)入以銀行為代表的金融企業(yè),打磨表格的計(jì)算引擎的重點(diǎn)之一也是性能。“要做到在百萬行數(shù)據(jù)中,無論在哪個(gè)地方操作都穩(wěn)定且順暢,背后其實(shí)要花好多功夫去優(yōu)化。”莊湧說。
第二個(gè)階段是移動時(shí)代。2011 年,雷軍重回金山軟件擔(dān)任董事長,并一腳把 WPS 踹進(jìn)了移動互聯(lián)網(wǎng)。那會移動手機(jī)起步不久,受限于內(nèi)存和屏幕尺寸,對于像 Office 這樣的產(chǎn)品是否適合在手機(jī)上使用,該怎么用,大家心里都沒底。但也正是因?yàn)檫@個(gè)機(jī)遇,WPS 的團(tuán)隊(duì)才真正開始用產(chǎn)品思維去思考問題。此前,為了與微軟 Office 更好地兼容,團(tuán)隊(duì)更多是思考怎么和微軟做得更像。
團(tuán)隊(duì)面臨的第一個(gè)問題就是,移動端的辦公軟件應(yīng)該采用什么引擎?直接移植 C 開發(fā)的 PC 端引擎到安卓平臺,會遇到很多兼容性問題,拖慢研發(fā)進(jìn)度。因此研發(fā)團(tuán)隊(duì)選擇了用 Java 語言開發(fā)新引擎,以趕上移動互聯(lián)網(wǎng)時(shí)代的快速發(fā)展。而在做 iOS 版本的時(shí)候,莊湧既借鑒了安卓團(tuán)隊(duì)的移動開發(fā)經(jīng)驗(yàn),同時(shí)由于 iOS 平臺支持 C 語言的開發(fā),又復(fù)用了 PC 端的內(nèi)核代碼進(jìn)行移植,節(jié)省了時(shí)間。
然而,落地執(zhí)行中團(tuán)隊(duì)遇到了更大困難:移動場景下辦公需求發(fā)生了劇烈變化,功能不能照搬照抄,而是要圍繞小內(nèi)存、小屏幕等特性做取舍,這是移動時(shí)代引擎迭代過程中最大的挑戰(zhàn)。“但是當(dāng)時(shí)我們內(nèi)部流行一句話,理解要執(zhí)行,不理解也要在執(zhí)行的過程中去加深理解?!鼻f湧說。
當(dāng)時(shí)移動端仍然是新鮮事物,要把電腦里的辦公軟件搬到小小的手機(jī)屏幕里,這件事從沒有哪家公司或者是哪個(gè)人嘗試過,沒有經(jīng)驗(yàn)可借鑒,短時(shí)間甚至找不到合適的人。為了支持移動版開發(fā),WPS 安卓團(tuán)隊(duì)的人不得不從 PC 團(tuán)隊(duì)中抽調(diào),且均是骨干。
隨著人均持有的辦公設(shè)備越來越多(比如手機(jī)、iPad、電腦等),為了解決文檔在不同設(shè)備間流轉(zhuǎn)所面臨的問題,借助云技術(shù),金山辦公研發(fā)了 WPS 云文檔。而隨著對 Linux、Mac 等平臺的不斷適配,四大引擎在移動時(shí)代也充分驗(yàn)證了跨平臺能力。
第三階段,隨著 Web 端需求的增長,尤其是疫情下在線協(xié)作辦公需求爆發(fā),WPS 團(tuán)隊(duì)進(jìn)一步在引擎中加入了協(xié)同特性。
新的不穩(wěn)定狀態(tài)
在日益月新的互聯(lián)網(wǎng)行業(yè)里,新產(chǎn)品新事物層出不窮,某種意義上,發(fā)展了許多年的 WPS 已經(jīng)是個(gè)相對穩(wěn)定和成熟的產(chǎn)品,成長空間是否已經(jīng)接近天花板?
對于這個(gè)問題,Yeppy 說:“得看怎么去理解‘穩(wěn)定’這兩個(gè)字。如果是說內(nèi)核,內(nèi)核能不能保證不出錯(cuò)呢?”
他以 WPS 的在線協(xié)作文檔產(chǎn)品「金山文檔」舉例道,“為了能幫用戶處理 Office 文檔,我們在服務(wù)器上也跑了一個(gè)自己的內(nèi)核。假如我們處理同一份文件,你在編輯,我也在編輯,那這兩個(gè)編輯動作,該怎么樣合到一個(gè)文件去,這里面有一個(gè) OT(Operational Transformation)引擎,并且這個(gè) OT 引擎一定要和我們原來的引擎相結(jié)合,保證計(jì)算、排版、調(diào)度、繪制、動畫這些功能都是正常的。”
“加了上面這些東西以后,原來的功能還算不算穩(wěn)定呢?”Yeppy 進(jìn)一步表示,從最基礎(chǔ)的功能來說,WPS 看起來沒有大的變化,但能力一直在橫向和縱向擴(kuò)展,比如協(xié)作是通過云端的引擎來做,比如多平臺適配把內(nèi)核從單一環(huán)境“搬”到了不同的設(shè)備環(huán)境,但它并不是直接搬就能跑起來,里面還有大量的開發(fā)和適配工作,這其實(shí)是一種“新的不穩(wěn)定狀態(tài)”。
WPS 的客戶端基本覆蓋全平臺,在服務(wù)器、云存儲、瀏覽器前端等方向都有人在研究、在折騰各種新技術(shù)。
Yeppy 介紹道,在線協(xié)作文檔的服務(wù)器上跑的是核心引擎,怎么去做多人之間的操作、協(xié)作變換則是另外一個(gè)模塊,用戶連到服務(wù)器后怎么做并發(fā)承載,則是用的具備并發(fā)特性的語言去處理。為了能在各種瀏覽器運(yùn)行,前端用的是 JavaScript,甚至在 10 年前團(tuán)隊(duì)還曾經(jīng)試過用 Adobe 的 Flex 技術(shù)去做在瀏覽器里運(yùn)行的小辦公平臺。諸如此類,不勝枚舉。“折騰新技術(shù)其實(shí)是為了新的場景做準(zhǔn)備?!盰eppy 說道。
莊湧亦表示,從 PC 到移動再到云端,從工具轉(zhuǎn)向云服務(wù),為了解決用戶的跨設(shè)備以及多人之間的協(xié)同協(xié)作問題,WPS 一直在不斷吸收新技術(shù),包括 AI。但技術(shù)只是手段,目的是幫助用戶解決問題和提升工作效率,本質(zhì)還是“用戶第一”的理念,基于用戶的場景和真實(shí)需求去應(yīng)用技術(shù)。
Linux 版 WPS:從“用愛發(fā)電”開始
即使是“小部分”人群的需求,WPS 也沒有忽視。如今,WPS Office 基本做到了全平臺覆蓋,包括在早期并不能帶來商業(yè)價(jià)值的 Linux 平臺。
今年是 Linux 系統(tǒng)誕生三十周年,若從 2011 年立項(xiàng)算起,WPS 陪伴 Linux 其實(shí)也有十年了。柳楊從 2013 年開始參與 Linux 版 WPS 開發(fā),他坦言,從操作系統(tǒng)的角度看,當(dāng)時(shí)的 Linux 相比起 Windows,市占率非常低,而大家決定做 Linux 版的出發(fā)點(diǎn)其實(shí)很簡單,因?yàn)橛杏脩粜枰?/span>
“那時(shí)候用戶給我們發(fā)了不少郵件,說想要 Linux 版,因?yàn)橛X得 Linux 平臺沒有好用的辦公軟件?!绷鴹钛a(bǔ)充說,決定開發(fā) Linux 版也跟 WPS 全平臺覆蓋的愿景有關(guān),“我們就想讓全平臺用戶都能有好用的辦公軟件。Linux 用戶雖然不像 Windows 用戶那么龐大,但是從 Linux 的用戶畫像來看,其中包括大量技術(shù)人員,有一些是真正的系統(tǒng)愛好者,有一些是在 Linux 平臺上工作的,這些用戶其實(shí)也是我們需要考慮到的一批優(yōu)質(zhì)用戶?!?/span>
“每一次我們發(fā)新版本的時(shí)候,尤其在 Linux 平臺,很多用戶就會給我們好評,說我們是一家良心企業(yè),因?yàn)樽?Linux 社區(qū)版不賺錢,但是我們一直在維護(hù),默默去做這個(gè)產(chǎn)品,用戶也常給我們一些正向的反饋。”談及怎么堅(jiān)持做這么多年 Linux 社區(qū)版的時(shí)候,柳楊表示來自用戶的支持也是一種動力。
Linux 版 WPS 收到來自用戶的暖心評價(jià)
不過在發(fā)展過程中,Linux 版也有過一個(gè)“小插曲”。2017 年上半年,一條關(guān)于“WPS Office for Linux 項(xiàng)目中止”的消息不脛而走,在圈內(nèi)引起過一陣熱議。隨后金山辦公官方對此作出否認(rèn),稱“WPS Office for Linux 并未停止更新,也從未有過停止更新的任何計(jì)劃。”
柳楊回憶道,“官方說明是我這邊推動市場部去做的?!睘槭裁磿霈F(xiàn)這個(gè)傳聞?他進(jìn)一步解釋稱,原因主要有兩方面,一是 Linux 面向個(gè)人的社區(qū)版分為海外版和國內(nèi)版,當(dāng)時(shí)有人提到海外版近一年沒更新,很快網(wǎng)上就開始流傳 Linux 版停止更新的猜測;二是跟當(dāng)時(shí)產(chǎn)品剛好碰上大版本更迭有關(guān)。
“17 年屬于我們的一個(gè)轉(zhuǎn)折點(diǎn),WPS 要從 WPS 2016 升級到 WPS 2019,當(dāng)時(shí)內(nèi)部都在重點(diǎn)準(zhǔn)備這個(gè)大版本,在推出 2016 加強(qiáng)版的同時(shí),我們也在準(zhǔn)備研究和開發(fā) WPS 2019 版。大版本開發(fā)的工作量非常大,因此時(shí)間跨度也比較長。”柳楊指出,大版本更新不僅做了新圖表、云文檔、SmartArt 等大量新功能,同時(shí)做了各種優(yōu)化工作以及 bug 修復(fù)。而在這些工作沒做完之前,發(fā)小版本其實(shí)對用戶來說意義不大。
此外,柳楊還提及了當(dāng)下一個(gè)重要的行業(yè)變化。近幾年,在 IT 國產(chǎn)化的浪潮下,強(qiáng)化產(chǎn)業(yè)鏈供應(yīng)鏈自主可控,WPS 在 Linux 上的商業(yè)價(jià)值迅速顯現(xiàn),因此 Linux 團(tuán)隊(duì)經(jīng)常需要閉關(guān)去做新的需求。
據(jù)最新數(shù)據(jù),金山辦公的業(yè)務(wù)覆蓋中國 30 多個(gè)省市自治區(qū)政府、400 多個(gè)市縣級政府,連續(xù)多年為包括黨政機(jī)關(guān)、金融、能源、航空、醫(yī)療、教育等領(lǐng)域在內(nèi)眾多行業(yè)提供定制化的辦公產(chǎn)品和服務(wù),幫助政府和企業(yè)加速實(shí)現(xiàn)數(shù)字化、智能化辦公。
程序員文化的傳承
2019 年 11 月,金山辦公上市。現(xiàn)在人們往往只會看到其“光鮮亮麗”的一面:金山辦公的市值挺高,WPS 活得挺滋潤。但其實(shí)過去有很長一段時(shí)間,WPS 的日子并不好過,其發(fā)展起起伏伏。金山辦公名譽(yù)董事長雷軍亦曾說過:“曾經(jīng)有很多人很多次勸我放棄 WPS,但是我們能夠堅(jiān)持下來,還是跟我們的使命息息相關(guān),而不是一個(gè)純粹的商業(yè)決定。”
“技術(shù)立業(yè)”的程序員文化是金山從創(chuàng)辦之初就傳承下來的。如今金山辦公數(shù)千名員工,60%以上是程序員,總數(shù)超過 2188 人,研發(fā)費(fèi)用占營收比例超過 30%,位居科創(chuàng)板前列。Yeppy 認(rèn)為,WPS 能堅(jiān)持這么多年,一個(gè)很重要的原因是跟公司里的研發(fā)人員多有關(guān),研發(fā)人很多時(shí)候會比較理想化、有使命感。公司歷代領(lǐng)軍人物細(xì)數(shù)下來,其實(shí)都是研發(fā)出身。
最早可以追溯到 1988 年,當(dāng)年求伯君把自己關(guān)在一個(gè)旅館的小房間,用匯編語言敲出了 WPS 的第一個(gè)版本,這十多萬行代碼揭開了中文排版、中文辦公時(shí)代的帷幕,這是個(gè)振奮人心的起點(diǎn)。“我認(rèn)為這算是程序員個(gè)人英雄時(shí)代巔峰的輝煌。”Yeppy 感慨道,因?yàn)樵谀侵螅浖_發(fā)就更多是群體作戰(zhàn)模式?,F(xiàn)在公司這么多號人,就是為了把幾條產(chǎn)品線做到極致。
“來 WPS 十年,我一直就是做 WPS Linux 版這款產(chǎn)品,從最開始只有幾個(gè)人做,到現(xiàn)在我們也有非常大的團(tuán)隊(duì)去做,就一直圍繞一個(gè)產(chǎn)品,把一件事做到極致?!绷鴹畹恼Z氣中不乏堅(jiān)定,在他看來,整個(gè)公司的氛圍和基因里具備專注、熱愛和理想的東西。“在我的認(rèn)知范圍里,我的職場生涯不用做太多花花綠綠的東西,也許把某一件事做好了,做到極致也就夠了?!?/span>
兩個(gè)月前,在金山技術(shù)開放日的活動上,莊湧曾介紹說,金山辦公的技術(shù)人員具備一些獨(dú)特特質(zhì),比如喜愛不斷“折騰”、精益求精等。具體來說,金山辦公一代代傳承下來的優(yōu)秀程序員在寫代碼之前都會有多個(gè)維度的思考,從深度性到通用性,再到可維護(hù)性以及可擴(kuò)展性。
2002 年那一次 WPS 代碼推翻重寫,同時(shí)進(jìn)行重塑的還有 WPS 的內(nèi)核引擎。這么多年過去,當(dāng)時(shí)重塑的四大辦公軟件引擎作為底座能支撐到今天,或許也恰恰印證了金山辦公技術(shù)人的實(shí)力與底蘊(yùn)。
本文選自《中國卓越技術(shù)團(tuán)隊(duì)訪談錄》(2021 年第五季),點(diǎn)擊下載電子書,查看更多獨(dú)家專訪!
《中國頂尖技術(shù)團(tuán)隊(duì)訪談錄》品牌升級,現(xiàn)正式更名為《中國卓越技術(shù)團(tuán)隊(duì)訪談錄》,這是 InfoQ 打造的重磅內(nèi)容產(chǎn)品,以各個(gè)國內(nèi)優(yōu)秀企業(yè)的 IT 技術(shù)團(tuán)隊(duì)為線索策劃系列采訪,希望向外界傳遞杰出技術(shù)團(tuán)隊(duì)的做事方法/技術(shù)實(shí)踐,讓開發(fā)者了解他們的知識積累、技術(shù)演進(jìn)、產(chǎn)品錘煉與團(tuán)隊(duì)文化等,并從中獲得有價(jià)值的見解。
版權(quán)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn),該文觀點(diǎn)僅代表作者本人。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如發(fā)現(xiàn)本站有涉嫌抄襲侵權(quán)/違法違規(guī)的內(nèi)容, 請發(fā)送郵件至 舉報(bào),一經(jīng)查實(shí),本站將立刻刪除。