欧易

欧易(OKX)

国内用户最喜爱的合约交易所

火币

火币(HTX )

全球知名的比特币交易所

币安

币安(Binance)

全球用户最多的交易所

国内最大的C++软件项目之一,WPS的“自守”之道

时间:2022-10-09 17:43:49 | 浏览:279

一个历经了三十多年发展的软件,这话听起来就让人感到沉甸甸的。但这款产品经历无数风雨后不仅活得好好的,至今还在不断焕发新的生机。本期《中国卓越技术团队访谈录》封面故事的主角是金山办公旗下的 WPS 研发团队。WPS 是通用型国产办公软件的代表

一个历经了三十多年发展的软件,这话听起来就让人感到沉甸甸的。但这款产品经历无数风雨后不仅活得好好的,至今还在不断焕发新的生机。

本期《中国卓越技术团队访谈录》封面故事的主角是金山办公旗下的 WPS 研发团队。WPS 是通用型国产办公软件的代表,可能是目前国内最大的 C++单体项目。有人用这样一种比喻去形容 WPS 的源代码:“就像翻动沉积岩,一层一层,这层是框架、往下是更老的核心框架、再翻则是更底层的数据处理等等,和考古一样(有趣)。”虽然底层的东西一直都处于比较稳定的状态,不过在底层之上,也有另一番热闹景象。

采访嘉宾:

庄湧,金山办公高级副总裁、研发中台事业部总经理

晁云瞳(Yeppy),金山办公助理总裁、金山文档事业部副总经理,兼 WebOffice 负责人

柳杨,金山办公总监,负责 Linux 方向研发

重新演绎 WPS

1989 年,WPS 1.0 问世后,在中文文字处理软件市场上获得了消费者的广泛追捧。一时间,风头无两。

上个世纪 90 年代末,微软公司的办公软件跟随着操作系统进入中国市场,装载在中国消费者电脑上,MS Office 成为“事实标准”的时候,也是 WPS 推翻重来之时。这是一段不得不提的历史。当时 WPS 不是要改写,不是重构,而是需要一次彻底的重写。

“我们要让用户能够在 Windows 端重新使用 WPS,首先就得承认微软 Office 的市场地位以及事实,而且要想让用户能够无缝切换过来,就必须得做到兼容。”2003 年进入 WPS 的庄湧表示,当时 V6 的主要目标是“三大兼容”,包括:文件格式兼容、操作习惯兼容、二次开发接口兼容。

2002 年~2005 年,历经三年时间,一个涵盖了数百万行代码,内部研发代号为“V6”的 WPS 2005 版本,在一个全新的架构下“重生”了,并且能很好地兼容微软办公软件文件格式。

对于当时的 WPS 来说,只有这三大兼容做好了,才能让 WPS 有机会跟微软 Office 同台竞技。但也因为“完美兼容”,一些质疑抄袭的声音开始出现。

同样在 2003 年加入 WPS 的 Yeppy 还记得,当时有一些用户认为 WPS 推翻重写的决策是错误的,“说我们‘放弃了传统’。重写之后,WPS 原先很多心思巧妙的设计和功能来不及做,所以都砍掉了。我们是为了重新回到同台竞技的状态,但有些用户不理解,为什么不做自己的特色而是跟着人家跑了。”

当时 WPS 2002 的产品在政企客户中的口碑并不好。Yeppy 表示,问题主要体现在几个方面:首先微软 Office 的文档格式逐渐成为主流,WPS 在打开微软文档的时候,容易出现各种错误和异常。其次产品交互和处于市场领先地位的竞品有很大不同,站在客户的角度,其实是给他们带来了不小的学习成本。

第三,还是兼容问题,微软 Office 不再兼容 WPS。客户的系统(比如 ERP、OA 系统)都已经跟 Office 打通,需要导出、导入 Office 文件并在这些系统里处理,但这些系统接入 WPS 后发现功能都失效,不能用了。

“其实说来说去就是一个问题,企业已经有的这些文件是 IT 资产,员工生产力也是资产,各种系统是 IT 基础建设的资产,从做 B 端市场的角度来说,我们至少要把这些资产给保护好,人家才愿意用我们的产品。”Yeppy 说道。

于是,兼容成了 WPS 突围的唯一出路。文档格式兼容,保证不管用户从哪个端打开,文档都不会跑版、数据表现一致;操作习惯兼容,则要让用户在使用的过程中每个动作都不受影响,不另外产生新的学习成本;二次开发接口兼容主要是面向政府企业客户,这些客户更多是跟系统对接,很多时候需要用到丰富的二次开发接口,所以这个接口也要跟微软的保持一致。

那时候,像庄湧和 Yeppy 这批新人进 WPS 后就投入到了做兼容这件事上。

四大引擎的演进

以文件格式兼容、操作习惯兼容、二次开发接口兼容为目标,WPS 2005 版本构建了全新的四大引擎,分别是文字的排版引擎、表格的计算引擎、演示的动画播放引擎以及公共的图形对象渲染引擎。

庄湧表示,本质上,支撑 WPS 后续发展的基础就是当年的四大引擎,演进过程可以分三个阶段去看。

2005 年 9 月 3 日,WPS Office 2005 封盘纪念。

第一个阶段是 PC 时代,彼时四大引擎的重心是打磨自身,最基本的目标是保证 WPS 在 Windows 端的稳定性以及性能提升。

文字排版引擎方面,不仅要让 WPS 打开微软 Office 文档的时候一页不差、一行不差、一字不差,同时也要提升性能,在打开几百页、上千页文档的时候,无论是在哪个位置编辑,甚至在多人协作时(当时还不是现在普遍的基于网络端的协作协同,而是需要通过文件传递和发送的方式去做批复),都要保障过程的顺畅。

包括后来进入以银行为代表的金融企业,打磨表格的计算引擎的重点之一也是性能。“要做到在百万行数据中,无论在哪个地方操作都稳定且顺畅,背后其实要花好多功夫去优化。”庄湧说。

第二个阶段是移动时代。2011 年,雷军重回金山软件担任董事长,并一脚把 WPS 踹进了移动互联网。那会移动手机起步不久,受限于内存和屏幕尺寸,对于像 Office 这样的产品是否适合在手机上使用,该怎么用,大家心里都没底。但也正是因为这个机遇,WPS 的团队才真正开始用产品思维去思考问题。此前,为了与微软 Office 更好地兼容,团队更多是思考怎么和微软做得更像。

团队面临的第一个问题就是,移动端的办公软件应该采用什么引擎?直接移植 C++开发的 PC 端引擎到安卓平台,会遇到很多兼容性问题,拖慢研发进度。因此研发团队选择了用 Java 语言开发新引擎,以赶上移动互联网时代的快速发展。而在做 iOS 版本的时候,庄湧既借鉴了安卓团队的移动开发经验,同时由于 iOS 平台支持 C++语言的开发,又复用了 PC 端的内核代码进行移植,节省了时间。

然而,落地执行中团队遇到了更大困难:移动场景下办公需求发生了剧烈变化,功能不能照搬照抄,而是要围绕小内存、小屏幕等特性做取舍,这是移动时代引擎迭代过程中最大的挑战。“但是当时我们内部流行一句话,理解要执行,不理解也要在执行的过程中去加深理解。”庄湧说。

当时移动端仍然是新鲜事物,要把电脑里的办公软件搬到小小的手机屏幕里,这件事从没有哪家公司或者是哪个人尝试过,没有经验可借鉴,短时间甚至找不到合适的人。为了支持移动版开发,WPS 安卓团队的人不得不从 PC 团队中抽调,且均是骨干。

随着人均持有的办公设备越来越多(比如手机、iPad、电脑等),为了解决文档在不同设备间流转所面临的问题,借助云技术,金山办公研发了 WPS 云文档。而随着对 Linux、Mac 等平台的不断适配,四大引擎在移动时代也充分验证了跨平台能力。

第三阶段,随着 Web 端需求的增长,尤其是疫情下在线协作办公需求爆发,WPS 团队进一步在引擎中加入了协同特性。

新的不稳定状态

在日益月新的互联网行业里,新产品新事物层出不穷,某种意义上,发展了许多年的 WPS 已经是个相对稳定和成熟的产品,成长空间是否已经接近天花板?

对于这个问题,Yeppy 说:“得看怎么去理解‘稳定’这两个字。如果是说内核,内核能不能保证不出错呢?”

他以 WPS 的在线协作文档产品「金山文档」举例道,“为了能帮用户处理 Office 文档,我们在服务器上也跑了一个自己的内核。假如我们处理同一份文件,你在编辑,我也在编辑,那这两个编辑动作,该怎么样合到一个文件去,这里面有一个 OT(Operational Transformation)引擎,并且这个 OT 引擎一定要和我们原来的引擎相结合,保证计算、排版、调度、绘制、动画这些功能都是正常的。”

“加了上面这些东西以后,原来的功能还算不算稳定呢?”Yeppy 进一步表示,从最基础的功能来说,WPS 看起来没有大的变化,但能力一直在横向和纵向扩展,比如协作是通过云端的引擎来做,比如多平台适配把内核从单一环境“搬”到了不同的设备环境,但它并不是直接搬就能跑起来,里面还有大量的开发和适配工作,这其实是一种“新的不稳定状态”。

WPS 的客户端基本覆盖全平台,在服务器、云存储、浏览器前端等方向都有人在研究、在折腾各种新技术。

Yeppy 介绍道,在线协作文档的服务器上跑的是核心引擎,怎么去做多人之间的操作、协作变换则是另外一个模块,用户连到服务器后怎么做并发承载,则是用的具备并发特性的语言去处理。为了能在各种浏览器运行,前端用的是 JavaScript,甚至在 10 年前团队还曾经试过用 Adobe 的 Flex 技术去做在浏览器里运行的小办公平台。诸如此类,不胜枚举。“折腾新技术其实是为了新的场景做准备。”Yeppy 说道。

庄湧亦表示,从 PC 到移动再到云端,从工具转向云服务,为了解决用户的跨设备以及多人之间的协同协作问题,WPS 一直在不断吸收新技术,包括 AI。但技术只是手段,目的是帮助用户解决问题和提升工作效率,本质还是“用户第一”的理念,基于用户的场景和真实需求去应用技术。

Linux 版 WPS:从“用爱发电”开始

即使是“小部分”人群的需求,WPS 也没有忽视。如今,WPS Office 基本做到了全平台覆盖,包括在早期并不能带来商业价值的 Linux 平台。

今年是 Linux 系统诞生三十周年,若从 2011 年立项算起,WPS 陪伴 Linux 其实也有十年了。柳杨从 2013 年开始参与 Linux 版 WPS 开发,他坦言,从操作系统的角度看,当时的 Linux 相比起 Windows,市占率非常低,而大家决定做 Linux 版的出发点其实很简单,因为有用户需要。

“那时候用户给我们发了不少邮件,说想要 Linux 版,因为觉得 Linux 平台没有好用的办公软件。”柳杨补充说,决定开发 Linux 版也跟 WPS 全平台覆盖的愿景有关,“我们就想让全平台用户都能有好用的办公软件。Linux 用户虽然不像 Windows 用户那么庞大,但是从 Linux 的用户画像来看,其中包括大量技术人员,有一些是真正的系统爱好者,有一些是在 Linux 平台上工作的,这些用户其实也是我们需要考虑到的一批优质用户。”

“每一次我们发新版本的时候,尤其在 Linux 平台,很多用户就会给我们好评,说我们是一家良心企业,因为做 Linux 社区版不赚钱,但是我们一直在维护,默默去做这个产品,用户也常给我们一些正向的反馈。”谈及怎么坚持做这么多年 Linux 社区版的时候,柳杨表示来自用户的支持也是一种动力。

Linux 版 WPS 收到来自用户的暖心评价

不过在发展过程中,Linux 版也有过一个“小插曲”。2017 年上半年,一条关于“WPS Office for Linux 项目中止”的消息不胫而走,在圈内引起过一阵热议。随后金山办公官方对此作出否认,称“WPS Office for Linux 并未停止更新,也从未有过停止更新的任何计划。”

柳杨回忆道,“官方说明是我这边推动市场部去做的。”为什么会出现这个传闻?他进一步解释称,原因主要有两方面,一是 Linux 面向个人的社区版分为海外版和国内版,当时有人提到海外版近一年没更新,很快网上就开始流传 Linux 版停止更新的猜测;二是跟当时产品刚好碰上大版本更迭有关。

“17 年属于我们的一个转折点,WPS 要从 WPS 2016 升级到 WPS 2019,当时内部都在重点准备这个大版本,在推出 2016 加强版的同时,我们也在准备研究和开发 WPS 2019 版。大版本开发的工作量非常大,因此时间跨度也比较长。”柳杨指出,大版本更新不仅做了新图表、云文档、SmartArt 等大量新功能,同时做了各种优化工作以及 bug 修复。而在这些工作没做完之前,发小版本其实对用户来说意义不大。

此外,柳杨还提及了当下一个重要的行业变化。近几年,在 IT 国产化的浪潮下,强化产业链供应链自主可控,WPS 在 Linux 上的商业价值迅速显现,因此 Linux 团队经常需要闭关去做新的需求。

据最新数据,金山办公的业务覆盖中国 30 多个省市自治区政府、400 多个市县级政府,连续多年为包括党政机关、金融、能源、航空、医疗、教育等领域在内众多行业提供定制化的办公产品和服务,帮助政府和企业加速实现数字化、智能化办公。

程序员文化的传承

2019 年 11 月,金山办公上市。现在人们往往只会看到其“光鲜亮丽”的一面:金山办公的市值挺高,WPS 活得挺滋润。但其实过去有很长一段时间,WPS 的日子并不好过,其发展起起伏伏。金山办公名誉董事长雷军亦曾说过:“曾经有很多人很多次劝我放弃 WPS,但是我们能够坚持下来,还是跟我们的使命息息相关,而不是一个纯粹的商业决定。”

“技术立业”的程序员文化是金山从创办之初就传承下来的。如今金山办公数千名员工,60%以上是程序员,总数超过 2188 人,研发费用占营收比例超过 30%,位居科创板前列。Yeppy 认为,WPS 能坚持这么多年,一个很重要的原因是跟公司里的研发人员多有关,研发人很多时候会比较理想化、有使命感。公司历代领军人物细数下来,其实都是研发出身。

最早可以追溯到 1988 年,当年求伯君把自己关在一个旅馆的小房间,用汇编语言敲出了 WPS 的第一个版本,这十多万行代码揭开了中文排版、中文办公时代的帷幕,这是个振奋人心的起点。“我认为这算是程序员个人英雄时代巅峰的辉煌。”Yeppy 感慨道,因为在那之后,软件开发就更多是群体作战模式。现在公司这么多号人,就是为了把几条产品线做到极致。

“来 WPS 十年,我一直就是做 WPS Linux 版这款产品,从最开始只有几个人做,到现在我们也有非常大的团队去做,就一直围绕一个产品,把一件事做到极致。”柳杨的语气中不乏坚定,在他看来,整个公司的氛围和基因里具备专注、热爱和理想的东西。“在我的认知范围里,我的职场生涯不用做太多花花绿绿的东西,也许把某一件事做好了,做到极致也就够了。”

两个月前,在金山技术开放日的活动上,庄湧曾介绍说,金山办公的技术人员具备一些独特特质,比如喜爱不断“折腾”、精益求精等。具体来说,金山办公一代代传承下来的优秀程序员在写代码之前都会有多个维度的思考,从深度性到通用性,再到可维护性以及可扩展性。

2002 年那一次 WPS 代码推翻重写,同时进行重塑的还有 WPS 的内核引擎。这么多年过去,当时重塑的四大办公软件引擎作为底座能支撑到今天,或许也恰恰印证了金山办公技术人的实力与底蕴。

本文选自《中国卓越技术团队访谈录》(2021 年第五季),点击下载电子书,查看更多独家专访!

《中国顶尖技术团队访谈录》品牌升级,现正式更名为《中国卓越技术团队访谈录》,这是 InfoQ 打造的重磅内容产品,以各个国内优秀企业的 IT 技术团队为线索策划系列采访,希望向外界传递杰出技术团队的做事方法/技术实践,让开发者了解他们的知识积累、技术演进、产品锤炼与团队文化等,并从中获得有价值的见解。

相关资讯

谋划项目大手笔 推进项目加速度 招引项目全链条——建安区奏响项目建设最强音

总投资20亿元、占地450亩的许昌远东汽车传动系智能制造产业园三期项目建设如火如荼;总投资30亿元、占地1000亩的许昌环保装备产业园一期项目已经建成投用,预计年产值15亿元以上……大建设大开发热潮涌动。在建安区,项目为王理念不断深化和升华

项目协议总投资额超120亿元 莲都区13个重点项目集中签约 胡海峰见证项目签约

1月13日,“丽水莲都 破冰启航”莲都区重点项目集中签约仪式在古堰画乡举行,13个招商引资重点项目现场集中签约,项目协议总投资超120亿元。市委书记胡海峰出席签约仪式,副市长戴邦和出席并致辞。签约仪式前,胡海峰亲切会见了签约企业家代表,代表

全域谋项目、全员抓项目!通城掀起项目建设热潮

来源:咸宁日报全媒体记者 刘珊珊 通讯员 吴雷掌上咸宁报道"你对推动项目落地还有什么具体举措?""如何在生态保护基础上突出康养文化品牌?"……2月10日,通城县举办2022年首届重大项目谋划擂台赛,该县9个涉及到基础设施和公共服务、农林水利

一切围着项目转一切盯着项目干石龙区稳步推进重点项目建设

平报融媒记者 闫增旗 通讯员 陈学民9月5日上午,在石龙区中鸿路与扬帆路交叉口附近的石龙区独立工矿区塌陷区(宋坪)搬迁安置项目现场,吊臂起落、机器轰鸣,施工人员戴着口罩和安全帽正在紧张进行基础工程施工。“施工过程中,一定要做好人员和车辆的日

坚持“项目为王”推动高质量发展——2022年上半年鹤壁市重点项目暨“三个一批”项目观摩点评活动侧记

7月20日,由鹤壁市委书记马富国、市长郭浩、市委副书记冯芳喜、市人大常委会主任史全新、市政协主席李军等市四大班子领导和各县区、市直有关单位、各金融机构主要负责同志组成的2022年上半年全市重点项目暨“三个一批”项目观摩团,走进鹤壁经济技术开

践行“项目为王”理念掀起项目建设热潮新乡市6个重点城建城管交通项目集中开工

9月29日,我市6个重点城建城管交通项目集中开工,涵盖道路交通、民生保障、城市更新、绿色低碳等领域,为决胜四季度、实现“全年红”提供强劲动力和坚实支撑。省交通运输厅二级巡视员武景顺,市领导李卫东、杨彦玲、鹿建宇、李瑞霞、陈红阳、郭书佩出席。

围着项目转盯着项目干鹿邑与全省同步举行重大项目建设暨“三个一批”活动

猛犸新闻·东方今报记者 李康 通讯员 李小伟七月的骄阳热情如火,7月10日,全省重大项目建设暨“三个一批”推进会在全省各地同步举行,鹿邑县一批重点项目在活动期间分别签约、开工、投产,涉及智能智造、生物科技、文化旅游、化妆美妆等行业,涵盖产业

我市举行2022年下半年重大项目集中开竣工暨西山广场启用仪式开工项目42个、竣工项目31个,总投资194.1亿

9月29日,桂平市举行2022年下半年重大项目集中开竣工暨西山广场启用仪式,扎实推进重大项目建设,切实办好“七位一路一市场”等民生实事,加快推动一批重大民生项目开竣工,着力保障和改善民生,推动经济高质量发展,增进民生福祉。仪式分别在桂平市鲁

46个集中开工重点项目全部为产业类项目!寒亭吹响项目全面开工“集结号”

2月16日上午,寒亭区2022年重点产业类项目春季集中开工仪式在中国物流中德“两国两园”项目现场举行。中凯国际农产品云仓基地项目、街景城市家具工业互联网产业园等46个重点产业项目同步开工,项目涵盖商贸物流、数字经济、医养健康、现代农业等多个

太原迎泽区开工20个新建项目、36个续建项目,提升项目质效,积蓄发展动能

南内环东街新沟村周边,原本是一大片荒地。迎泽特色产业基地建设项目启动后,人流、物流随之而来,为这里带来了生机。国家火炬计划迎泽特色产业基地占地近千亩,成为迎泽区融入太忻“东部产业发展带”的主战场。太忻一体化经济区建设启动以来,迎泽区围绕建设

直击项目一线|总投资62亿元,10个项目集中开工,巨野吹响项目建设“冲锋号”

中国山东网-感知山东2月16日讯(记者 饶胜望 通讯员 郭庆乾 臧东明) 春回大地、万物复苏。2月16日上午,巨野县举办2022年项目建设集中开工活动,吹响了项目建设“冲锋号”,动员全县上下振奋精神、鼓足干劲、苦干实干,奋力掀起新一轮加快项

14个项目,总投资达46.44亿元!襄都区举行2022年三季度项目集中开工仪式暨城市更新项目推进活动

来源:邢台襄都发布 // 8月18日上午,襄都区举行2022年三季度项目集中开工仪式暨城市更新项目推进活动在路桥当代上品项目现场举行,市政协主席邱文双应邀出席并宣布襄都区2022年三季度项目集中开工。区领导李秀娟、尚小云、武立强、李文波、

项目攻坚促发展|承德:项目为王重点项目建设升级加力

来源:长城网长城网·冀云客户端记者 李文培近日,由河北省重点建设领导小组办公室、省发展改革委政务信息中心和长城新媒体集团联合组织的“2021河北省重点项目建设巡礼”活动来到承德市,参观采访重点项目建设进展情况。今年以来,承德市牢固树立“项目

朔州:29个项目签约21个项目开工18个项目投产

签约一批,开工一批,投产一批。2月26日,按照省委、省政府统一部署,朔州市与全省同步举行开发区2022年第一次“三个一批”活动,29个项目集中签约,总投资155.39亿元;21个项目集中开工,总投资50.34亿元;18个项目集中投产,总投资

临汾:33个项目签约20个项目开工15个项目投产

2月26日,临汾市举行开发区2022年第一次“三个一批”活动。此次“三个一批”活动以视频连线方式与太原主会场同步举行,共“签约一批”项目33个,总投资354.7亿元;“开工一批”项目20个,总投资93.46亿元;“投产一批”项目15个,总投

友情链接

网址导航 SEO域名抢注宝宝起名网妈妈知道币圈清远新闻资讯网南宁AI智能引流系统生肖牛运势网金毛寻回犬资讯网福州新闻资讯网林俊杰歌迷网吉安新闻头条网铜仁新闻头条网保险资讯网迪丽热巴影迷网常德新闻头条网梵净山旅游攻略山东泰山资讯网音乐培训网猫屎咖啡品鉴网
PS抠图网-初学者ps抠图步骤、ps教程入门抠图、photoshop在线修图、免费的ps修图软件、下载ps修图软件免费版、下载ps修图软件免费版、美图秀秀网页版入口、美图秀秀下载官网、秀秀app下载免费版下载新版、美图秀秀最新版本、美图秀秀最新官方版下载资讯。
PS抠图网 mamahai.com ©2022-2028版权所有