Три бывших разработчика (Nathan Sobo, Antonio Scandurra и Max Brunsfeld) редактора Atom и Nate Butler из Facebook вчера представили свой новый редактор Zed над которым они работали последние несколько лет.
Основными идеями для редактора нового поколения они считают:
- Максимально возможная скорость работы
- Совместная работа в реальном времени
- Средство текстовой коммуникации, встроенное в редактор
- Эффективность разработчика за счет максимально полезного UI
Изначально разработчики попробовали написать ядро редактора на Rust и оставить Electron в качестве фронтенда. Этот проект назывался Xray, но GitHub отказались продолжать развитие проекта. Со временем, они поняли, что именно Electron является бутылочным горлышком для достижения желаемой производительности и решили написать свой графический фреймворк, использующий GPU для рендеринга.
Он называется GPUI и, по словам авторов, вдохновлен проектом Mozilla Webrender.
Electron был создан в 2012 и, для того времени, авторы считают это правильным выбором, так как их целью было создать кросс-платформенный редактор. К сожалению, ничего более подходящего, чем веб-технологии тогда не было. Разработка на С / 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 — мультипарадигмальный компилируемый язык программирования общего назначения. Ключевые приоритеты языка: безопасность, скорость и параллелизм.
Автор: Александр