文件名称:Rustpad 是一个高效且最小的协作代码编辑器,自托管,无需数据库
文件大小:410KB
文件格式:ZIP
更新时间:2024-07-18 13:19:05
react rust distributed-systems typescript async
锈垫Rustpad是一个高效、最小的开源协作文本编辑器,基于操作转换算法。它允许用户在浏览器中编写代码时实时协作。Rustpad 是完全自托管的,适合一个很小的 Docker 镜像,不需要数据库。锈垫服务器是使用warp web 服务器框架和操作转换库用 Rust 编写的。我们使用wasm-bindgen将文本操作逻辑编译为 WebAssembly 代码,该代码在浏览器中运行。前端使用React用 TypeScript 编写,并与支持 VS Code 的文本编辑器Monaco接口。在架构上,客户端代码通过 WebSocket 与存储内存数据结构的*服务器进行通信。这使得编辑器非常快,允许我们避免配置数据库,并使测试更容易。权衡是文档在服务器重新启动之间或在 24 小时不活动后会丢失。开发设置要运行此应用程序,您需要安装 Rust、wasm-pack和 Node.js。然后,构建应用程序的 WebAssembly 部分:wasm-pack build rustpad-wasm完成后,您可以为前端 React 应用程序安装依赖项:npm install接下来,编译并运行后端 Web
【文件预览】:
rustpad-main
----rustpad-wasm()
--------Cargo.toml(531B)
--------src()
--------tests()
----.dockerignore(88B)
----.env(54B)
----Cargo.toml(69B)
----.github()
--------workflows()
----public()
--------index.html(770B)
--------favicon.svg(8KB)
----config-overrides.js(678B)
----Cargo.lock(35KB)
----.prettierignore(50B)
----src()
--------User.tsx(3KB)
--------index.tsx(420B)
--------index.css(38B)
--------useHash.ts(724B)
--------languages.json(631B)
--------Footer.tsx(587B)
--------App.tsx(9KB)
--------setupProxy.js(263B)
--------animals.json(1KB)
--------rustpad.ts(15KB)
--------react-app-env.d.ts(40B)
--------ConnectionStatus.tsx(943B)
----Dockerfile(768B)
----rustpad-server()
--------Cargo.toml(535B)
--------src()
--------tests()
----tsconfig.json(503B)
----LICENSE(1KB)
----.prettierrc(28B)
----README.md(3KB)
----.editorconfig(147B)
----.gitignore(59B)
----package-lock.json(1.55MB)
----package.json(1KB)