Ditching a native framework for something JS-powered and running everything thru a cloud server sounds like technical decisions willfully made by engineering leaders.
VSC is the least bad Electron app I’ve ever used, but (heavily subjective) it pales in comparison to Neovim + Tmux. It’s not even close.
Related: I was looking at WinRAR’s site last week after reminiscing about it with coworkers, and found that a. They haven’t really updated their UI since I last used it a decade+ ago b. The download is still 4 MB. THAT is why native is superior – if you know what you’re doing, you can get incredible performance with absurdly low filesizes.
Because I need the space for videos and games and that's why I have large storage. Not for tiny applications wasting 300 MBs because someone thought that an electron app would reduce engineering cost.
Aside from the fact that it shouldn’t take hundreds of MB to launch the simplest of apps, and that it’s incredibly wasteful on its face? Memory. Where do you think those bytes end up when you launch it?
I use VSC because some mature plugins only exist for VSCode, like Rust, and Microsoft pushing it for stuff like PowerShell, killing their ISE IDE.
And it only performs that well, because all critical code is written in a mix of C++ and Rust running in external processes, and they have ported text rendering into WebGL.
It's an interesting example, because the fact that it is js makes it trivial for most developers to make modifications to it by opening the Chrome DevTools. Even if you're not a js dev, you probably occasionally write some js.
I'm arguing that it's successful because any of its users can trivially hack something on top of it and distribute it, including things the original devs never intended or think is a good idea. In that way, its success mirrors Excel.
> Probably egged on by people telling them they had a much larger hiring pool if they went with JS (which is almost certainly true).
There are many VC funded companies here. How many of you felt pressured to pick a hireable language like JS/Python because if not you couldn't deploy your investor's capital? Like, if you had presented a plan of "I'm going to need 4 graybeards that know Haskell", you'd get denied for not thinking big enough.
Interestingly, Mercury [0] is VC-backed, and their backend is entirely Haskell. In an interview [1], their CTO mentions that it’s actually quite easy to hire for Haskell, as the demand is much lower than the supply, and, as he slyly puts it, “interest in Haskell acts as a decent proxy for baseline developer quality.”
So while the pool is larger for JS/TS and Python, that may not always be beneficial.
1Pass is a perfect example for my argument – v7 was amazing, and native. v8 has weird bugs, like refusing to open despite saying it’s working fine. As to memory, while I forget the consumption of v7, v8 looks to consume somewhere around 130 MB for the app, plus that again for a renderer helper or two, and then the browser extensions.
100+ MB for what is essentially an encrypted local DB with cloud sync and a GUI seems absurd.
That's an example of something that can be done well or done poorly.
AirBnB, UberEats and Facebook are all built with React Native and they have excellent performance.
Using a JS framework for your UI doesn't inherently mean it will suck. It can be done well.
If you expect it to be half as much work, you'll be disappointed.
If you expect it to be a tradeoff that makes some things easier and some things harder, and you're willing to invest in making it excellent, then it can be a very reasonable choice.
At least on iOS, the Facebook app is not and has never been built with RN. Some features were, but none of the core ones like News Feed. The biggest example of an RN-based feature is Marketplace.
Just once, I’d like to see a leader actively refuse these kinds of arguments when the process they have is objectively better.
Never once have I ever experienced an Electron-ified version of an app and thought, “oh yeah, this is better.”