Друкарня від WE.UA

Творці редактора коду Atom виклали в опенсорс Zed, нового високопродуктивного редактора на основі Rust

Переклад статті 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.

Статті про вітчизняний бізнес та цікавих людей:

  • Як побудована програма Meest China Academy

    Курс про товарний бізнес охоплює різні етапи роботи: від пошуку ідеї до перевірки товару, логістики та масштабування. Програма Meest China Academy містить 17 модулів, які послідовно розкривають ці теми без зведення всього навчання до однієї універсальної поради.

    Теми цього довгочиту:

    Meest
  • Які технології використані в Айфон 17

    Айфон 17 поєднує OLED-дисплей із частотою до 120 Гц, чип A19, дві камери Fusion 48 Мп і швидке заряджання через USB-C. У COMFY можна купити Айфон 17 з накопичувачем на 256 або 512 ГБ, вибравши конфігурацію відповідно до обсягу фото, відео та застосунків

    Теми цього довгочиту:

    Iphone 17
  • Як вибрати вживаний iPhone: коротке керівництво для розумної покупки

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

    Теми цього довгочиту:

    Iphone
  • Як подолати жіночу безплідність за допомогою донорських яйцеклітин

    Діагноз "безпліддя" рідко звучить як вирок одразу. Для багатьох жінок саме в цей момент вперше звучить словосполучення "донорські яйцеклітини" — і це часто не кінець шляху до материнства, а якраз новий, реальний шанс.

    Теми цього довгочиту:

    Донорство
  • Як заспокоїти зубний біль і чому самолікування може призвести до операції?

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

    Теми цього довгочиту:

    Стоматологія
Поділись своїми ідеями в новій публікації.
Ми чекаємо саме на твій довгочит!
Crypto blogger
Crypto blogger@crypto_blogger

45Довгочити
1.5KПерегляди
8Підписники
Підтримати
На Друкарні з 24 лютого 2024

Більше від автора

Це також може зацікавити:

  • Відпустити важче, ніж здається: чому підлітку варто дати право вибору

    Ми всі хочемо, щоб наші діти виросли самостійними. Ми повторюємо це собі й іншим батькам на кожному кутку: «головне — щоб він навчився приймати рішення сам», «хочу, щоб вона вміла обирати». А потім настає момент, коли дитина справді хоче обирати сама — і тут починаються проблеми.

    AI ! Публікація містить зображення, або фрагменти тексту, створені за допомогою штучного інтелекту

    Теми цього довгочиту:

    Підлітки
  • Чому __name__ == "__main__"?

    "name == "main"" - ключова фраза в Python. Визначає, чи є файл головним скриптом чи модулем. Це допомагає створювати зручні модулі, уникати ненавмисного виконання при імпорті та оптимізувати продуктивність.

    Теми цього довгочиту:

    Python

Коментарі (0)

Підтримайте автора першим.
Напишіть коментар!

Це також може зацікавити:

  • Відпустити важче, ніж здається: чому підлітку варто дати право вибору

    Ми всі хочемо, щоб наші діти виросли самостійними. Ми повторюємо це собі й іншим батькам на кожному кутку: «головне — щоб він навчився приймати рішення сам», «хочу, щоб вона вміла обирати». А потім настає момент, коли дитина справді хоче обирати сама — і тут починаються проблеми.

    AI ! Публікація містить зображення, або фрагменти тексту, створені за допомогою штучного інтелекту

    Теми цього довгочиту:

    Підлітки
  • Чому __name__ == "__main__"?

    "name == "main"" - ключова фраза в Python. Визначає, чи є файл головним скриптом чи модулем. Це допомагає створювати зручні модулі, уникати ненавмисного виконання при імпорті та оптимізувати продуктивність.

    Теми цього довгочиту:

    Python