背景:我想创建一个类似于记事本的应用程序,其中多个人可以编辑一个文档/记事本。我已经创建了图形界面,现在想开始研究它的多用户协作部分。

问题:如何从一个客户的文本框中获取文本,然后转到另一个客户的文本框中。我会使用 socket 吗?我将在哪里存储将与所有客户端共享的文本?为了创建可运行的实时协作文本框,我必须使用/做些什么。我可以从哪个好的出发点进行研究?

示例:Etherpad.com/Titanpad.com/Piratepad.com或Docs.Google.com(除非我要创建桌面应用程序,而不是网站)

解决答案中出现的一些问题:

用户如何选择要编辑的文档:是

用户如何创建新文档:通过在主菜单中选择“新建文件”选项

如果许多用户尝试一次编辑同一文档,会发生什么情况? :他们都可以编辑文档。

用户是否需要单击“保存”按钮才能反射(reflect)出更改? :否,更改应同时反射(reflect)

用户需要登录吗? : 是的

任何人都可以编辑任何文档,或者有访问限制吗? :有限制,即。文档创建者可能会阻止用户编辑文档。

最佳答案

寻找解决方案的第一步是足够详细地定义所需的最终结果。而不是仅考虑多用户协作部分,而是尝试描述整个用户体验:

  • 用户如何选择要编辑的文档?
  • 用户如何创建新文档?
  • 如果许多用户尝试一次编辑同一文档,该怎么办?
  • 用户是否需要单击“保存”按钮才能反射(reflect)出更改?
  • 用户需要登录吗?
  • 任何人都可以编辑任何文档,或者有访问限制吗?

  • 通过考虑这些设计决策,您最终将遇到一些具体的实现问题,然后可以尝试回答这些问题。

    10-07 15:59
    查看更多