大多数时候,协作处理软件项目意味着使用Git之类的工具——轮流修改,然后将最终产品做成单个代码库。
不过近年来,实时协作处理代码(两人或多人实时处理同一个文件)变得极其切实可行。你仍需要一个人签收最终代码,但能够看到别人的实时编辑对于远程学习、关键时刻的工作和同行评审大有帮助。
无论通过基于Web的服务还是通过面向代码编辑器的附件,下面介绍了与团队成员实时协作的7种方法。
1.AWS Cloud9
亚马逊收购的第三方产品AWS Cloud9提供了浏览器内开发环境,支持约40种编程语言以及不同级别的工具。多个开发人员可以使用共享环境,实时协作处理同一个云托管项目。他们可以查看彼此输入的内容(视觉线索表明谁写了哪几行代码),还可以在IDE的窗格中聊天。项目管理员可以向协作者授予读取/写入或只读权限。然而,AWS Cloud9没有Visual Studio Live Share那样明确的“跟着我做”(follow my lead)模式。
价格:包含在任何EC2实例中;你只需支付实例费用。
链接:https://aws.amazon.com/cloud9/
2.Codeanywhere
Codeanywhere主要是作为一种移动代码环境而宣传的,这种浏览器内编辑器支持75种语言,并为其中许多语言支持云端执行环境。但是Codeanywhere也有几项实时代码共享和协作功能。你可以通过链接将项目共享给其他人,也可以设置实时协作以便其他人在你的编辑器中编辑文件。还可以让其他用户通过SSH访问你的项目。
价格:提供免费试用7天的版本。起价为每个用户每月3美元。
3.CodeSandbox Live
CodeSandbox提供了在线IDE,用于快速开发Web应用程序:JavaScript、TypeScript以及React、Angular和Vue之类的框架。CodeSandbox中的“实时”模式让你可以邀请其他人同时处理同一个项目。你们可以一起实时编辑文件,工作时聊天。“课堂模式”让你可以将某些人指定为编辑者,将其他所有人指定为只读用户。
价格:有免费套餐可供使用;每月9美元可享用无限制的私有沙箱,并为你的项目使用无限制的GitHub代码存储库。
4.Codeshare
Codeshare很可能是本文中最精简的协作编程环境,但由于这个原因,它可能也是最有用的。如果你只需要相当于Pastebin的代码编辑器,Codeshare提供了这种编辑器。启动Codeshare实例,为其他人提供URL,他们可以立即与你一起开始输入文本和视频聊天。只要点击一下,即可下载编辑器中编写的代码,每个实例在24小时后自动失效。
价格:免费使用。
5.Floobits
Floobits通过其自身的浏览器内编辑器和通过面向多个编辑器的附件(包括Sublime Text、Atom、Neovim、Emacs和IntelliJ IDEA,但不包括Visual Studio Code),提供协作实时编辑和聊天功能。该服务允许多个用户同时协作(即一次允许两个以上的用户),并为用户提供精细的权限(无权访问、读取、写入和管理)。你可以设置公共和私有工作区、共享终端、不使用编辑器即可同步工作目录,以及使用WebRTC和IRC与团队成员进行视频聊天和文本聊天。
价格:可供多达五个公共工作区免费使用;若是为期一周的试用,有一个私有工作区可用。五个私有工作区的服务方案每月起价为15美元。还提供防火墙后面的企业版。
6.Teletype for Atom
GitHub开发的Atom代码编辑器有一大批增强其功能的附件。Teletype将Atom变成了代码协作系统。你可以邀请其他开发人员加入Atom实例的活动标签页中,实时进行编辑,在切换文件时可在标签页之间跟着你做。所有协作通过WebRTC协议点对点完成。不过,Teletype不提供更高级的功能,比如共享运行中的服务器或精细的访问控制。
价格:免费。
7.Visual Studio Live Share
如果你和你的团队成员已经在使用Visual Studio或Visual Studio Code,微软的Visual Studio Live Share可将实时协作编程集成到那些开发环境中。可以与协作者以只读或实时编辑模式共享代码项目;除了编辑器窗格外,你还可以共享终端或调试会话。还可以自动跟随另一个用户的行为(切换文件和移动光标等),或要求其他人也这么做。甚至可以与其他用户共享运行中的Web应用程序服务器。那些没有安装Visual Studio或Visual Studio Code的人可以从互联网加入。
价格:免费使用。
链接:https://docs.microsoft.com/en-us/visualstudio/liveshare/
原文标题:7 tools and services for real-time collaborative coding,作者:Serdar Yegulalp