Переклад статті https://www.infoq.com/news/2024/02/zed-code-editor-open-sourced/
Недавно Нейтан Собо оприлюднив у відкритий доступ Zed - редактор коду, який акцентується на продуктивності, використовує можливості штучного інтелекту та підтримує багатокористувацький режим доступу до коду "з коробки". Щодо продуктивності, Zed використовує кодову базу на Rust, оптимізований для багатоядерних процесорів та GPU код, зі спеціальним Rust GUI фреймворком. Щодо співпраці, Zed базується на CRDT та team channels. Для генерації коду з підтримкою штучного інтелекту, Zed підтримує GitHub Copilot та GPT-4. Зараз Zed доступний лише для Mac.
Собо пояснив, що серед основних причин оприлюднення Zed у відкритий доступ - це сприяння у прийнятті розробниками та отримання зворотнього зв'язку та підтримки від спільноти:
Ми вважаємо, що відкриття коду Zed зробить його найкращим продуктом. Наша місія - побудувати найпродуктивніший редактор коду у світі та дати його в руки мільйонам розробників. Це велика задача, і нам знадобиться вся можлива допомога. Розглядаючи те, що всі користувачі Zed - це програмісти, логічним є відкриття коду Zed для максимальної кількості талантів.
[…] Ми хочемо максимально збільшити прийняття в 2024 році, щоб більше розробників могли скористатися Zed, і ми розробили публічну дорожню карту на основі відгуків користувачів, яка, на нашу думку, допоможе нам досягти цієї мети. Якщо ваші внески допоможуть нам рухатися в напрямку виконання цієї дорожньої карти.
Розробники відзначили різноманітні покращення продуктивності. Один розробник на YouTube продемонстрував миттєвий запуск редактора Zed порівняно з Visual Studio Code:
Visual Studio Code може займати три секунди на запуск. Zed відкривається миттєво. Це IDE, яке спрямоване на те, щоб бути максимально швидкою IDE.
Команда Zed відзначає GPUI, свій фреймворк із власним апаратним прискоренням UI, за продуктивність інтерфейсу користувача:
У нас є цей апарат у комп'ютері, і замість того, щоб узгоджувати, які DOM-вузли знаходяться в DOM в певний момент, чи всю цю нісенітницю, ми можемо просто буквально питати: якого кольору повинен бути цей піксель? Гарно. Добре, якщо ми можемо програмувати цей апарат для визначення кольору кожного пікселя екрана паралельно або якомога більше паралельно - ми, напевно, повинні використовувати це, якщо ми хочемо бути швидкими.
GPUI рендерить все вікно на GPU, так само, як і відеоігри.
Хоча GPUI був недавно оприлюднений у відкритий доступ, він вже використовується в одному опенсорс проєкті. Важливим недоліком є те, що GPUI працює лише на MacOS на момент написання цієї статті.
Використання Rust - ще одне помітне джерело продуктивності:
GPUI - це гібридний фреймворк для Rust із миттєвим і збереженим режимом, прискореним GPU для відображення інтерфейсу користувача. Це не тільки про те, щоб зробити максимально нативний інструмент. Я також вважаю, що Rust приносить інновації. Мова призначена для використання таким чином, щоб її можна було використати як у кількох потоках так і на низькому рівні.
Один з користувачів YCombinator описав Zed наступним чином:
Кілька приємних речей, на які варто звернути увагу:
Zed дійсно дивовижно адаптивний і змушує відчути, наскільки повільно працює все інше. У мене досить швидкі машини, тому йдеться не про різницю між 5 мс затримкою введення і 500 мс, але все одно це досить вражає. Visual Studio Code ніколи не здавався повільним на моєму Mac, допоки я не почав використовувати Zed.
Автори Zed, схоже, досить чутливі до зворотного зв'язку. […]
Є декілька недоліків, на які я сподіваюся, що вони скоро вирішать:
багатокористувацький режим/безпека співпраці мені не дуже зрозуміла. Ви увійшли через GitHub (немає інших варіантів ???), є "контакти" (певно, це імена користувачів GitHub?), і "канали" (де вони знаходяться? на серверах Zed?). Мені дійсно хотілося б знати, чи можна самостійно розмістити сервер чату та використовувати постачальника Oauth компанії замість GitHub. Якщо зміни коду, що передаються, проходять через сервери Zed, це може бути причиною видмови від використання Zed для компанії, для якої я працюю.
Код для самого Zed доступний під ліцензією copyleft (GPL для редактора, AGPL для компонентів сервера). GPUI розповсюджується під ліцензією Apache 2. Зацікавленим читачам з пристроєм MacOS можна завантажити Zed і випробувати його. Список функцій Zed доступний на веб-сайті Zed.