News for hackers. Stuff that matters.
Re:Why Discord Is Sticking with React Native by babaganoosh89 on Thursday July 26, 2018 @04:29PM (#17620719)
For comparison how many engineers does it take to make the native Android app?
Re:Why Discord Is Sticking with React Native by mrkcsc on Thursday July 26, 2018 @04:32PM (#17620752)
The core Android team is four engineers so about double in size.

This makes some sense since on Android we have to re-write most of the stores/business logic and not just UI. We have modeled the architecture similarly to things on the Desktop/iOS side so we still are able to move fast and stay lean as a team.

Re:Why Discord Is Sticking with React Native by Klathmon on Thursday July 26, 2018 @05:03PM (#17621109)
Can you expand/clarify on what you mean by "on Android we have to re-write most of the stores/business logic and not just UI"?
Re:Why Discord Is Sticking with React Native by mrkcsc on Thursday July 26, 2018 @05:10PM (#17621173)
The iOS application can safely pull data and perform actions from just about every Store (we don't use redux but the idea is the same https://redux.js.org/api-reference/store) and Action Handler (https://reactjs.org/docs/handling-events.html) that exists in the main Discord React application.

So if one is writing a feature that say allows one to ban a user - they don't need to write any of the banning logic or worry about fetching the user data/validating it against server roles permissions - if it exists on the main Discord app, it can be safely imported.

Other helpful examples are perhaps things like markdown parsing - iOS was able to just import and use the exact same system desktop uses to handle markdown and things like user/channel mentions, custom emoji, etc. On Android we had to write one ourselves: https://blog.discordapp.com/how-discord-renders-rich-message...

On Android since there is no code re-use everything had to be written from scratch.

Re:Why Discord Is Sticking with React Native by Klathmon on Thursday July 26, 2018 @05:15PM (#17621219)
Oh, I missed that the Android version isn't React Native.