Pull to refresh

Авторы Electron признали его неудачным, написали новый фреймворк на Rust и представили новый редактор Zed

Reading time2 min
Views51K

Три бывших разработчика (Nathan Sobo, Antonio Scandurra и Max Brunsfeld) редактора Atom и Nate Butler из Facebook вчера представили свой новый редактор Zed над которым они работали последние несколько лет.


Основными идеями для редактора нового поколения они считают:


  • Максимально возможная скорость работы
  • Совместная работа в реальном времени
  • Средство текстовой коммуникации, встроенное в редактор
  • Эффективность разработчика за счет максимально полезного UI

Изначально разработчики попробовали написать ядро редактора на Rust и оставить Electron в качестве фронтенда. Этот проект назывался Xray, но GitHub отказались продолжать развитие проекта. Со временем, они поняли, что именно Electron является узким местом для достижения желаемой производительности и решили написать свой графический фреймворк, использующий GPU для рендеринга.


Он называется GPUI и, по словам авторов, вдохновлен проектом Mozilla Webrender.


Electron был создан в 2012 во время написания Atom и, для того времени, авторы считают это правильным выбором, так как их целью было создать кросс-платформенный редактор. К сожалению, ничего более подходящего, чем веб-технологии тогда не было. Разработка на С / C++ заняла бы слишком много времени и скорее всего закончилась бы неудачей проекта, к тому же, хотелось, что бы сторонние разработчики могли расширять редактор с помощью знакомых для многих JavaScript, HTML, и CSS.


Использование Rust позволило небольшой команде разработать продукт в срок, и они считают, что Zed не удалось бы создать с помощью других инструментов.


Редактор будет поддерживать Language Server Protocol, но также иметь мощную встроенную поддержку более 50 языков на основе Tree-Sitter (используется GitHub).


Проект находится в стадии бета-тестирования, записаться можно по ссылке.


Примечание:
Авторы считают именно Electron (а не Atom) неудачной технологией, причем именно в данный момент времени. В ретроспективе наоборот — именно благодаря ему им удалось создать Atom и достичь успеха.


In the end, however, we reached the conclusion that the editor we wanted to use couldn't be built in a single-threaded scripting language. It was time to start over. Now we're back from the wilderness, this time with the knowledge and tools we need to execute without compromise.

Atom — бесплатный текстовый редактор для Linux, macOS, Windows с поддержкой плагинов, написанных на JavaScript, и встраиваемых под управлением Git. Atom основан на Electron.


Electron (ранее известен как atom shell) — фреймворк, разработанный GitHub. Позволяет разрабатывать нативные графические приложения для операционных систем с помощью веб-технологий, комбинируя возможности Node.js для работы с back-end и библиотеки веб-рендеринга Chromium. Был разработан в 2012 для создания редактора Atom.


Rust — мультипарадигмальный компилируемый язык программирования общего назначения. Ключевые приоритеты языка: безопасность, скорость и параллелизм.

Tags:
Hubs:
Total votes 76: ↑69 and ↓7+62
Comments264

Articles