成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

編輯器目錄樹的設(shè)計,一點也不簡單

開發(fā) 前端
今天花了很長時間思考一個網(wǎng)頁文檔編輯器,云端目錄樹要怎么設(shè)計。這個看似簡單的需求,技術(shù)上和產(chǎn)品上的思考卻非常復(fù)雜。

朋友們好,我是優(yōu)秀的大鵬。

今天花了很長時間思考一個網(wǎng)頁文檔編輯器,云端目錄樹要怎么設(shè)計。

這個看似簡單的需求,技術(shù)上和產(chǎn)品上的思考卻非常復(fù)雜。

下面以幾種編輯器為例,講一下各種編輯器在技術(shù)上和產(chǎn)品的思考。

1.以Vscode為代表的本地編輯器

在聊云端文檔目錄樹設(shè)計之前,要先討論下常見的本地文檔編輯器的目錄樹。

以vscode為例,通常本地文檔編輯器的目錄樹是下面這樣的:

看起來是一個簡單的多叉樹結(jié)構(gòu),但是只是看起來,實際上大有玄機!

玄機就出現(xiàn)在對于目錄樹的操作上面,目錄樹涉及到【增刪改查】等基本操作。

查詢操作:由于目錄樹的節(jié)點數(shù)量是不確定的,所以在查詢目錄樹的時候,不能將整個目錄樹都查找回來,而是應(yīng)該只查找最外層的節(jié)點,當操作打開一個目錄的時候,則繼續(xù)讀取該目錄的葉子節(jié)點,用這種方式來控制節(jié)點的加載數(shù)量,避免加載量過大。

即便如此依然有可能會存在某個父節(jié)點下的葉子節(jié)點過多,加載量過大導(dǎo)致編輯器崩潰的情況,本地編輯器由于直接讀取硬盤所以可以接受的加載量較高,如果云端編輯器通過網(wǎng)絡(luò)請求讀取,那么可以容忍的加載量就會降低。

增加操作

  • 增加文件:在某個目錄父節(jié)點上進行增加子節(jié)點,增加節(jié)點時可以看到默認的定位位置通常在前面,因為如果放到后面很容易出現(xiàn)不在同一頁面的情況,導(dǎo)致用戶還要滾動下面去進行命名,文件增加之后則會根據(jù)其命名定位到對應(yīng)的位置,相當于節(jié)點插入時要進行排序。

  • 增加目錄:整個過程和增加文件類似,唯一有區(qū)別的就是目錄還可以有子節(jié)點,文件不能有。

修改操作

  • 修改文件:修改文件時同樣僅在當前位置提示可編輯,修改后會自動進行節(jié)點的重新排序。

  • 修改目錄:修改目錄和修改文件類似,唯一有區(qū)別的就是目錄要將自己節(jié)點重新排序后還要將其子節(jié)點一同挪走,同時比較有趣的是修改完成后如果是展開的目錄則會不加載其子節(jié)點,表現(xiàn)的形式就是目錄被收起來了,這個原因是目錄名稱在同一個子樹下是唯一的,相當于是key,當這個key發(fā)生修改的時候,如果繼續(xù)展開目錄,則需要將其子樹的節(jié)點都重新渲染,會極大的增加渲染消耗,甚至出現(xiàn)卡頓,所以編輯器選擇了收起目錄。

刪除操作

刪除操作即是刪除節(jié)點,對于目錄而言不僅要刪除自己,還要遞歸刪除其所有的子節(jié)點,如果目錄的子節(jié)點層級和節(jié)點數(shù)非常的多,那么就會需要較長的時間進行刪除操作。

從上述的分析來看,如果按照vscode本地編輯器文件目錄樹去設(shè)計云端目錄,代碼實現(xiàn)上會非常復(fù)雜。

2.有道云筆記編輯器

有道云筆記是網(wǎng)頁編輯器,和要實現(xiàn)的需求更加貼近,他的交互方式如下:

可以看到有道云將目錄和目錄中的文件進行了分割,他的開發(fā)設(shè)計思路是認為目錄較少,目錄中的文件較多,所以葉子節(jié)點可以考慮進行分頁加載,目錄則一次性讀回來。

同時它支持多層目錄,這一點也增加了實現(xiàn)復(fù)雜度,因為多層目錄就意味著層數(shù)是無限制的,那么在處理其層級的時候問題就會更多,復(fù)雜度更高。

這樣的設(shè)計無疑更適合網(wǎng)頁文檔編輯器,因為http請求的不確定性和耗時要遠遠大于本地硬盤。

3.簡書編輯器

簡書的編輯器,則實現(xiàn)更為簡潔。

可以看到簡書這里同樣將目錄和文章進行了分割,保證同一個目錄下的文章可以進行分頁讀取,避免請求量過大。

不過他只支持一層目錄,這樣的優(yōu)點就是實現(xiàn)更為簡單,缺點是對于有更多層級需求的用戶就會無法滿足。

4.目錄的價值

文檔目錄本身最大的價值就是方便用戶進行文章管理和分類。

其次還可以承載文集的作用,例如下方的簡書和語雀。

所以目錄最終如何設(shè)計,既要解決用戶的文章管理問題,也要考慮文集擴展性,類似于簡書的形式對外表現(xiàn)就較為簡單,而語雀由于目錄層級多就會更為豐富。

方案對比

參考產(chǎn)品

編輯器類型

實現(xiàn)復(fù)雜度

對外展示豐富度

vscode

本地編輯器



語雀

云端編輯器



有道云筆記

云端編輯器



簡書編輯器

云端編輯器



責任編輯:姜華 來源: 編程如畫
相關(guān)推薦

2013-01-08 10:06:43

創(chuàng)業(yè)創(chuàng)業(yè)方法

2020-08-22 07:46:58

Photoflare開源圖像編輯器

2017-09-27 13:42:42

數(shù)據(jù)庫MySQL斷電恢復(fù)

2016-04-05 10:12:58

HiveSQLHadoop

2021-02-16 09:37:01

Filmulator開源圖像編輯器

2011-09-19 11:39:31

Android手機Touchqode

2014-08-21 10:14:09

APP界面設(shè)計移動客戶端

2011-01-10 16:17:49

2013-03-06 10:19:56

重構(gòu)架構(gòu)設(shè)計

2020-11-11 15:36:51

服務(wù)器

2023-08-08 08:12:25

圖形編輯器幾何算法

2022-06-02 09:09:27

前端React低代碼編輯器

2009-03-16 09:42:10

軟件業(yè)山寨開放標準

2009-12-15 14:27:30

Ruby存取器

2023-05-09 08:15:32

圖形編輯器撤銷重做功能

2010-03-24 09:20:07

CentOS vi編輯

2014-12-19 10:07:10

C

2011-03-22 13:54:57

UbuntuPHP編輯器

2013-06-18 01:22:46

CocoStudio工Cocos2d-x

2024-05-06 12:23:00

GenAI人工智能
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 成人免费观看男女羞羞视频 | 亚洲一区二区在线 | 91欧美| 91av精品 | 九九久久精品 | 精品中文字幕在线观看 | 自拍偷拍亚洲视频 | 日韩精品一区二区三区视频播放 | 亚洲精品视频在线看 | 一区二区av | 亚洲资源站 | 日韩精品一区二区三区中文在线 | 国产高清在线精品 | 爱操av | 欧美成ee人免费视频 | 国产你懂的在线观看 | 特级毛片| 天天综合永久 | 黄色一级毛片 | 亚洲人成一区二区三区性色 | 国产精品美女久久久久久久久久久 | 国产激情第一页 | 一区二区三区四区电影视频在线观看 | 国产高清一区二区三区 | 国产精品久久久久久久久久免费 | 欧美午夜一区二区三区免费大片 | 日韩av中文 | 欧美一区二区三区在线观看视频 | 国产91视频免费 | 欧美激情综合五月色丁香小说 | 日韩和的一区二在线 | 国产精品久久久亚洲 | 成人精品毛片国产亚洲av十九禁 | 特黄小视频 | 成人欧美日韩一区二区三区 | 午夜精品久久久久久久星辰影院 | av黄色在线观看 | 波多野结衣电影一区 | 国产欧美三区 | 亚洲成人网在线 | 日韩精品一区二区三区在线 |