Working on a software project usually entails using technologies like Git—taking turns making changes, then reconciling the end output into an unified codebase.
However, in recent years, live code collaboration (two or more people working on the same file in real time) has become significantly more feasible. Although you should still have one person sign off on the final code, being able to see other people’s updates as they happen is a huge benefit for distance learning, crunch-time work, and peer review.
Here are seven methods to collaborate with your peers in real time, whether via a web-based service or an add-on for your code editor.
- AWS Cloud9
AWS Cloud9, a third-party product bought by Amazon, offers an in-browser development environment that supports 40 programming languages with varied levels of tools. Using shared environments, several developers may work on the same cloud-hosted project in real time. They can communicate in an IDE pane while watching each other type (with visual clues indicating who has typed certain lines of code). Project administrators can allow collaborators read/write or read-only access. However, unlike Visual Studio Live Share, AWS Cloud9 does not offer an explicit “follow my lead” setting.
Codeanywhere is primarily marketed as a code-on-the-go environment—an in-browser, on-tablet, on-phone editor that supports 75 languages and many of them include in-cloud execution environments. However, Codeanywhere has a number of real-time code sharing and collaboration tools. You may just provide a link to others to share a project, or you can set up real-time collaboration to allow others to edit your files in your editor. You may also grant SSH access to other users to your project.
Codeshare is by far the most basic collaborative-coding environment on this list, but it may also be one of the most beneficial. If all you need is the code editor equivalent of Pastebin, Codeshare has you covered. Start a Codeshare instance, share the URL with others, and they may begin typing and video-chatting with you right immediately. Code entered in the editor may be downloaded with a single click, and each instance expires after 24 hours.
Floobits provides collaborative, real-time editing and discussion using its own in-browser editor as well as add-ons for a variety of editors such as Sublime Text, Atom, Neovim, Emacs, and IntelliJ IDEA, but not Visual Studio Code. The service allows several users to cooperate at the same time—that is, more than two at a time—and provides users with granular rights (no access, read, write, administrate). You may create public and private workspaces, share terminals, synchronize work folders without using an editor, and video and text chat with your peers using WebRTC and IRC.
- Teletype for Atom
GitHub’s Atom code editor offers a large collection of add-ons to expand its capabilities. Atom is transformed into a coding collaboration system by Teletype. Other developers can join you in active tabs in your Atom instance, make real-time modifications, and follow you across tabs when you switch files. The WebRTC protocol is used for all peer-to-peer interactions. However, Teletype does not provide more complex functionality such as sharing a running server or granular access restrictions.
- Visual Studio Live Share
If you and your colleagues already use Visual Studio or Visual Studio Code, Microsoft’s Visual Studio Live Share adds real-time collaborative programming to those environments. Code projects may be shared with collaborators in read-only or live editing mode, and terminals, debugging sessions, and editor windows can all be shared. You may also automatically mimic another user’s actions (file switching, mouse movement, and so forth) or request that others do the same. A functioning web application server can even be shared with other users. Those who do not have Visual Studio or Visual Studio Code installed can participate over the web.
Source: Serdar Yegulalp (2020), InfoWorld