純手工實現(xiàn)web端的word文檔編輯器
時間:2023-05-24 23:54:01 | 來源:網(wǎng)站運營
時間:2023-05-24 23:54:01 來源:網(wǎng)站運營
純手工實現(xiàn)web端的word文檔編輯器:2022年接近尾聲,鴿了近一年,是時候補一下去年的年終總結(jié)了。
2021年對我來說是一個意義重大的一年。
這一年,我們團隊開發(fā)出了一款基于canvas的類word文檔編輯器,并因此產(chǎn)品獲得了公司最高榮譽——產(chǎn)品創(chuàng)新獎。
當時感慨良多,早該總結(jié)一下的,終因自己的懶惰,拖到了現(xiàn)在。
直到這周五晚上,在我想著羅織什么借口推遲,以便于周末能放飛自我的時候,老天終于看不下去了,我被電話告知了核酸同管陽性……
產(chǎn)品介紹
懶惰是可恥的,發(fā)自內(nèi)心的懺悔過后,我還是要稍稍驕傲的介紹下編輯器產(chǎn)品:
整個編輯器都是用canvas底層API繪制的,包括了它的光標,滾動條。
除了彈窗及右鍵菜單的UI組件外,所有的核心功能都是手搓TS,沒有用任何的插件。
包括:核心,排版,光標管理,分頁,文本編輯,圖片,表格,列表,表單控件,撤銷還原,頁面設置,頁眉頁腳等的所有功能,都只源于canvas提供的這幾個底層的API接口:
- 在直角坐標系下,從一點到另一點畫一個矩形,或圓,或三角。
- 測繪字體寬高。
- 從某一點繪制一個指定樣式的字。
接口簡單,但是經(jīng)過層層封裝,配合健壯的架構(gòu)和性能良好的算法,就實現(xiàn)了各種復雜的功能。
看一下幾個特色功能:
- 豐富的排版形式:
- 復雜的表格拆分:
- 靈活的列表:
- 表單控件:
- 獨有的字符對齊:
- 輔助輸入
- 痕跡對比:
此外,我們開發(fā)了c++打印插件,可以靈活的定制各種打印功能。
基礎的排版也不演示了,“,。》”等標點不能在行首,一些標點不能在行尾,文字基線等排版基礎省略一百八十二個字,
性能也非常不錯,三百頁數(shù)據(jù)秒級加載。
提供全個功能的程序接口,借助模版功能,完成各種復雜的操作功能。
心路歷程
開發(fā)
這么復雜的項目我們開發(fā)了多長時間呢?
答案是一年。事實是前年底立項,去年初開始開發(fā),團隊基本只有我一人(其實項目初期還有另一個老技術(shù)人員,技術(shù)也很強,很遺憾開始合作不到兩周老技術(shù)員就離開這個項目了),一直到7月份團隊進了4個強有力的新成員,又經(jīng)過了半年的緊鑼密鼓的開發(fā),不出意外的就意外開發(fā)完了。
真實懷念那段忙碌的日子,仿佛一坐下一抬頭就要吃午飯了,一坐一抬頭又晚上了,晚上還要繼續(xù)在小區(qū)里一圈圈散步考慮各種難點的實現(xiàn)技術(shù)方案。真是既充實又酣暢淋漓。
由衷的感謝每一位團隊成員的辛苦付出,盡管除了我這個半混半就得老開發(fā),其他還都是1年到4年開發(fā)經(jīng)驗的偽新兵蛋子,但是每個人都表現(xiàn)出了驚人的開發(fā)效率和潛力。
這讓我深刻理解到,任何一個牛掰的項目,都是需要團隊齊心協(xié)力完成的。現(xiàn)在這個戰(zhàn)斗力超強的團隊,也是我值得驕傲的底氣。
上線,慘遭毒打
事實證明,打江山難,守江山更難,項目開發(fā)亦是如此,尤其是在項目剛剛面向用戶使用階段。
當我們還沉浸在獲得成功的喜悅中時,因為糟糕的打印速度及打印清晰度問題被用戶一頓騎臉輸出,打印相關(guān)體驗之前從未在我們的優(yōu)化計劃之內(nèi)。而這是用戶難以忍受的。
好在持續(xù)半個月駐現(xiàn)場加班加點,終于得到了一定的優(yōu)化。后面我們也是自研c++打印插件,打印問題算是得到徹底解決。
之后仍然有大大小小的問題層出不窮,還好漸漸趨于穩(wěn)定。
當然現(xiàn)在還是有一些小問題,這是屬于這個產(chǎn)品成長的必經(jīng)之路。
現(xiàn)在,該產(chǎn)品在成千上萬用戶手中得以穩(wěn)定運行,偶爾博得稱贊,既感到驕傲,又感覺所有辛苦與委屈不值一提。
未來
之前跟領導溝通過開源的問題,領導也有意向開源,佩服領導的遠大格局及非凡氣度。但現(xiàn)在還不太成熟,仍需從長計議。
隨著編輯器功能的完善,一些難以解決的問題也浮出水面,例如對少數(shù)民族語言的支持。開源是一個好的方式,可以讓大家一同來完善它。
感慨
- 勇氣,是你最走向成功的首要前提。當我主動申請要做這個項目時,身邊大部分人給我的忠告是不要做。不嘗試一下,怎么知道能不能做好呢。不給自己設限,大膽嘗試。
- 滿足來源于專注。
- 小團隊作戰(zhàn)更有效率。
- 產(chǎn)品與技術(shù)不分家,既要精進技術(shù),也要有產(chǎn)品思維。技術(shù)是產(chǎn)品的工具,產(chǎn)品是技術(shù)的目的。如何做出用戶體驗良好的產(chǎn)品,是高級研發(fā)的高級技能。
感悟很多,一時不知道說啥了,有時間單獨再細聊聊。
碎碎念
不知道是幸運還是不幸,公司禿然安排研發(fā)在線版excel了,無縫銜接了屬于是,身為高質(zhì)量打工人,抖M屬性值點滿,沒有困難創(chuàng)造困難也要上。
同時今年也發(fā)生了一件十分悲痛的事,好朋友的身體垮了。身體是革命的本錢。最后就總結(jié)三個重點:健康,健康,還是TMD健康。
不要臉求贊了,點贊過6000,來更新技術(shù)細節(jié)了啊,希望大家多多支持(手動抱拳)...
關(guān)鍵詞:編輯,端的,手工,實現(xiàn)