Atom支持实时协作编程了

在旧金山举办的 2017 QCon 大会上,GitHub 的 Nathan Sobo 披露了 Atom 最新的实时协作插件——Teletype。Teletype 的目标是让两名开发者轻松地协作编写代码。

Teletype 能够让开发人员创建一个新的协作会话,并通过链接的形式与其他同事进行共享。每个协作者都有自己的输入光标,并且可以自由地和其他协作者一起输入。

Sobo 说,协同编辑是一个棘手的理论问题。Atom Teletype 提出的解决方案是让每个协作者修改他们自己的文档副本。本地的编辑会立刻应用于本地副本,之后会传输至其他协作者。这会导致不同的副本可能会以不同的顺序应用各种修改,但是 Teletype 应用了 conflict-free replicated data types(CRDT)算法,该算法能够确保所有的副本最终的内容会是一致的。

Teletype 使用 WebRTC 来连接各个协作者,这就意味着除了最初的握手依赖于 GitHub 的服务器之外,所有的传输都是点对点的。为了确保隐私,所有的数据传输都是加密的,并且从不访问 GitHub 服务器。

GitHub 为文本编辑而开发的 CRDT 也可以作为独立的库使用,同时还提供了一个完整的独立于编辑器的库,它可以将同样的功能集成到基于 Web 的或基于 Electron 的应用程序中。

根据 GitHub 的说法,开发 Teletype 是为了解决 Atom 团队自身的需求,它是全局分布式的,而且可以改善开发人员的工作流程,例如新人入职快速熟悉代码和编码规范,审查同事的工作,学习新技能。GitHub 还设想将 Teletype 作为进行 pull requests(PR)的一种方式:开发人员不需要在本地提交一个 PR,而是可以使用 Teletype 进入同一文本编辑器,实时地处理问题。

在 Atom 1.22 上可以通过 Install 面板来安装 Teletype。除此之外,还可以通过在命令行运行 apm install teletype 来安装 Teletype。

除了当前就可以用的 Teletype 之外,微软的 Visual Studio Code 也在进行类似功能的开发,在它的博文里介绍道,被叫做 Live Share 的新功能不但允许协同编写代码,还能协同 Debug. 该功能目前仍处于内测中。

点赞

发表评论

电子邮件地址不会被公开。 必填项已用*标注