CTO Discord подтвердил перенос десктопного и мобильного приложений на Rust
Discord планирует полностью переписать свои клиентские приложения на языке программирования Rust. Об этом сообщил сооснователь и технический директор (CTO) компании Станислав Вишневский, подтвердив отказ от использования Electron на десктопе и React Native на мобильных устройствах.
Согласно заявлению Вишневского в социальной сети X, целью разработки является создание единого клиентского приложения. Новая версия мобильного приложения сохранит нативный интерфейс, но будет использовать общий с десктопной версией код на Rust. Компания планирует начать тестирование нового клиента с пользователями в ближайшее время, однако точные сроки релиза пока не называются.
Для создания интерфейса Discord выбрал фреймворк GPUI, опровергнув предположения о переходе на Tauri. На скриншоте из диспетчера задач Windows был зафиксирован процесс под названием Discord Phoenix, потребляющий около 290,2 МБ оперативной памяти. Вишневский пояснил, что на изображении запущены сразу два аккаунта, что станет поддерживаемой функцией и в новом приложении. По словам CTO, визуально и функционально клиент останется идентичным текущему, а системный webview будет использоваться только для стороннего контента, такого как YouTube или Activities. При этом ожидается улучшение производительности.
Переход на Rust — это долгосрочная стратегия компании. Discord использует этот язык с 2018 года: на нем работает значительная часть инфраструктуры, голосовые технологии и элементы текущего клиента. Ранее компания уже переносила на Rust такие сервисы, как Read States, чтобы избежать задержек (latency spikes), а также использовала его в игровом SDK и для обработки видео в функции Go Live.
Что касается мобильных платформ, ранее Discord использовал React Native на iOS, а на Android перешел на этот фреймворк пару лет назад, чтобы избежать отставания в функционале от основной версии.