Atom добавляет совместное кодирование


В текстовом редакторе Atom GitHub есть новая функция, которая в настоящее время находится в стадии бета-тестирования, для совместного кодирования. Teletype for Atom позволяет писать и редактировать код вместе с другими разработчиками в режиме реального времени.

Изначально Atom разрабатывался как облачный редактор GitHub, а затем стал очень популярным редактором кода, заняв первое место в недавнем опросе Opensource.com.

Новая функция Teletype for Atom позволяет писать и редактировать код вместе с другими разработчиками, каждый со своим курсором и, как говорят разработчики Atom, с нулевой задержкой. Разработчики говорят, что новая версия позволяет вам работать вместе с другими разработчиками в реальном времени с вашими собственными конфигурациями в вашей собственной среде программирования над любым файлом, который вы можете открыть в Atom. В своем блоге Atom Натан Собо говорит:

«Teletype for Atom передает нажатия клавиш удаленным сотрудникам непосредственно в вашу среду программирования, обеспечивая бесконфликтное совместное редактирование с малой задержкой для любого файла, который вы можете открыть в Atom».

Название Teletype произошло от старых телетайпов, где все, что было набрано на одной машине, немедленно появлялось на связанном телетайпе на другом конце соединения.

Вы можете пригласить одного или нескольких товарищей по команде присоединиться к проверке вашего кода. Каждый получает курсор, и все могут печатать одновременно. Поскольку совместное использование осуществляется нажатием клавиши, а не внешним видом редактора, вы можете сотрудничать с вашими собственными привязками клавиш, пакетами и темами. Это делает совместную работу менее разрушительной, поскольку каждый может сохранять свой внешний вид своей IDE.

Принцип совместной работы таков: когда вы хотите сотрудничать, вы открываете «портал» в свою локальную рабочую область из нового меню совместной работы в строке состояния. Это устанавливает частный идентификатор для портала, которым вы можете поделиться с другими разработчиками через предпочитаемую вами службу чата. После того, как они присоединились к порталу, они видят новую вкладку в своей рабочей области, которая позволяет им просматривать и редактировать содержимое вашего активного редактора.

Ваш код хранится на вашем локальном диске, а содержимое вашего текущего активного редактора передается соавторам, чтобы они могли следить за ним. Соединение осуществляется с использованием каналов данных WebRTC. После первоначального рукопожатия, которое обменивается метаданными соединения через серверы GitHub, все данные передаются через зашифрованные одноранговые соединения. Серверы GitHub никогда не видят ваши файлы или правки, что, помимо сохранения конфиденциальности кода, минимизирует задержку между соавторами, независимо от того, где они работают относительно центров обработки данных GitHub.

После редактирования все соавторы получают собственную копию каждого документа. Основная проблема с такой схемой заключается в том, что происходит, когда два или более человека редактируют одну и ту же часть документа. В случае Teletype любые изменения применяются локально, а затем передаются другим сотрудникам. При одновременном редактировании отдельные правки будут применяться к каждой реплике в разном порядке. Для достижения согласованности разработчики использовали технику бесконфликтных реплицированных типов данных, или CRDT. CRDT – это структуры данных, которые всегда должны сходиться в одном и том же представлении при обновлении одним и тем же набором операций, даже если эти операции применяются в разных порядках.

Текущая версия доступна в виде бета-версии, она бесплатна и имеет открытый исходный код. Разработчики Teletype надеются, что участники сообщества дополнят его и распространят на других редакторов. Они сами планируют добавить поддержку голосовой связи и совместной работы редакторов.


Добавить комментарий