Грубо говоря, есть два разных Дискорда — один для мобильных платформ, другой для веба и десктопа. Discord для мобильных это приложение на основе
React Native, то есть элементы интерфейса там нативные, а логика управления ими работает на JS. Discord для веба это веб-приложение, которое адаптировано под десктоп с помощью
Electron. Такое решение позволяет в некоторой мере использовать единую кодовую базу под разные платформы.
В итоге под каждую платформу (web, ios, android, windows и т.д.) делается своя сборка Дискорда, но часть кода при этом переиспользуется. Также переиспользуется внешний вид (цвета, иконки и т.п.). Таким образом сборки под разные платформы внешне выглядят идентично. При этом часть кода (в основном внутренняя "кухня", не интерфейс) под каждую платформу пишется своя.
Это если говорить про клиент — ту программу, которую ставит себе пользователь. Есть ещё серверная часть — та, с которой соединяется клиент по интернету. Одна для всех платформ используется одна и та же.