I’ve had a great experience using VSCode on occasion (I’m a JetBrains guy), and loads of other people, including some great programmers, rave about it. I’ve similarly had a fairly solid experience with Spotify desktop across different platforms.
I’m asking genuinely, is it such a subpar choice when there’s such proven success cases?
did it though? It might perform "good enough", but its still an order of magnitude worse than native solutions. the only reason to ever use Electron or similar is for rapid prototyping. once you have an MVP, you should immediately work towards a native solution. people seem to forget that part, out of laziness or ignorance.
Feature set and extensibility have clearly won here. At a certain performance point, it’s good enough and what you can do with it matters more.
I’m not sure you could achieve the sane flexibility in a more native, “bare-metal”, development environment. Possible, yes, but it would probably not be as successful as developing for it would be somewhat harder.
Vscode is “fast” enough. Its extensibility and its ecosystem are what makes it so popular and successful.
I’m not sure you can build the same without trade offs.
Also, it seems presumptuous to prescribe what appropriate solutions are for all people of all time. There are many, many places where an electronjs would be just fine.
And many where it wouldn't. It seems more presumptuous to me to demand that users have machines with that much memory and CPU to spare.
All of the chat apps that worked towards a native solution have died. Most of the other apps too, but all of the chat apps. Going native, despite being satisfying for the user, carries a maximum cost in terms of internal organization (several departments in the company for each target OS), HR (developers that can’t be recycled in other departments), marketing: “Wait, does HipChat MacOS has the same features as HipChat-on-the-mac-but-in-browser? Wait it doesn’t matter, HipChat is dead.”
I’ve never understood the hate Electron gets on HN, when it powers so many great products that users love.
You should try this in slack again...
Still better than Teams though. (Which is also in Electron.)
Also, still the app is almost worthless on my Android phone. Too slow, despite large improvement.
Electron is also how Microsoft essentially broke Skype (on purpose?) IMO.
For me Electron just stands for lazy companies/devs who are not interested in producing something elegant that runs as fast as possible.
If you drive with a empty truck with trailer it uses more oil than a car.
Chrome is not designed for this. There are other engines like https://sciter.com that are work for single apps, but probably scale bad if they are misused as a browser.
You're on a forum full of software developers, I think you can give us credit for knowing exactly how much resources the apps we use take up.
Personally, I frequently run VSCode, Slack, Zoom, Chrome, and occasionally Loom at the same time on a machine with 8gb ram and it's fine. Until one of these new platforms like Tauri or Socket.sh catches up, the trade off for developers being able to develop once and run on multiple platforms is entirely understandable and clearly acceptable to most people.
I have had Slack fill my home directory with logs once , long time ago. But that wasn't an electron problem.
- Not everyone wants to learn Rust but want to use the same language throughout their stack
- Tauri is still new which means it is not considered "tried and true"
- More developers know how to use Electron or at least know enough Javascript to learn which means larger talent pool = cheaper and easier to replace developers if need be
- Last I checked (was not recently I admit), the build time for Tauri was abysmal
- I would argue very few gives a damn about smaller build sizes unless the problem space actually requires size to matter
In short, Electron is established tech and "good enough" while Tauri is the new kid in the block. It takes time for it to carve a space for itself. With all the Rust hype going on, I don't doubt it will happen.
Fun fact: I actually embarked on a project recently where my plan is to build the app in Electron first and once I had a change to learn Rust, I'll probably try to migrate the Electron app to something like Tauri.
Tauri uses the OS's native webview which means that there can be differences in how the DOM is displayed. It's not the same browser engine being used for each platform.
Maybe try https://github.com/socketsupply/socket
> try https://github.com/socketsupply/socket
Points to an even less popular niche.
If you want popularity, there is already Electron.
If you already know JavaScript (lots of people do) & are trying to quickly get your App up & running, then it can make sense to just go with Electron rather than trying to learn a new language like Rust.
Both reasons were why I picked electron to build https://nocommandline.com
Yes, Electron Apps are big but in the grand scheme of things, they might not matter so much for now (laptops are being built with bigger memories, Apps are being improved to manage memory).
I'm not sure many people are refusing electron apps due to the size, but they would definitely reject a buggy app that didn't work on their platform.
I believe the reason why people look to still be using Electron is simillar to why people use React. Sure it's a bit bloated, a bit hard to master, it has some design flaws, but it's well adopted, and hundreds of successful companies use it in production. Meanwhile Tauri is rust the new kid in the block.
Not really seeing an advantage other than a smaller binary.
Electron bundles the browser therefore the size.