When a rewrite isn’t: rebuilding Slack on the desktop ↦
Fascinating look behind the scenes at both the process of rewriting a massively used application and the particular architectural choices made along the way. The approach used was at once incremental and all-encompassing, rewriting a piece at a time into a gradually growing “modern” section of the application that utilized React and Redux. And the results? 50% reduction of memory use and 33% improvement in load time… not too shabby.
Sign in or Join to comment or subscribe
Jerod co-hosts The Changelog, crashes JS Party, and takes out the trash (his old code) once in awhile.
When I first saw this headline I was hoping the rewrite would be in platform-native technologies, but it looks like they managed to make major performance advantages while sticking with Electron.
Is there an easy way to know if you’re running the new code or not? (Please don’t say to check Activity Monitor for memory use 😆)
Good question, I don’t know. I do see that their latest release was a major version (4.0.0) and is dated 7 days before this article was written. The release notes don’t make it seem like a massive rewrite though, unless this is snark: “Slack is now a little faster, thanks to a few small but important changes.”