You're joking, right?
Have you not noticed any of the pain that anybody trying to make cross-platform app goes through, and hence the huge popularity of cross-platform frameworks?
You're joking, right?
Have you not noticed any of the pain that anybody trying to make cross-platform app goes through, and hence the huge popularity of cross-platform frameworks?
That's the tradeoff, and I wish companies would be more honest about it. But a company with as many engineers as Slack doesn't really have an excuse beyond "we want to spend less".
Things are usually hard not because of some lofty technical goals, but because the sum of all the papercuts is hard. It's just developer hubris to look at the trade-offs someone makes and say (on HN of course) "meh, these other trade-offs aren't even that hard, c'mon!"
How many companies still maintain native iOS and Android apps? Lots. Qt even feels (mostly) native on GNOME desktops these days, if you can't afford to develop a 100% native app for Win, Linux and Mac then at least use a real toolkit that gets you 80% of the way there whereas Electron gets you 0%.
At the end of the day Slack has to optimize for growth and there's a huge list of features that will bring more ROI than native clients which will require trebling the size of the code base.
[1]: https://matrix.org/docs/projects/client/quaternion.html
If you're going to do something do it right or don't do it at all.
For example, the desktop app will show notification count in the dock.
Imagine if all of your apps had a browser version and you could always pick between a tabbed version vs standalone version. To use the tabbed version of everything would be like using an AOL app back in those days where you alt-tab to the AOL virtual window and then find the app you want within it while wishing you could just use the OS' window manager system.
Feel free to articulate your issues with such apps. So far, no one has really done that in the various comments online disparaging Electron.
What? Every time Electron comes up, people bemoan its battery and RAM usage.
There are a couple of cases where you can avoid that in the text editor and source control space: Sublime Text is cross-platform and native, and so is SourceTree (although it's become quite buggy). So just avoid GitKraken, GitHub Desktop, VS Code, Atom.
I made no such claim. I was just providing a legitimate business reason for going the Electron route.