Убил Electron: как написал свой Discord на чистом Rust

Сколько оперативной памяти съедает у вас Discord во время вечернего созвона с друзьями? Если вы сидите на Linux, официальное приложение на базе Electron частенько превращается в ненасытного монстра, который сжирает сотни мегабайт ОЗУ и садит батарею ноутбука просто за то, что вы открыли чат. Мне надоело терпеть эти тормоза, и я решил сделать то, на что многие махнули рукой: разобрать закрытый протокол Discord по винтикам и написать свой собственный, молниеносный нативный клиент на Rust с открытым исходным кодом. Проект получил название Chord, и сегодня я делюсь нашей первой открытой альфа-версией. Почему Electron всех задолбал Официальный Discord — это скрытый браузер Google Chrome под капотом. Для простого мессенджера это колоссально избыточно: мы получаем огромный расход памяти, долгий старт и микрофризы там, где их быть не должно. Я поставил перед собой амбициозную цель: создать клиент, который запускается мгновенно, работает напрямую с видеокартой (через движок GPUI/WGPU, как сверхбыстрый редактор Zed) и потребляет минимум ресурсов. Никакого DOM и лишних «обвязок» — только чистый системный код. Что удалось сделать: цифры и факты Путь реверс-инженерии и нативной разработки был непростым, но результаты говорят сами за себя: Скорость и память: Интерфейс выдает честные 120 FPS и тратит менее 60 МБ RAM — это примерно в 25 раз меньше, чем у официального клиента. Шифрование звонков: Мы внедрили сложный криптографический протокол DAVE (RFC 9420) для звонков на чистом Rust без закрытых бинарных модулей. Стриминг на Linux: Вечная боль линуксоидов — демонстрация экрана со звуком на Wayland. Мы победили ее: аппаратный захват через PipeWire и DMA-BUF выдает стабильные 1080p/60fps без фризов системы. Надежность кода: Каждая строчка защищена 1500+ автотестами (TDD) и мутационным тестированием, поэтому баги отлавливаются еще до сборки. Ложка дегтя: что пока в разработке Мы честно предупреждаем: это Developer Alpha, а не готовая замена для повседневного использования. Сейчас в проекте есть белые пятна: Автодополнение @тегов участников пока приходится вводить вручную. Вкладка личных сообщений (ДМ) временно скрыта — движок готов, но интерфейс списков еще на верстке. На огромных серверах (500+ каналов) глубокие ветки подгружаются с небольшой задержкой. Зачем я это выложил и кого ищу Довести проект до идеала в одиночку (даже с помощью ИИ-агентов) сложно. Нам нужен настоящий инженерный краудсорсинг. Если вы Rust-разработчик, системный девелопер, любящий возиться с Tokio, WebRTC и аудиокодеками, или реверс-инженер — добро пожаловать в проект! Вы получите крутой опенсорсный кейс в портфолио и сможете собрать свой идеальный легковесный мессенджер. 📦 Репозиторий проекта на GitHub 🚀 Релиз v0.1.0-alpha Вопрос к сообществу Как вы считаете, есть ли сегодня реальное будущее у нативных клиентов на Rust и WGPU против засилья Electron? Или веб-технологии победили окончательно просто потому, что разрабатывать на них дешевле и быстрее? Поделитесь своим мнением в комментариях и заглядывайте в репозиторий! #Rust #OpenSource #Discord #Linux #ReverseEngineering #Wayland #WebRTC #GPUI #Программирование #ПетПроект #Разработка #ИТ #Алгоритмы #Оптимизация #АрхитектураПО

Убил Electron: как  написал свой Discord на чистом Rust | Сетка — социальная сеть от hh.ru
Убил Electron: как  написал свой Discord на чистом Rust | Сетка — социальная сеть от hh.ru Убил Electron: как  написал свой Discord на чистом Rust | Сетка — социальная сеть от hh.ru