디스코드, 데스크톱·모바일 앱 러스트 네이티브로 전면 재작성
디스코드 CTO 스타니슬라프 비슈네프스키가 11월 5일 GPUI 기반 러스트 네이티브 클라이언트 계획을 밝혔다. 곧 사용자 테스트를 시작한다.
디스코드의 공동 창업자 겸 CTO 스타니슬라프 비슈네프스키가 11월 5일, 디스코드의 데스크톱과 모바일 클라이언트를 러스트 기반 네이티브 애플리케이션으로 전면 재작성하겠다고 밝혔다. 새 클라이언트는 곧 사용자 테스트 단계에 들어갈 예정이다.
새 클라이언트에 쓰이는 GUI 프레임워크는 GPUI다. 브라우저 엔진 없이 GPU로 직접 그리는 러스트 GUI 프레임워크다. 모바일에서는 네이티브 UI를 유지하면서 러스트를 통해 데스크톱 버전과 코드를 공유한다.
비슈네프스키가 공개한 스크린샷에는 디스코드가 약 290MB의 메모리에서 실행되는 모습이 담겼다. 현재 디스코드는 평상시 500MB에서 1GB에 조금 못 미치는 메모리를 쓰는 경우가 있다.
일렉트론 대신 러스트
현재 데스크톱 클라이언트는 일렉트론을 사용하고 있으며, 이번 재작성으로 일렉트론은 빠진다. 일렉트론은 2010년대 후반 크로스플랫폼 데스크톱 앱에 널리 퍼졌지만 앱 크기와 메모리 사용량이 크다는 지적을 받아왔다. Visual Studio Code와 Slack은 여전히 일렉트론을 쓴다. 모바일 앱은 현재 iOS와 안드로이드 모두 React Native로 만들어져 있다.
비슈네프스키에 따르면 디스코드는 2018년 무렵부터 러스트를 도입하기 시작했고, 인프라와 음성 기술, 클라이언트 일부는 이미 러스트로 작성돼 있다. 일부 사용자는 OS 웹뷰를 쓰는 러스트 프레임워크 Tauri로 옮기라고 요청했지만, 그는 11월 3일 X에서 Tauri를 채택하지 않겠다고 답하며 크로미엄에서 벗어날 뜻을 시사했고, 커뮤니티 일각에서는 GPUI가 쓰일 것이라고 예상했다.
한눈에 보기
디스코드 새 클라이언트는 언제 쓸 수 있나?
정확한 출시일은 나오지 않았다. 비슈네프스키는 새 클라이언트를 곧 사용자 테스트에 투입하겠다고 밝혔다.
디스코드는 어떤 GUI 프레임워크를 쓰나?
브라우저 엔진 없이 GPU로 직접 그리는 러스트 GUI 프레임워크 GPUI를 사용한다. 기존 데스크톱 클라이언트가 쓰던 일렉트론은 빠진다.
모바일 앱도 러스트로 바뀌나?
그렇다. 모바일에서는 네이티브 UI를 유지하면서 러스트를 통해 데스크톱 버전과 코드를 공유한다.