簡體   English   中英

實時協作富文本編輯

[英]Real-time collaborative rich text editing

我想為我的 web 應用程序提供一個實時協作的富文本編輯器。 到目前為止,我已經做了很多研究,我真的有點沮喪,因為那里沒有合適的東西。 問題是,那里的每個解決方案都與編輯器緊密耦合(例如 Firepad 使用 CodeMirror/Etherpad 使用 Etherpad)。 我發現有趣的只有另外兩個解決方案:

  • ShareJs -> 僅適用於純文本

  • Webstrate -> 這對我來說是最有希望的。 它可以處理 DOM 同步,因此它可以處理每個 contenteditable - 太棒了!

但 Webstrate 的問題在於,它處於 alpha 版本。 所以對我來說這太有問題了 - 沒有成功。 試圖讓它工作大約 2 天。 文本同步很容易。 但它不適用於 iframe 或其他東西。

我對協作 RTE 的要求非常高 - 它應該支持:

  • 圖片

  • 內嵌框架

  • 視頻

  • 文字(當然)

雖然我現在正在尋找大約 3-4 天的解決方案 - 也許你們中的某個人有提示? 會很溫柔;)

我找到的最接近的東西是http://quilljs.com/ - 它有一個 API 用於獲取和更新文本增量以及用於獲取和設置多個標記光標。 它不會為您管理實時編輯,但它為您提供了足夠的工作(比我發現的任何其他項目都要多)。 然而,它在格式方面不如其他編輯器全面(例如,它不支持表格和嵌套列表)。 它具有一定的可擴展性,因此您可以添加對其他 HTML 元素的支持。

您可以嘗試http://swellrt.org ,它是一個完整的框架,用於開發實時協作應用程序,包括富文本支持和 Web編輯器

它提供了一個 JS API,類似於 GD 實時 API,加上富文本編輯。

編輯器可以擴展以支持任何附件。

它是Apache Wave的一個分支,它概括了原始代碼。

強大的協作富文本編輯器仍然有些前沿。 大多數基於 Web 的文本編輯器分為兩類。

  1. 那些與實時協作兼容但功能相當有限的(例如,沒有表格、沒有嵌套元素等)。
  2. 那些基於 Web 的非常強大的富文本編輯器,但缺乏與實時技術集成的 API。

然后是協作引擎,如 ShareDB、Google Drive Realtime API、SwellRT 和Convergence (完全披露我是Convergence Labs的創始人)。 這些類型的系統對數據模型以及如何協調協作都有自己的看法。 可能是您最喜歡的富文本編輯器在內部工作的方式與協作引擎的 API 不兼容。

那些簡單地同步 DOM 的技術很有趣,因為它們通常可以跨編輯器移植,並且對編輯器 API 的依賴程度較低,但它們往往缺乏良好協作所需的大量實時編輯功能(共享游標、共享選擇等)。 這可能很難在引擎本身外部的 DOM 同步方法之上實現。 不幸的是,如果沒有這些功能,協作編輯體驗就不那么好了。

有幾個項目正試圖糾正這種情況。 CKEditor 的人正在研究 CKEditor 5,它考慮到了協作。 此外,在 Convergence,我們正嘗試與許多流行編輯器的作者合作,以實現實時協作。

現實情況是,它仍然是一個相當新的空間,並且發展迅速。 沒有經過測試、可擴展的灌籃解決方案,提供開箱即用的全功能、協作、免費和開源編輯器。 2018 年情況似乎有所改善。希望在接下來的 12 到 24 個月內,這將成為一個容易得多的問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM