ekzhang/rustpad:使用Rust編寫的高效程式碼編輯器

banq發表於2021-12-16

Rustpad是一個高效、最小的開源協作文字編輯器,基於操作轉換演算法。它允許使用者在瀏覽器中編寫程式碼時實時協作。Rustpad 是完全自託管的,適合一個很小的 ​​Docker 映象,不需要資料庫。
伺服器是使用warp web 伺服器框架和 操作轉換 庫用 Rust 編寫的 。我們使用wasm-bindgen將文字操作邏輯編譯為 WebAssembly 程式碼,該程式碼在瀏覽器中執行。前端使用React和TypeScript 編寫,並與Monaco介面,Monaco是支援 VS Code 的文字編輯器。
架構上,客戶端程式碼透過 WebSocket 與儲存記憶體資料結構的中央伺服器進行通訊。這使得編輯器非常快,允許我們避免配置資料庫,並使測試更容易。權衡是文件在伺服器重新啟動之間或在 24 小時不活動後會丟失。
Github星:1853

相關文章