4 ms·
Hmm, looks like Discord backend is built on C++/Elixir/Erlang[1], and Slack is built on a scripting language. I think people underestimate the difference in sca
by brobdingnagians 8y ago
Hmm, looks like Discord backend is built on C++/Elixir/Erlang[1], and Slack is built on a scripting language. I think people underestimate the difference in scalability and UX with something like this that handles lots of small packets.
[1] https://www.reddit.com/r/discordapp/comments/3q62hw/on_what_technology_is_built_discord/ https://www.reddit.com/r/discordapp/comments/3q62hw/on_what_...
- aidos 8y agoMany of the complaints regarding slack are about the interface, not the backend architecture.
- fb03 8y agoI am sorry, I was actually talking about the Front UI, and both use JS (and Electron on the desktop) iirc. Slack gets choppy (almost down to typing lag!) pretty quickly on a middle-tier Android phone and with Discord, it keeps snappy no matter what. I'd say that Discord is the actual Slack killer today.
- lwansbrough 8y agoDiscord is bigger than Slack, so I’d say that may already be true. The secret to their app’s speed is using native components inside their React Native app. The chat UI (messages and input) for instance (IIRC) is native.
- semi-extrinsic 8y ago""" Now, local news: In what's being hailed as "the Xzibit pattern", SV app devs seeking to lower UI latency towards the level of a late-90's IRC client have made a discovery that has the Valley buzzing. As one dev we talked to explained, "we started putting native in your native, bro, and it's awesome! I can type on my phone smooth, it's like the app's running on my 16-core workstation!" Other devs have been overheard in coffee shops explaining software written in C++ as "native all the way down". More on this developing story when we return, right after this commercial break. """
- notamy 8y agoiirc the Android app is actually native (not React Native), which may explain it. See https://blog.discordapp.com/why-discord-is-sticking-with-react-native-ccc34be0d427 https://blog.discordapp.com/why-discord-is-sticking-with-rea...
- qmarchi 8y agoOn the desktop (Windows, macOS, and Linux) they use Electron. For Android it's written in Java (Native), and for iOS it's written in React Native.
- robotmlg 8y agoSlack's messaging backend is Java (at least it was in 2014): https://twitter.com/SlackHQ/status/426469205005705217 https://twitter.com/SlackHQ/status/426469205005705217
- sbilstein 8y agoThe pubsub for live connections and socket events is Java but everything else is PHP. The Java mostly tries to federate stuff from PHP to clients and doesn't write or read directly to the primary store. I used to work at slack.