Редактор коду Atom отримав функцію для паралельного програмування Teletype


Дізнайтесь більше про нові кар'єрні можливості в EchoUA. Цікаві проекти, ринкова оплата, гарний колектив. Надсилайте резюме та приєднуйтеся до нас.

Писати код паралельно з іншим розробником – відмінна задача для тренування розуму і розвитку взаєморозуміння, а також чудовий спосіб підвищення якості створюваного ПЗ. Проте реалізація такого підходу проблематична: на одному комп’ютері разом не писатимеш, із хмарними сервісами треба постійно мігрувати свої напрацювання, ділити екран не завжди зручно.

У середу, 15 листопада, GitHub представила спеціальне розширення для Atom, Teletype, покликане розв’язати цю проблему. На зорі комп’ютерної ери телетайпи використовувалися для миттєвого обміну повідомленнями між двома машинами. Розробників Atom надихнула ідеєя електромеханічних предків, тому вони впровадили у свій редактор спеціальну функціональність, що передає друковані символи між віддаленими комп’ютерами.

Початок роботи

Після установки Teletype (через налаштування Atom або за допомогою команди apm install teletype у командному рядку) можна відкрити “портал” до робочої області свого комп’ютера у новому меню, в рядку стану.

Далі треба поділитися згенерованим секретним ID зі співробітниками через обраний Вами месенджер.

Натиснувши кнопку “Join” у меню рядка стану і ввівши отриманий ID, колеги зможуть приєднатися до відкритого порталу.

Після цього всі учасники спільної розробки можуть редагувати код у відкритому творцем файлі (він з’являється в новій вкладці їх редактора). При цьому кожному з розробників надається власний курсор, і всі можуть редагувати код одночасно. Оскільки з’єднання реалізоване лише на рівні натиснення клавіш клавіатури, налаштування власних редакторів не зміняться.

Важливо зазначити, що код зберігається на локальному диску розробника, який відкрив портал. При перемиканні між файлами вміст поточної загальної робочої області переміщається до інших учасників, щоб вони могли продовжувати роботу.

Безконфліктне редагування

Реалізація можливості спільного редагування – нетривіальна задача. Для забезпечення гнучкої і злагодженої роботи у кожного з учасників розробки зберігається власна копія редагованого файлу, до якої записуються всі зміни перед відправкою іншим учасникам. У зв’язку з витратами паралельної обробки ці зміни вносяться в документ вроздріб, але після закінчення роботи всі копії файлу синхронізуються.

Для здійснення такої можливості при написанні розширення для Atom був використаний теоретичний фреймворк типів даних conflict-free replicated data type (CRDT).

З’єднання

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

Поки що доступна тільки бета-версія розширення. Нині Teletype уміє передавати тільки текст, у майбутньому планується реалізація можливості голосового спілкування.

Конкуренція

Цікаво, що GitHub представила функціональність для парного програмування майже одночасно з Microsoft. Компанія показала аналогічну фічу Live Share на конференції Connect (); 2017.

Джерело: блог Atom

Київ, Харків, Одеса, Дніпро, Запоріжжя, Кривий Ріг, Вінниця, Херсон, Черкаси, Житомир, Хмельницький, Чернівці, Рівне, Івано-Франківськ, Кременчук, Тернопіль, Луцьк, Ужгород, Кам'янець-Подільський, Стрий - за статистикою саме з цих міст програмісти найбільше переїжджають працювати до Львова. А Ви розглядаєте relocate?


Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *