5 ms·
This is extremely true. I think some people are "maximizers" - They will always do research to seek out the "best" for their given budget for even moderately p
by spamizbad 4y ago
This is extremely true.
I think some people are "maximizers" - They will always do research to seek out the "best" for their given budget for even moderately priced purchases. Engineers tend to fit this profile, so its easy for them to get psyched-out when trying to ship a product.
But people - and businesses - aren't always like this. They will buy what's available and seems to get the job done and seems like less of a hassle.
I worked at a company that at one point had an inferior product to our biggest competitor. We survived and they went out of business. Looking back, one big reason was the fact that we were able to fly under their radar until we had feature parity. We had no fear of shipping early... or shipping half-baked features. I kind of cringe now looking back. And when we finally eclipsed them (as those half-baked features slowly became fully-baked) we were still invisible to them - it wasn't until we started poaching some large accounts of theirs that we finally landed on their radar.
- mwcampbell 4y agoIt's worse if we routinely read highly critical message boards like this one. I'm currently developing a desktop app using Electron, but comments like this [1] make me wonder if I should scrap it and start over using purely Rust and/or C++. [1]: https://news.ycombinator.com/item?id=31350035 https://news.ycombinator.com/item?id=31350035
- spamizbad 4y agoI couldn't imagine building a desktop app with anything other than Electron these days UNLESS I had significant prior experience with some other toolchain.
- camgunz 4y agoAs Charm would say: "haters > /dev/null". Build what you want!
- quickthrower2 4y ago“talk to the hand” in pre computer speak I guess!
- samhw 4y agoHonestly, I say this as a big Rust user: ignore that shit. At the level of writing a desktop app, the truth is that you're already using a vast amount of CPU and memory, and eking out performance gains on that level is not going to make a vast difference. It's very likely that your Rust code would end up being littered with .clone() and the like, and likely less performant than well-written JS. Also, V8 is an incredible piece of technology, and is not that far off being competitive with Rust or C++. In some scenarios GC (by which I mean tracing) can outperform reference counting, or even Rust-style malloc+free. The event loop architecture is also very naturally fitted to user interfaces. Ignore the HN opinionmongers and build with whatever tools you can work with. You'll be much faster and more flexible, and you'll gain an understanding of what the bottlenecks are, which you can use to do targeted optimisation later on :)
- dceddia 4y ago100%! I had the same fears when I started rewriting a native Mac video editing app in Electron last year, that it would be a big hurdle and that people would hate it. I don’t think that’s actually true anymore outside of our limited tech bubble. I also don’t think it’s necessarily true that “Electron == slow”, especially if you can offload the heavy stuff to native code and use Electron just for the UI. I switched to using Tauri recently though, with the same sort of architecture - Svelte front end, Rust for the heavy stuff, and it’s working out nicely. It’s actually faster than the Mac app in most ways (and to be fair, Electron worked well too, but the installer size and startup time bugged me) If you don’t like the bloat of Electron and don’t mind dealing with 2 browser engines instead of 1 (Webview2 + Safari), Tauri is worth a look. Doubly so if you already know some Rust. They’re still a bit early days in some respects, so it depends on what Electron features you need.
- quickthrower2 4y agoIgnore that! I mean I do hope Electron one day adds performance tuning knobs, to disable some browser behaviours so you as a dev can speed up the electron app. But yeah use what you want. I would use it for desktop (I would probably just wrap a web app in it, 2 for 1)
- electroly 4y agoYou have to just ignore software moralizers like that; people who have goals other than solving problems for users in a cost effective way. They aren't common, they're just really loud. There's a reason Electron is incredibly popular and it's not because the developers are stupid or careless.
- zrobotics 4y agoI'm someone who tends to hate on electron, but definitely ignore those comments. If you have a large, experienced team who can easily crank out a native app, then there is potential for increased performance, but for solo projects and small teams the increased productivity alone is worth it. It's way better to have something available than a promised feature that may ship in 2 years. Plus, there are tons of slow buggy apps that are written in c++, that doesn't guarantee performant software. Electron doesn't need to be slow either, VSCode demonstrates that. Especially for a solo dev or small team, electron is for sure the right choice for a desktop app. Edit: the reason I tend to dislike electron is that apps don't often follow native UI trends, which is definitely a solvable problem.
- marcosdumay 4y agoNah, if you do really believe creating what is effectively a web app is faster than a proper desktop one, go ahead and create it. The only useful recommendation here is that, when you have some time, and don't have to rewrite an entire app, and if you expect to target the desktop again, you will gain from learning desktop frameworks. But absolutely not now while you are on the middle of something.
- Perseids 4y agoI find it really fascinating how a completely different subset of Hackernews users answers to you than are present on other threads. As literary no sibling is voicing a dissenting opinion I feel compelled to present it: Purely from the user perspective I hate electron, because of its RAM usage. The speed argument is a straw man: Of course V8 is fast. And yes, VSCode is a very good IDE. But the problem is real world electron application don't scale down. In my (of course biased) experience even simple electron applications use at least half a gigabyte of RAM, often a whole gigabyte. If you're on a beefy 32gb machine you'll never noticed the difference. But on the 8gb machines most people around me use, these electron apps really take up a huge fraction of RAM. And swapping is definitely noticeable slow, even on SSDs. The "think about the planet" argument comes to play, when I need to upgrade my PC because RAM is the bottleneck. And seriously what fraction of the population even has the knowledge to only upgrade the RAM and not buy a whole new PC. If I had to advise you personally, I might even tell you to choose electron. But be aware that you are using the "defect" option in the prisoner's dilemma: as everybody around you is choosing the societally harmful option of wasting resources you are at a competitive disadvantage to do the right thing. And also: electron has stolen mind share off of better solutions, so the documentation there is also not in the best place. And even worse, those people I reach with my argument, and thus put at a competitive disadvantage because they are going the extra mile to do the rights thing, might be those that I want to support the most, because they might be willing to the right (IMO) things at other topics I value as well, like the importance of privacy. So what is the conclusion? I have no idea how to fix our collective resource waste and it is hard to assign individual responsibility and I'm deeply dissatisfied by the whole situation.
- cercatrova 4y ago> I find it really fascinating how a completely different subset of Hackernews users answers to you than are present on other threads. As literary no sibling is voicing a dissenting opinion I suspect the difference is because they are responding from a developer's mindset, not a user's. For devs, Electron really is the easiest way to make desktop apps, especially if one already has web experience. Users who dislike Electron are generally seen as a vocal minority (how many people use Slack or VSCode vs non-Electron variants?). But then you have this vocal minority congregating on HN, which is especially focused on speed, and you get comments like the parent linked, dismissing Electron. The dev point of view is more prevalent in this thread because the linked article is all about how a dev failed to ship an app because they thought it wasn't good enough, which is exactly the problem Electron solves, even if it's worse for the user.
- ratww 4y ago"Desktop App" could be anything from a taskbar app with a couple screens, to a CRUD app, to something that plays video, to a screenshot app, to something that only deals with audio, to something that only really needs system dialogs, etc, etc... Electron works great for some of those use cases. The other stuff works great for other use cases. Anyone giving general advice on that is giving bad advice, period.
- judge2020 4y ago> They will buy what's available and seems to get the job done and seems like less of a hassle. Enter AWS and GCP. People wonder why businesses seem to burn 10s of millions of dollars by choosing AWS instead of self-hosting, but the personnel and time advantage of offloading to AWS is often worth it.
- wpietri 4y agoFor sure. And I'd add that although engineers tend to be more prone to behave as optimizers, we are all optimizers for some things and satisficers for others. If you're starting to sell a product, it's really valuable to spend some time thinking about areas in which you behave as a satisficer, a person who's just looking for "good enough". Maybe it's buying rice. Or apples. Or where you fill up your car. Or buying jeans or flatware or toilet paper. There will be some things where your goal is to devote as little time and attention to possible to make the choice. Where you just want it to work adequately for your purpose. The truth is most people are in satisficer mode for most purchases, if only because we don't have the time to really dig in on everything. Thinking about one's product from a satisficer perspective can be really helpful, as they tend to value things differently. They can also be much easier to sell to and are more likely to stay loyal as long as things are going smoothly.