You can make more precise decisions when you have complete control over the environment. When you don't, you have to make trade-offs. In this case, universality (electron and javascript) for higher RAM usage. It doesn't seem to have slowed Discord's adoption rate.
Even if they built their desktops apps in native code and UI, they'd have to build a JS website in parallel.
This has nothing to do wih the fact that Discord is a bloated, slow monstrosity.
> Even if they built their desktops apps in native code and UI, they'd have to build a JS website in parallel.
Oh no. The impossibility of building a site that displays text and images
Their current client stack is: Web: React Desktop: React + Electron Mobile: React Native + Native
Their commitment to React on so many platforms makes it easy to accumulate bloat. Their need to support lower-level features means they can't avoid native code altogether.
I wonder why they stick with it.
My guess is they don't want to add more hires just for this problem
Their 2018 commitment to RN: https://discord.com/blog/why-discord-is-sticking-with-react-...
Their 2025 complications with it: https://discord.com/blog/supercharging-discord-mobile-our-jo...
Front-end performance is not a hard requirement for most end users, unless the app is actually unusable. Discord isn’t that bad compared to some software I’ve used. You have to get beach balls on startup and complete UI freezes for people to really care. If it’s good enough for most people, shaving some MB off the memory usage or small number of ms off latency isn’t important to the business