Meta 開源可擴展的文本編輯器框架 Lexical
Meta(前 Facebook)近日在 GitHub 上開源了一個名為 Lexical 的項目,該項目是一個基于 JavaScript 的 Web 文本編輯器框架,具有可擴展、可訪問和高性能的特性。Meta 在介紹中表示,結合 Lexical 高度可擴展的架構,開發(fā)者可以構建在大小和功能上均可以擴展的獨特文本編輯器。
Lexical 的核心是一個文本編輯引擎 —— 一個為網(wǎng)絡建立功能豐富的編輯器的平臺。為了避免用戶在每一個實現(xiàn)中重復編寫相同的富文本功能,Lexical 還公開了一組單獨的、模塊化的包,諸如用戶界面組件、工具欄、富文本功能和標記等功能都可以通過這些包來實現(xiàn)和擴展。
Lexical 的底層引擎主要由三個部分組成:
- 編輯器實例,每個實例都附加到一個可編輯的內容元素上。
- 一組編輯器狀態(tài),代表編輯器在任何特定時間的當前和待定狀態(tài)。
- 一個 DOM 調節(jié)器,它接收一組編輯器狀態(tài),對變化進行差異化處理,并根據(jù)其狀態(tài)更新 DOM。
在設計上,Lexical 的核心是盡可能的簡化。以 UI 組件、工具欄、富文本和 Markdown 這些功能為例,它們在邏輯上可以通過一個插件接口包含進來,并在需要的時候使用。這確保了極大的可擴展性,并將代碼大小保持在最低水平。
瀏覽器兼容性:
- Firefox 52+
- Chrome 49+
- Edge 79+(Chromium)
- Safari 11+
- iOS 11+ (Safari)
- iPadOS 13+ (Safari)
- Android Chrome 72+
注意:Lexical 不支持 Internet Explorer 或舊版本的 Edge 瀏覽器。Lexical 目前正處于早期開發(fā)階段,API 和包可能會發(fā)生變化。
本文轉自OSCHINA
本文標題:Meta 開源可擴展的文本編輯器框架 Lexical
本文地址:https://www.oschina.net/news/191308/meta-open-source-lexical